Compare commits

...

54 Commits

Author SHA1 Message Date
speakeasybot
8a2d3e04ab ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.6 2024-11-14 00:11:57 +00:00
speakeasybot
6c8a73ae84 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.6 2024-11-11 20:30:45 +00:00
speakeasybot
c839d9f6c7 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.406.0 2024-10-03 12:29:09 +00:00
speakeasybot
77b0ef9507 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.406.0 2024-10-03 00:11:46 +00:00
speakeasybot
1cfbd17f28 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.6 2024-10-02 02:30:07 +00:00
speakeasybot
2492807c65 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.6 2024-10-01 15:37:08 +00:00
speakeasybot
ead0a8773c ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.6 2024-10-01 00:12:18 +00:00
speakeasybot
e254f82e06 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.398.0 2024-09-17 00:10:26 +00:00
Luke Hagar
a4369c999a Update workflow.yaml 2024-09-16 13:14:07 -05:00
speakeasybot
c50b85f29a ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.397.2 2024-09-16 18:01:31 +00:00
Luke Hagar
496ebda695 Update workflow.yaml 2024-09-16 12:57:23 -05:00
speakeasybot
d436fc3452 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.396.9 2024-09-16 00:11:44 +00:00
speakeasybot
99cdf6effe ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.396.9 2024-09-15 00:12:31 +00:00
speakeasybot
fa2ba82f62 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.396.9 2024-09-14 00:10:58 +00:00
speakeasybot
fd8095a8df ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.396.6 2024-09-13 00:11:18 +00:00
speakeasybot
9911164ab0 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.396.2 2024-09-12 00:11:23 +00:00
speakeasybot
ffedf47cad ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.395.1 2024-09-11 00:11:04 +00:00
speakeasybot
39d3a40524 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.394.0 2024-09-10 00:11:07 +00:00
speakeasybot
8dc802ca50 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.392.1 2024-09-09 00:13:27 +00:00
speakeasybot
5465f1e74c ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.392.1 2024-09-08 17:41:10 +00:00
Luke Hagar
2d100b8e75 Merge branch 'main' of https://github.com/LukeHagar/plexjs 2024-09-08 03:27:27 +00:00
Luke Hagar
0533836427 altered JSR publishing flow 2024-09-08 03:27:03 +00:00
speakeasybot
f0b08b9bd9 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.392.1 2024-09-08 03:24:22 +00:00
Luke Hagar
244adab882 Normalized imports, regenerated 2024-09-08 03:06:14 +00:00
speakeasybot
4d8ee6c199 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.390.7 2024-09-06 00:03:49 +00:00
Luke Hagar
4fe1356250 Update speakeasy_sdk_generation.yml 2024-08-30 20:10:43 -05:00
speakeasybot
454b20d045 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.377.1 2024-08-22 05:18:31 +00:00
speakeasybot
8c39ddc475 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.323.0 2024-07-01 16:25:36 +00:00
speakeasybot
dca338d40f ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.323.0 2024-07-01 15:45:04 +00:00
speakeasy-bot
06e59965bd Update push code samples in generation action 2024-07-01 15:42:29 +00:00
speakeasy-bot
0be9307f80 Create speakeasy tagging action workflow 2024-07-01 15:42:28 +00:00
speakeasy-bot
25dcf36b37 Add code samples registry configuration 2024-07-01 15:42:27 +00:00
speakeasybot
63f13fd266 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.322.3 2024-07-01 00:01:40 +00:00
speakeasybot
f21eae30b1 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.322.3 2024-06-30 00:01:32 +00:00
speakeasybot
eb75f8d060 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.322.3 2024-06-29 00:01:30 +00:00
speakeasybot
5e8618aa6f ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.322.1 2024-06-28 00:01:31 +00:00
speakeasybot
335ccf134f ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.321.0 2024-06-27 00:01:38 +00:00
speakeasybot
9bcd82719e ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.318.0 2024-06-26 00:04:01 +00:00
speakeasybot
58005d93e9 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.315.2 2024-06-25 00:01:33 +00:00
speakeasybot
a366d87e75 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.314.2 2024-06-24 00:01:35 +00:00
speakeasybot
d1f30a9f2c ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.314.2 2024-06-23 00:01:39 +00:00
speakeasybot
087db87584 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.314.2 2024-06-22 00:02:56 +00:00
speakeasybot
7406efba26 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.308.1 2024-06-15 00:01:23 +00:00
speakeasybot
b48aa356a7 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.308.1 2024-06-14 16:24:40 +00:00
Luke Hagar
f918b86b8c Update gen.yaml 2024-06-14 11:02:27 -05:00
speakeasybot
d241fca800 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.307.2 2024-06-14 00:02:53 +00:00
speakeasybot
dafab7ed9d ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.306.0 2024-06-13 00:01:43 +00:00
speakeasybot
18817ccbc0 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.305.0 2024-06-12 00:30:39 +00:00
speakeasybot
241fc555f6 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.300.1 2024-06-10 00:30:44 +00:00
speakeasybot
60385aec49 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.300.1 2024-06-09 00:33:06 +00:00
speakeasybot
502660742d ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.300.1 2024-06-08 00:29:35 +00:00
speakeasybot
796edd7174 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.300.1 2024-06-07 00:30:12 +00:00
speakeasybot
738f7c347d ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.300.0 2024-06-06 00:30:16 +00:00
speakeasybot
5a3c016a7f ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.299.7 2024-06-05 00:28:41 +00:00
1480 changed files with 107244 additions and 38970 deletions

View File

@@ -7,9 +7,8 @@ permissions:
on: on:
workflow_dispatch: workflow_dispatch:
push: registry_package:
branches: types: [published]
- main
jobs: jobs:
publish: publish:

View File

@@ -4,23 +4,25 @@ permissions:
contents: write contents: write
pull-requests: write pull-requests: write
statuses: write statuses: write
"on":
on:
workflow_dispatch: workflow_dispatch:
inputs: inputs:
force: force:
description: Force generation of SDKs description: Force generation of SDKs
type: boolean type: boolean
default: false default: false
set_version:
description: optionally set a specific SDK version
type: string
schedule: schedule:
- cron: 0 0 * * * - cron: 0 0 * * *
jobs: jobs:
generate: generate:
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15 uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
with: with:
force: ${{ github.event.inputs.force }} force: ${{ github.event.inputs.force }}
mode: direct mode: direct
set_version: ${{ github.event.inputs.set_version }}
speakeasy_version: latest speakeasy_version: latest
secrets: secrets:
github_access_token: ${{ secrets.GITHUB_TOKEN }} github_access_token: ${{ secrets.GITHUB_TOKEN }}

9
.gitignore vendored
View File

@@ -1,3 +1,12 @@
/sdk/models/errors
/sdk/types
/__tests__
/funcs
/core.*
/esm
/dist
/.tshy
/.tshy-*
/hooks /hooks
/models /models
/models/errors /models/errors

View File

@@ -5,3 +5,6 @@
/.eslintrc.js /.eslintrc.js
/cjs /cjs
/.tshy
/.tshy-*
/__tests__

File diff suppressed because one or more lines are too long

View File

@@ -6,13 +6,13 @@ generation:
optionalPropertyRendering: withExample optionalPropertyRendering: withExample
useClassNamesForArrayFields: true useClassNamesForArrayFields: true
fixes: fixes:
nameResolutionDec2023: false nameResolutionDec2023: true
parameterOrderingFeb2024: false parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: false requestResponseComponentNamesFeb2024: true
auth: auth:
oAuth2ClientCredentialsEnabled: false oAuth2ClientCredentialsEnabled: true
typescript: typescript:
version: 0.16.3 version: 0.30.0
additionalDependencies: additionalDependencies:
dependencies: {} dependencies: {}
devDependencies: {} devDependencies: {}
@@ -20,20 +20,24 @@ typescript:
additionalPackageJSON: {} additionalPackageJSON: {}
author: LukeHagar author: LukeHagar
clientServerStatusCodesAsErrors: true clientServerStatusCodesAsErrors: true
defaultErrorName: SDKError
enumFormat: enum enumFormat: enum
flattenGlobalSecurity: true flattenGlobalSecurity: true
flatteningOrder: body-first
imports: imports:
option: openapi option: openapi
paths: paths:
callbacks: models/callbacks callbacks: sdk/models/callbacks
errors: models/errors errors: sdk/models/errors
operations: models/operations operations: sdk/models/operations
shared: models/components shared: sdk/models/shared
webhooks: models/webhooks webhooks: sdk/models/webhooks
inputModelSuffix: input inputModelSuffix: input
maxMethodParams: 4 maxMethodParams: 4
methodArguments: require-security-and-request methodArguments: require-security-and-request
moduleFormat: commonjs
outputModelSuffix: output outputModelSuffix: output
packageName: '@lukehagar/plexjs' packageName: '@lukehagar/plexjs'
responseFormat: envelope responseFormat: envelope
templateVersion: v2 templateVersion: v2
useIndexModules: true

View File

@@ -1,34 +1,42 @@
speakeasyVersion: 1.299.6 speakeasyVersion: 1.405.6
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
sourceRevisionDigest: sha256:cb2ebcfddd8b90fb13065bf5b30f94be03c16a369a0ae36dd0d86be42ac9515d sourceRevisionDigest: sha256:1b8840d540c66b58d1009ec2581fb18464158ec9aa00464eac05ba737f31207e
sourceBlobDigest: sha256:2566064a45c5301a8ec12f4fc2001348306136c0c8d5b010b7a74c17c0cf4bba sourceBlobDigest: sha256:f7e2709f52370dff16c1851a7a4e44a89f2e978e9cae335bffc10625950b3bd9
tags:
- latest
- main
plexapi:
sourceNamespace: plexapi
sourceRevisionDigest: sha256:37c6bfb15f4154eb89b112465107f20757411f22bd1cc7d0a04335df7127fcb4
sourceBlobDigest: sha256:290473ebc909cada80ff428c685b897f4621cf121397e1417355e06d334e7206
tags: tags:
- latest - latest
- main - main
targets: targets:
plexjs: plexjs:
source: my-source source: plexapi
sourceNamespace: my-source sourceNamespace: plexapi
sourceRevisionDigest: sha256:cb2ebcfddd8b90fb13065bf5b30f94be03c16a369a0ae36dd0d86be42ac9515d sourceRevisionDigest: sha256:37c6bfb15f4154eb89b112465107f20757411f22bd1cc7d0a04335df7127fcb4
sourceBlobDigest: sha256:2566064a45c5301a8ec12f4fc2001348306136c0c8d5b010b7a74c17c0cf4bba sourceBlobDigest: sha256:290473ebc909cada80ff428c685b897f4621cf121397e1417355e06d334e7206
outLocation: /github/workspace/repo codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:1360b0489d1911ecbe6a0e2bcea617dc8c8d8cba49f2d3b505cef056dd668081
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest
sources: sources:
my-source: plexapi:
inputs: inputs:
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml - location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi:main
registry:
location: registry.speakeasyapi.dev/lukehagar/lukehagar/my-source
targets: targets:
plexjs: plexjs:
target: typescript target: typescript
source: my-source source: plexapi
publish: publish:
npm: npm:
token: $NPM_TOKEN token: $npm_token
codeSamples: codeSamples:
output: codeSamples.yaml output: codeSamples.yaml
registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs

View File

@@ -1,17 +1,17 @@
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest
sources: sources:
my-source: plexapi:
inputs: inputs:
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml - location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi:main
registry:
location: registry.speakeasyapi.dev/lukehagar/lukehagar/my-source
targets: targets:
plexjs: plexjs:
target: typescript target: typescript
source: my-source source: plexapi
publish: publish:
npm: npm:
token: $NPM_TOKEN token: $npm_token
codeSamples: codeSamples:
output: codeSamples.yaml output: codeSamples.yaml
registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs

26
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,26 @@
# Contributing to This Repository
Thank you for your interest in contributing to this repository. Please note that this repository contains generated code. As such, we do not accept direct changes or pull requests. Instead, we encourage you to follow the guidelines below to report issues and suggest improvements.
## How to Report Issues
If you encounter any bugs or have suggestions for improvements, please open an issue on GitHub. When reporting an issue, please provide as much detail as possible to help us reproduce the problem. This includes:
- A clear and descriptive title
- Steps to reproduce the issue
- Expected and actual behavior
- Any relevant logs, screenshots, or error messages
- Information about your environment (e.g., operating system, software versions)
- For example can be collected using the `npx envinfo` command from your terminal if you have Node.js installed
## Issue Triage and Upstream Fixes
We will review and triage issues as quickly as possible. Our goal is to address bugs and incorporate improvements in the upstream source code. Fixes will be included in the next generation of the generated code.
## Contact
If you have any questions or need further assistance, please feel free to reach out by opening an issue.
Thank you for your understanding and cooperation!
The Maintainers

109
FUNCTIONS.md Normal file
View File

@@ -0,0 +1,109 @@
# Standalone Functions
> [!NOTE]
> This section is useful if you are using a bundler and targetting browsers and
> runtimes where the size of an application affects performance and load times.
Every method in this SDK is also available as a standalone function. This
alternative API is suitable when targetting the browser or serverless runtimes
and using a bundler to build your application since all unused functionality
will be tree-shaken away. This includes code for unused methods, Zod schemas,
encoding helpers and response handlers. The result is dramatically smaller
impact on the application's final bundle size which grows very slowly as you use
more and more functionality from this SDK.
Calling methods through the main SDK class remains a valid and generally more
more ergonomic option. Standalone functions represent an optimisation for a
specific category of applications.
## Example
```typescript
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
import { serverGetServerCapabilities } from "@lukehagar/plexjs/funcs/serverGetServerCapabilities.js";
import { SDKValidationError } from "@lukehagar/plexjs/sdk/models/errors/sdkvalidationerror.js";
// Use `PlexAPICore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const plexAPI = new PlexAPICore({
accessToken: "<YOUR_API_KEY_HERE>",
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3",
});
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);
}
const { value: result } = res;
// Handle the result
console.log(result);
}
run();
```
## Result types
Standalone functions differ from SDK methods in that they return a
`Result<Value, Error>` type to capture _known errors_ and document them using
the type system. By avoiding throwing errors, application code maintains clear
control flow and error-handling become part of the regular flow of application
code.
> We use the term "known errors" because standalone functions, and JavaScript
> code in general, can still throw unexpected errors such as `TypeError`s,
> `RangeError`s and `DOMException`s. Exhaustively catching all errors may be
> something this SDK addresses in the future. Nevertheless, there is still a lot
> of benefit from capturing most errors and turning them into values.
The second reason for this style of programming is because these functions will
typically be used in front-end applications where exception throwing is
sometimes discouraged or considered unidiomatic. React and similar ecosystems
and libraries tend to promote this style of programming so that components
render useful content under all states (loading, success, error and so on).
The general pattern when calling standalone functions looks like this:
```typescript
import { Core } from "<sdk-package-name>";
import { fetchSomething } from "<sdk-package-name>/funcs/fetchSomething.js";
const client = new Core();
async function run() {
const result = await fetchSomething(client, { id: "123" });
if (!result.ok) {
// You can throw the error or handle it. It's your choice now.
throw result.error;
}
console.log(result.value);
}
run();
```
Notably, `result.error` above will have an explicit type compared to a try-catch
variation where the error in the catch block can only be of type `unknown` (or
`any` depending on your TypeScript settings).

527
README.md
View File

@@ -7,19 +7,83 @@
</a> </a>
</div> </div>
<!-- Start Summary [summary] -->
## Summary
Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server
# Plex Media Server OpenAPI Specification
An Open Source OpenAPI Specification for Plex Media Server
Automation and SDKs provided by [Speakeasy](https://speakeasyapi.dev/)
## Documentation
[API Documentation](https://plexapi.dev)
## SDKs
The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the [main specification Repository](https://github.com/LukeHagar/plex-api-spec).
| Language | Repository | Releases | Other |
| --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
| Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) | - |
| JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) | - |
| Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) |
| Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - |
| Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - |
| PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - |
| Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - |
| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | -
<!-- End Summary [summary] -->
<!-- Start Table of Contents [toc] -->
## Table of Contents
* [SDK Installation](#sdk-installation)
* [Requirements](#requirements)
* [SDK Example Usage](#sdk-example-usage)
* [Available Resources and Operations](#available-resources-and-operations)
* [Standalone functions](#standalone-functions)
* [Retries](#retries)
* [Error Handling](#error-handling)
* [Server Selection](#server-selection)
* [Custom HTTP Client](#custom-http-client)
* [Authentication](#authentication)
* [Debugging](#debugging)
<!-- End Table of Contents [toc] -->
<!-- Start SDK Installation [installation] --> <!-- Start SDK Installation [installation] -->
## SDK 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 ### NPM
```bash ```bash
npm add @lukehagar/plexjs npm add @lukehagar/plexjs
``` ```
### PNPM
```bash
pnpm add @lukehagar/plexjs
```
### Bun
```bash
bun add @lukehagar/plexjs
```
### Yarn ### Yarn
```bash ```bash
yarn add @lukehagar/plexjs yarn add @lukehagar/plexjs zod
# Note that Yarn does not install peer dependencies automatically. You will need
# to install zod as shown above.
``` ```
<!-- End SDK Installation [installation] --> <!-- End SDK Installation [installation] -->
@@ -32,15 +96,19 @@ yarn add @lukehagar/plexjs
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman", clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3",
}); });
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result // Handle the result
console.log(result); console.log(result);
} }
run(); run();
@@ -51,33 +119,21 @@ run();
<!-- Start Available Resources and Operations [operations] --> <!-- Start Available Resources and Operations [operations] -->
## Available Resources and Operations ## Available Resources and Operations
### [server](docs/sdks/server/README.md) <details open>
<summary>Available methods</summary>
* [getServerCapabilities](docs/sdks/server/README.md#getservercapabilities) - 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
### [activities](docs/sdks/activities/README.md) ### [activities](docs/sdks/activities/README.md)
* [getServerActivities](docs/sdks/activities/README.md#getserveractivities) - Get Server Activities * [getServerActivities](docs/sdks/activities/README.md#getserveractivities) - Get Server Activities
* [cancelServerActivities](docs/sdks/activities/README.md#cancelserveractivities) - Cancel 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) ### [butler](docs/sdks/butler/README.md)
* [getButlerTasks](docs/sdks/butler/README.md#getbutlertasks) - Get Butler tasks * [getButlerTasks](docs/sdks/butler/README.md#getbutlertasks) - Get Butler tasks
@@ -89,26 +145,23 @@ run();
### [hubs](docs/sdks/hubs/README.md) ### [hubs](docs/sdks/hubs/README.md)
* [getGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs * [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 * [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) ### [library](docs/sdks/library/README.md)
* [getFileHash](docs/sdks/library/README.md#getfilehash) - Get Hash Value * [getFileHash](docs/sdks/library/README.md#getfilehash) - Get Hash Value
* [getRecentlyAdded](docs/sdks/library/README.md#getrecentlyadded) - Get Recently Added * [getRecentlyAddedLibrary](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added
* [getLibraries](docs/sdks/library/README.md#getlibraries) - Get All Libraries * [getAllLibraries](docs/sdks/library/README.md#getalllibraries) - Get All Libraries
* [getLibrary](docs/sdks/library/README.md#getlibrary) - Get Library Details * [getLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
* [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section * [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
* [getLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items * [getLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
* [refreshLibrary](docs/sdks/library/README.md#refreshlibrary) - Refresh Library * [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
* [searchLibrary](docs/sdks/library/README.md#searchlibrary) - Search Library * [getSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library
* [getMetadata](docs/sdks/library/README.md#getmetadata) - Get Items Metadata * [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
* [getMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey) - Get Metadata by RatingKey
* [getMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children * [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 * [getOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck
### [log](docs/sdks/log/README.md) ### [log](docs/sdks/log/README.md)
@@ -117,10 +170,13 @@ run();
* [logMultiLine](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message * [logMultiLine](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message
* [enablePaperTrail](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail * [enablePaperTrail](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail
### [plex](docs/sdks/plex/README.md) ### [media](docs/sdks/media/README.md)
* [getPin](docs/sdks/plex/README.md#getpin) - Get a Pin * [markPlayed](docs/sdks/media/README.md#markplayed) - Mark Media Played
* [getToken](docs/sdks/plex/README.md#gettoken) - Get Access Token * [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) ### [playlists](docs/sdks/playlists/README.md)
@@ -134,14 +190,34 @@ run();
* [addPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist * [addPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist
* [uploadPlaylist](docs/sdks/playlists/README.md#uploadplaylist) - Upload 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. * [getCompanionsData](docs/sdks/plex/README.md#getcompanionsdata) - Get Companions Data
* [getSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information * [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 ### [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) ### [sessions](docs/sdks/sessions/README.md)
@@ -150,65 +226,108 @@ run();
* [getTranscodeSessions](docs/sdks/sessions/README.md#gettranscodesessions) - Get Transcode Sessions * [getTranscodeSessions](docs/sdks/sessions/README.md#gettranscodesessions) - Get Transcode Sessions
* [stopTranscodeSession](docs/sdks/sessions/README.md#stoptranscodesession) - Stop a Transcode Session * [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) ### [updater](docs/sdks/updater/README.md)
* [getUpdateStatus](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates * [getUpdateStatus](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates
* [checkForUpdates](docs/sdks/updater/README.md#checkforupdates) - Checking for updates * [checkForUpdates](docs/sdks/updater/README.md#checkforupdates) - Checking for updates
* [applyUpdates](docs/sdks/updater/README.md#applyupdates) - Apply Updates * [applyUpdates](docs/sdks/updater/README.md#applyupdates) - Apply Updates
### [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
</details>
<!-- End Available Resources and Operations [operations] --> <!-- End Available Resources and Operations [operations] -->
<!-- Start Error Handling [errors] --> <!-- Start Error Handling [errors] -->
## Error Handling ## Error Handling
All SDK methods return a response object or throw an error. If Error objects are specified in your OpenAPI Spec, the SDK will throw the appropriate Error type. All SDK methods return a response object or throw an error. By default, an API error will throw a `errors.SDKError`.
| Error Object | Status Code | Content Type | If a HTTP request fails, an operation my also throw an error from the `sdk/models/errors/httpclienterrors.ts` module:
| HTTP Client Error | Description |
| ---------------------------------------------------- | ---------------------------------------------------- |
| RequestAbortedError | HTTP request was aborted by the client |
| RequestTimeoutError | HTTP request timed out due to an AbortSignal signal |
| ConnectionError | HTTP client was unable to make a request to a server |
| InvalidRequestError | Any input used to create a request is invalid |
| UnexpectedClientError | Unrecognised or unexpected error |
In addition, when custom error responses are specified for an operation, the SDK may throw their associated Error type. You can refer to respective *Errors* tables in SDK docs for more details on possible error types for each operation. For example, the `getServerCapabilities` method may throw the following errors:
| Error Type | Status Code | Content Type |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| errors.GetServerCapabilitiesResponseBody | 401 | application/json | | errors.GetServerCapabilitiesBadRequest | 400 | application/json |
| errors.SDKError | 4xx-5xx | */* | | errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
| errors.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.
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import * as errors from "@lukehagar/plexjs/models/errors"; import {
GetServerCapabilitiesBadRequest,
GetServerCapabilitiesUnauthorized,
SDKValidationError,
} from "@lukehagar/plexjs/sdk/models/errors";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman", clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3",
}); });
async function run() { async function run() {
let result; let result;
try { try {
result = await plexAPI.server.getServerCapabilities(); result = await plexAPI.server.getServerCapabilities();
} catch (err) {
switch (true) {
case err instanceof errors.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 errors.GetServerCapabilitiesResponseBody: {
console.error(err); // handle exception
return;
}
default: {
throw err;
}
}
}
// Handle the result // Handle the result
console.log(result); console.log(result);
} catch (err) {
switch (true) {
case (err instanceof SDKValidationError): {
// Validation errors can be pretty-printed
console.error(err.pretty());
// Raw value may also be inspected
console.error(err.rawValue);
return;
}
case (err instanceof GetServerCapabilitiesBadRequest): {
// Handle err.data$: GetServerCapabilitiesBadRequestData
console.error(err);
return;
}
case (err instanceof GetServerCapabilitiesUnauthorized): {
// Handle err.data$: GetServerCapabilitiesUnauthorizedData
console.error(err);
return;
}
default: {
throw err;
}
}
}
} }
run(); run();
``` ```
Validation errors can also occur when either method arguments or data returned from the server do not match the expected format. The `SDKValidationError` that is thrown as a result will capture the raw value that failed validation in an attribute called `rawValue`. Additionally, a `pretty()` method is available on this error that can be used to log a nicely formatted string since validation errors can list many issues and the plain error string may be difficult read when debugging.
<!-- End Error Handling [errors] --> <!-- End Error Handling [errors] -->
<!-- Start Server Selection [server] --> <!-- Start Server Selection [server] -->
@@ -220,22 +339,26 @@ You can override the default server globally by passing a server index to the `s
| # | Server | Variables | | # | Server | Variables |
| - | ------ | --------- | | - | ------ | --------- |
| 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `http`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) | | 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `https`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) |
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
serverIdx: 0, serverIdx: 0,
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman", clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3",
}); });
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result // Handle the result
console.log(result); console.log(result);
} }
run(); run();
@@ -257,16 +380,20 @@ The default server can also be overridden globally by passing a URL to the `serv
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
serverURL: "{protocol}://{ip}:{port}", serverURL: "{protocol}://{ip}:{port}",
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman", clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3",
}); });
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result // Handle the result
console.log(result); console.log(result);
} }
run(); run();
@@ -280,16 +407,21 @@ The server URL can also be overridden on a per-operation basis, provided a serve
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
xPlexClientIdentifier: "Postman", accessToken: "<YOUR_API_KEY_HERE>",
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3",
}); });
async function run() { async function run() {
const result = await plexAPI.plex.getPin(false, "Postman", { const result = await plexAPI.plex.getCompanionsData({
serverURL: "https://plex.tv/api/v2", serverURL: "https://plex.tv/api/v2",
}); });
// Handle the result // Handle the result
console.log(result); console.log(result);
} }
run(); run();
@@ -362,15 +494,19 @@ To authenticate with the API the `accessToken` parameter must be set when initia
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman", clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3",
}); });
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result // Handle the result
console.log(result); console.log(result);
} }
run(); run();
@@ -384,46 +520,193 @@ run();
For supported JavaScript runtimes, please consult [RUNTIMES.md](RUNTIMES.md). For supported JavaScript runtimes, please consult [RUNTIMES.md](RUNTIMES.md).
<!-- End Requirements [requirements] --> <!-- End Requirements [requirements] -->
<!-- Start Global Parameters [global-parameters] --> <!-- Start Standalone functions [standalone-funcs] -->
## Global Parameters ## Standalone functions
A parameter is configured globally. This parameter must be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, This global value will be used as the default on the operations that use it. When such operations are called, there is a place in each to override the global value, if needed. All the methods listed above are available as standalone functions. These
functions are ideal for use in applications running in the browser, serverless
runtimes or other environments where application bundle size is a primary
concern. When using a bundler to build your application, all unused
functionality will be either excluded from the final bundle or tree-shaken away.
For example, you can set `X-Plex-Client-Identifier` to `"Postman"` at SDK initialization and then you do not have to pass the same value on calls to operations like `getPin`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration. To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
<details>
<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)
- [authenticationGetTokenDetails](docs/sdks/authentication/README.md#gettokendetails)
- [authenticationGetTransientToken](docs/sdks/authentication/README.md#gettransienttoken)
- [authenticationPostUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata)
- [butlerGetButlerTasks](docs/sdks/butler/README.md#getbutlertasks)
- [butlerStartAllTasks](docs/sdks/butler/README.md#startalltasks)
- [butlerStartTask](docs/sdks/butler/README.md#starttask)
- [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)
- [hubsGetRecentlyAdded](docs/sdks/hubs/README.md#getrecentlyadded)
- [libraryDeleteLibrary](docs/sdks/library/README.md#deletelibrary)
- [libraryGetAllLibraries](docs/sdks/library/README.md#getalllibraries)
- [libraryGetFileHash](docs/sdks/library/README.md#getfilehash)
- [libraryGetLibraryDetails](docs/sdks/library/README.md#getlibrarydetails)
- [libraryGetLibraryItems](docs/sdks/library/README.md#getlibraryitems)
- [libraryGetMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey)
- [libraryGetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren)
- [libraryGetOnDeck](docs/sdks/library/README.md#getondeck)
- [libraryGetRecentlyAddedLibrary](docs/sdks/library/README.md#getrecentlyaddedlibrary)
- [libraryGetRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata)
- [libraryGetSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries)
- [libraryGetSearchLibrary](docs/sdks/library/README.md#getsearchlibrary)
- [libraryGetTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent)
- [logEnablePaperTrail](docs/sdks/log/README.md#enablepapertrail)
- [logLogLine](docs/sdks/log/README.md#logline)
- [logLogMultiLine](docs/sdks/log/README.md#logmultiline)
- [mediaGetBannerImage](docs/sdks/media/README.md#getbannerimage)
- [mediaGetThumbImage](docs/sdks/media/README.md#getthumbimage)
- [mediaMarkPlayed](docs/sdks/media/README.md#markplayed)
- [mediaMarkUnplayed](docs/sdks/media/README.md#markunplayed)
- [mediaUpdatePlayProgress](docs/sdks/media/README.md#updateplayprogress)
- [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)
- [plexGetServerResources](docs/sdks/plex/README.md#getserverresources)
- [plexGetTokenByPinId](docs/sdks/plex/README.md#gettokenbypinid)
- [plexGetUserFriends](docs/sdks/plex/README.md#getuserfriends)
- [searchGetSearchResults](docs/sdks/search/README.md#getsearchresults)
- [searchPerformSearch](docs/sdks/search/README.md#performsearch)
- [searchPerformVoiceSearch](docs/sdks/search/README.md#performvoicesearch)
- [serverGetAvailableClients](docs/sdks/server/README.md#getavailableclients)
- [serverGetDevices](docs/sdks/server/README.md#getdevices)
- [serverGetMediaProviders](docs/sdks/server/README.md#getmediaproviders)
- [serverGetMyPlexAccount](docs/sdks/server/README.md#getmyplexaccount)
- [serverGetResizedPhoto](docs/sdks/server/README.md#getresizedphoto)
- [serverGetServerCapabilities](docs/sdks/server/README.md#getservercapabilities)
- [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)
- [videoGetTimeline](docs/sdks/video/README.md#gettimeline)
- [videoStartUniversalTranscode](docs/sdks/video/README.md#startuniversaltranscode)
- [watchlistGetWatchList](docs/sdks/watchlist/README.md#getwatchlist)
### Available Globals </details>
<!-- End Standalone functions [standalone-funcs] -->
The following global parameter is available. The required parameter must be set when you initialize the SDK client. <!-- Start Retries [retries] -->
## Retries
| Name | Type | Required | Description | Some of the endpoints in this SDK support retries. If you use the SDK without any configuration, it will fall back to the default retry strategy provided by the API. However, the default retry strategy can be overridden on a per-operation basis, or across the entire SDK.
| ---- | ---- |:--------:| ----------- |
| xPlexClientIdentifier | string | ✔️ | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
|
### Example
To change the default retry strategy for a single API call, simply provide a retryConfig object to the call:
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
xPlexClientIdentifier: "Postman", accessToken: "<YOUR_API_KEY_HERE>",
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3",
}); });
async function run() { async function run() {
const result = await plexAPI.plex.getPin(false, "Postman"); const result = await plexAPI.server.getServerCapabilities({
retries: {
strategy: "backoff",
backoff: {
initialInterval: 1,
maxInterval: 50,
exponent: 1.1,
maxElapsedTime: 100,
},
retryConnectionErrors: false,
},
});
// Handle the result // Handle the result
console.log(result); console.log(result);
} }
run(); run();
``` ```
<!-- End Global Parameters [global-parameters] -->
If you'd like to override the default retry strategy for all operations that support retries, you can provide a retryConfig at SDK initialization:
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
retryConfig: {
strategy: "backoff",
backoff: {
initialInterval: 1,
maxInterval: 50,
exponent: 1.1,
maxElapsedTime: 100,
},
retryConnectionErrors: false,
},
accessToken: "<YOUR_API_KEY_HERE>",
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3",
});
async function run() {
const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result);
}
run();
```
<!-- End Retries [retries] -->
<!-- Start Debugging [debug] -->
## Debugging
You can setup your SDK to emit debug logs for SDK requests and responses.
You can pass a logger that matches `console`'s interface as an SDK option.
> [!WARNING]
> Beware that debug logging will reveal secrets, like API tokens in headers, in log messages printed to a console or files. It's recommended to use this feature only during local development and not in production.
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
const sdk = new PlexAPI({ debugLogger: console });
```
<!-- End Debugging [debug] -->
<!-- Placeholder for Future Speakeasy SDK Sections --> <!-- Placeholder for Future Speakeasy SDK Sections -->

View File

@@ -698,4 +698,444 @@ Based on:
### Generated ### Generated
- [typescript v0.16.3] . - [typescript v0.16.3] .
### Releases ### Releases
- [NPM v0.16.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.16.3 - . - [NPM v0.16.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.16.3 - .
## 2024-06-05 00:28:12
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.299.7 (2.338.12) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.16.3] .
### Releases
- [NPM v0.16.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.16.3 - .
## 2024-06-06 00:28:24
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.300.0 (2.338.14) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.16.4] .
### Releases
- [NPM v0.16.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.16.4 - .
## 2024-06-07 00:29:43
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.300.1 (2.339.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.16.4] .
### Releases
- [NPM v0.16.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.16.4 - .
## 2024-06-08 00:29:06
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.300.1 (2.339.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.16.4] .
### Releases
- [NPM v0.16.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.16.4 - .
## 2024-06-09 00:32:36
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.300.1 (2.339.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.16.4] .
### Releases
- [NPM v0.16.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.16.4 - .
## 2024-06-10 00:30:14
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.300.1 (2.339.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.16.4] .
### Releases
- [NPM v0.16.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.16.4 - .
## 2024-06-12 00:28:55
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.305.0 (2.340.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.16.5] .
### Releases
- [NPM v0.16.5] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.16.5 - .
## 2024-06-13 00:01:20
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.306.0 (2.340.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.16.5] .
### Releases
- [NPM v0.16.5] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.16.5 - .
## 2024-06-14 00:01:12
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.307.2 (2.342.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.16.6] .
### Releases
- [NPM v0.16.6] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.16.6 - .
## 2024-06-14 16:22:55
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.308.1 (2.342.6) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.17.0] .
### Releases
- [NPM v0.17.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.17.0 - .
## 2024-06-15 00:01:01
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.308.1 (2.342.6) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.17.0] .
### Releases
- [NPM v0.17.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.17.0 - .
## 2024-06-22 00:01:06
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.314.2 (2.349.6) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.18.0] .
### Releases
- [NPM v0.18.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.18.0 - .
## 2024-06-23 00:01:17
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.314.2 (2.349.6) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.18.0] .
### Releases
- [NPM v0.18.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.18.0 - .
## 2024-06-24 00:01:13
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.314.2 (2.349.6) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.18.0] .
### Releases
- [NPM v0.18.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.18.0 - .
## 2024-06-25 00:01:07
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.315.2 (2.352.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.18.0] .
### Releases
- [NPM v0.18.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.18.0 - .
## 2024-06-26 00:03:38
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.318.0 (2.352.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.18.0] .
### Releases
- [NPM v0.18.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.18.0 - .
## 2024-06-27 00:01:14
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.321.0 (2.354.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.18.0] .
### Releases
- [NPM v0.18.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.18.0 - .
## 2024-06-28 00:01:08
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.322.1 (2.354.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.18.0] .
### Releases
- [NPM v0.18.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.18.0 - .
## 2024-06-29 00:01:06
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.322.3 (2.354.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.18.0] .
### Releases
- [NPM v0.18.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.18.0 - .
## 2024-06-30 00:01:08
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.322.3 (2.354.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.18.0] .
### Releases
- [NPM v0.18.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.18.0 - .
## 2024-07-01 00:01:17
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.322.3 (2.354.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.18.0] .
### Releases
- [NPM v0.18.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.18.0 - .
## 2024-07-01 15:43:13
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.323.0 (2.356.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.18.1] .
### Releases
- [NPM v0.18.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.18.1 - .
## 2024-07-01 16:23:41
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.323.0 (2.356.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.18.2] .
### Releases
- [NPM v0.18.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.18.2 - .
## 2024-08-22 05:15:43
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.377.1 (2.404.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [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 - .

View File

@@ -3,7 +3,7 @@
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 the following features:
* [Web Fetch API][web-fetch] * [Web Fetch API][web-fetch]
* [Web Streams API](web-streams) and in particular `ReadableStream` * [Web Streams API][web-streams] and in particular `ReadableStream`
* [Async iterables][async-iter] using `Symbol.asyncIterator` * [Async iterables][async-iter] using `Symbol.asyncIterator`
[web-fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API [web-fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API

View File

@@ -3,15 +3,19 @@
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "Postman", clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
clientVersion: "2.4.1",
platform: "Roku",
deviceNickname: "Roku 3",
}); });
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result // Handle the result
console.log(result); console.log(result);
} }
run(); run();

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,24 @@
# RetryConfig
Allows customizing the default retry configuration. It is only permitted in methods that accept retry policies.
## Fields
| Name | Type | Description | Example |
| ------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------ | ----------- |
| `strategy` | `"backoff" | "none"` | The retry strategy to use. | `"backoff"` |
| `backoff` | [BackoffStrategy](#backoffstrategy) | When strategy is "backoff", this configurates for the backoff parameters. | |
| `retryConnectionErrors` | `*boolean*` | When strategy is "backoff", this determines whether or not to retry on connection errors. | `true` |
## BackoffStrategy
The backoff strategy allows retrying a request with an exponential backoff between each retry.
### Fields
| Name | Type | Description | Example |
| ------------------ | ------------ | ----------------------------------------- | -------- |
| `initialInterval` | `*number*` | The initial interval in milliseconds. | `500` |
| `maxInterval` | `*number*` | The maximum interval in milliseconds. | `60000` |
| `exponent` | `*number*` | The exponent to use for the backoff. | `1.5` |
| `maxElapsedTime` | `*number*` | The maximum elapsed time in milliseconds. | `300000` |

View File

@@ -1,11 +0,0 @@
# AddPlaylistContentsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `errors` | [errors.AddPlaylistContentsErrors](../../models/errors/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 |

View File

@@ -1,11 +0,0 @@
# ApplyUpdatesResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `errors` | [errors.ApplyUpdatesErrors](../../models/errors/applyupdateserrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,11 +0,0 @@
# CancelServerActivitiesResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `errors` | [errors.CancelServerActivitiesErrors](../../models/errors/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 |

View File

@@ -1,11 +0,0 @@
# CheckForUpdatesResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `errors` | [errors.CheckForUpdatesErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# ClearPlaylistContentsErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# ClearPlaylistContentsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `errors` | [errors.ClearPlaylistContentsErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# CreatePlaylistErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# CreatePlaylistResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `errors` | [errors.CreatePlaylistErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# DeleteLibraryErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# DeleteLibraryResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `errors` | [errors.DeleteLibraryErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# DeletePlaylistErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# DeletePlaylistResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `errors` | [errors.DeletePlaylistErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# EnablePaperTrailErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# EnablePaperTrailResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `errors` | [errors.EnablePaperTrailErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# Errors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,10 +0,0 @@
# GetAvailableClientsErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetAvailableClientsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `errors` | [errors.GetAvailableClientsErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# GetButlerTasksErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetButlerTasksResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `errors` | [errors.GetButlerTasksErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# GetDevicesErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,10 +0,0 @@
# GetFileHashErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetFileHashResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `errors` | [errors.GetFileHashErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# GetGlobalHubsErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetGlobalHubsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `errors` | [errors.GetGlobalHubsErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# GetLibrariesErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetLibrariesResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `errors` | [errors.GetLibrariesErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# GetLibraryErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,10 +0,0 @@
# GetLibraryHubsErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetLibraryHubsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `errors` | [errors.GetLibraryHubsErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# GetLibraryItemsErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetLibraryItemsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `errors` | [errors.GetLibraryItemsErrors](../../models/errors/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 |

View File

@@ -1,10 +0,0 @@
# GetMetadataChildrenErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetMetadataChildrenResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `errors` | [errors.GetMetadataChildrenErrors](../../models/errors/getmetadatachildrenerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetMetadataErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetMetadataResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `errors` | [errors.GetMetadataErrors](../../models/errors/getmetadataerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetMyPlexAccountErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetMyPlexAccountResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `errors` | [errors.GetMyPlexAccountErrors](../../models/errors/getmyplexaccounterrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetOnDeckErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetPinResponseBody
X-Plex-Client-Identifier is missing
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [errors.GetPinErrors](../../models/errors/getpinerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetPlaylistContentsErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetPlaylistContentsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `errors` | [errors.GetPlaylistContentsErrors](../../models/errors/getplaylistcontentserrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetPlaylistErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetPlaylistResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `errors` | [errors.GetPlaylistErrors](../../models/errors/getplaylisterrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetPlaylistsErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetPlaylistsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `errors` | [errors.GetPlaylistsErrors](../../models/errors/getplaylistserrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetRecentlyAddedErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetRecentlyAddedResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `errors` | [errors.GetRecentlyAddedErrors](../../models/errors/getrecentlyaddederrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetResizedPhotoErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetResizedPhotoResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `errors` | [errors.GetResizedPhotoErrors](../../models/errors/getresizedphotoerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetSearchResultsErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetSearchResultsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `errors` | [errors.GetSearchResultsErrors](../../models/errors/getsearchresultserrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetServerActivitiesErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetServerActivitiesResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `errors` | [errors.GetServerActivitiesErrors](../../models/errors/getserveractivitieserrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,11 +0,0 @@
# GetServerCapabilitiesResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [errors.Errors](../../models/errors/errors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetServerIdentityErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetServerIdentityResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `errors` | [errors.GetServerIdentityErrors](../../models/errors/getserveridentityerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetServerListErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetServerListResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `errors` | [errors.GetServerListErrors](../../models/errors/getserverlisterrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetServerPreferencesErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetServerPreferencesResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `errors` | [errors.GetServerPreferencesErrors](../../models/errors/getserverpreferenceserrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetSessionHistoryErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetSessionHistoryResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `errors` | [errors.GetSessionHistoryErrors](../../models/errors/getsessionhistoryerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetSessionsErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetSessionsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `errors` | [errors.GetSessionsErrors](../../models/errors/getsessionserrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetSourceConnectionInformationErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetSourceConnectionInformationResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| `errors` | [errors.GetSourceConnectionInformationErrors](../../models/errors/getsourceconnectioninformationerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetStatisticsErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetStatisticsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `errors` | [errors.GetStatisticsErrors](../../models/errors/getstatisticserrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetTimelineErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetTimelineResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `errors` | [errors.GetTimelineErrors](../../models/errors/gettimelineerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,11 +0,0 @@
# GetTokenResponseBody
X-Plex-Client-Identifier is missing
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [errors.GetTokenErrors](../../models/errors/gettokenerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetTranscodeSessionsErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetTranscodeSessionsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `errors` | [errors.GetTranscodeSessionsErrors](../../models/errors/gettranscodesessionserrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetTransientTokenErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetTransientTokenResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `errors` | [errors.GetTransientTokenErrors](../../models/errors/gettransienttokenerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# GetUpdateStatusErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetUpdateStatusResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `errors` | [errors.GetUpdateStatusErrors](../../models/errors/getupdatestatuserrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# LogLineErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# LogLineResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [errors.LogLineErrors](../../models/errors/loglineerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# LogMultiLineErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# LogMultiLineResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `errors` | [errors.LogMultiLineErrors](../../models/errors/logmultilineerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -1,10 +0,0 @@
# MarkPlayedErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# MarkPlayedResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [errors.MarkPlayedErrors](../../models/errors/markplayederrors.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 |

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