Compare commits

...

18 Commits

Author SHA1 Message Date
speakeasybot
2712820397 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.528.1 2025-04-03 00:12:07 +00:00
speakeasybot
c895213ae8 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.526.6 2025-03-31 19:44:01 +00:00
Luke Hagar
c473c9d326 Update workflow.yaml 2025-03-31 14:41:40 -05:00
speakeasybot
3c13bba9de ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.526.6 2025-03-31 19:35:21 +00:00
speakeasybot
650c5043ef ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.526.6 2025-03-31 16:33:24 +00:00
Luke Hagar
0234804578 correcting label override key value 2025-03-31 11:30:53 -05:00
Luke Hagar
60d913c8f9 adjusting codesample labels 2025-03-28 16:58:29 -05:00
speakeasybot
8d9f4bbaf1 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.513.4 2025-03-09 00:10:48 +00:00
speakeasybot
5d57cd7c34 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.513.2 2025-03-07 00:11:26 +00:00
speakeasybot
1a8e227874 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.487.1 2025-02-10 00:11:39 +00:00
speakeasybot
8360d057ab ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.487.0 2025-02-07 00:11:14 +00:00
speakeasybot
18b64727c3 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.484.1 2025-02-06 00:11:16 +00:00
speakeasybot
3152372037 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.484.1 2025-02-05 00:11:28 +00:00
speakeasybot
13cd8a7fe5 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.476.1 2025-01-27 00:11:19 +00:00
speakeasybot
cdcdc0ca8e ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.474.0 2025-01-24 00:11:07 +00:00
speakeasybot
b03cc6a609 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.459.2 2024-12-22 00:12:06 +00:00
speakeasybot
4e989e0de3 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.456.1 2024-12-20 16:02:41 +00:00
Luke Hagar
c10e011a68 adjusted workflow 2024-12-20 09:59:40 -06:00
645 changed files with 42858 additions and 15610 deletions

View File

@@ -1,28 +0,0 @@
/* eslint-env node */
module.exports = {
root: true,
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:import/recommended",
"plugin:import/typescript",
],
parser: "@typescript-eslint/parser",
plugins: ["@typescript-eslint"],
settings: {
"import/resolver": {
typescript: true,
node: true,
},
},
rules: {
// Handled by typescript compiler
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/ban-types": "off",
"@typescript-eslint/no-namespace": "off",
"@typescript-eslint/no-explicit-any": "off",
"import/no-named-as-default-member": "off",
"import/no-default-export": "error",
},
};

4
.gitignore vendored
View File

@@ -1,3 +1,7 @@
/mcp-server
/bin
/.eslintcache
/.speakeasy/reports
/react-query /react-query
/sdk/models/errors /sdk/models/errors
/sdk/types /sdk/types

View File

@@ -1,9 +1,14 @@
**/* **/*
!/FUNCTIONS.md
!/RUNTIMES.md
!/REACT_QUERY.md
!/**/*.ts !/**/*.ts
!/**/*.js !/**/*.js
!/**/*.mjs
!/**/*.json
!/**/*.map !/**/*.map
/.eslintrc.js /eslint.config.mjs
/cjs /cjs
/.tshy /.tshy
/.tshy-* /.tshy-*

File diff suppressed because one or more lines are too long

View File

@@ -7,12 +7,15 @@ generation:
useClassNamesForArrayFields: true useClassNamesForArrayFields: true
fixes: fixes:
nameResolutionDec2023: true nameResolutionDec2023: true
nameResolutionFeb2025: false
parameterOrderingFeb2024: true parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true requestResponseComponentNamesFeb2024: true
securityFeb2025: false
auth: auth:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false
typescript: typescript:
version: 0.31.1 version: 0.36.0
additionalDependencies: additionalDependencies:
dependencies: {} dependencies: {}
devDependencies: {} devDependencies: {}
@@ -21,6 +24,8 @@ typescript:
author: LukeHagar author: LukeHagar
clientServerStatusCodesAsErrors: true clientServerStatusCodesAsErrors: true
defaultErrorName: SDKError defaultErrorName: SDKError
enableCustomCodeRegions: false
enableMCPServer: true
enableReactQuery: false enableReactQuery: false
enumFormat: enum enumFormat: enum
flattenGlobalSecurity: true flattenGlobalSecurity: true
@@ -34,6 +39,7 @@ typescript:
shared: sdk/models/shared shared: sdk/models/shared
webhooks: sdk/models/webhooks webhooks: sdk/models/webhooks
inputModelSuffix: input inputModelSuffix: input
jsonpath: legacy
maxMethodParams: 4 maxMethodParams: 4
methodArguments: require-security-and-request methodArguments: require-security-and-request
moduleFormat: commonjs moduleFormat: commonjs

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.405.6 speakeasyVersion: 1.528.1
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
@@ -9,26 +9,29 @@ sources:
- main - main
plexapi: plexapi:
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:96b3b0311346892a8d70f88e27dd59e3cba616e9f79b1662c89e341ebd49a666 sourceRevisionDigest: sha256:b5580df6ec4a386e12249ff13f35b916fe5559e101de4a816b53e47d6947f1a5
sourceBlobDigest: sha256:290473ebc909cada80ff428c685b897f4621cf121397e1417355e06d334e7206 sourceBlobDigest: sha256:6108b6c35fbe7e9163ffe0c804170f5e3a6edb63b8e745454ea8ee249bd790c3
tags: tags:
- latest - latest
- main - speakeasy-sdk-regen-1743639051
- 0.0.3
targets: targets:
plexjs: plexjs:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:96b3b0311346892a8d70f88e27dd59e3cba616e9f79b1662c89e341ebd49a666 sourceRevisionDigest: sha256:b5580df6ec4a386e12249ff13f35b916fe5559e101de4a816b53e47d6947f1a5
sourceBlobDigest: sha256:290473ebc909cada80ff428c685b897f4621cf121397e1417355e06d334e7206 sourceBlobDigest: sha256:6108b6c35fbe7e9163ffe0c804170f5e3a6edb63b8e745454ea8ee249bd790c3
codeSamplesNamespace: code-samples-typescript-plexjs codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:bb437db16afb78fc5469b890d2e5aecf927949325fa9cbfb091761e460319bfd codeSamplesRevisionDigest: sha256:1d984798d2ba05ff7dfba1649556f6ece8cbfabbf9260f6a2678748f02977d47
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest
sources: sources:
plexapi: plexapi:
inputs: inputs:
- location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi:main - location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/refs/heads/main/output/plex-media-server-spec-dereferenced.yaml
registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi
targets: targets:
plexjs: plexjs:
target: typescript target: typescript
@@ -40,3 +43,5 @@ workflow:
output: codeSamples.yaml output: codeSamples.yaml
registry: registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
labelOverride:
fixedValue: PlexJS

View File

@@ -3,7 +3,9 @@ speakeasyVersion: latest
sources: sources:
plexapi: plexapi:
inputs: inputs:
- location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi:main - location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/refs/heads/main/output/plex-media-server-spec-dereferenced.yaml
registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi
targets: targets:
plexjs: plexjs:
target: typescript target: typescript
@@ -15,3 +17,5 @@ targets:
output: codeSamples.yaml output: codeSamples.yaml
registry: registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
labelOverride:
fixedValue: PlexJS

View File

@@ -27,11 +27,6 @@ import { SDKValidationError } from "@lukehagar/plexjs/sdk/models/errors/sdkvalid
// You can create one instance of it to use across an application. // You can create one instance of it to use across an application.
const plexAPI = new PlexAPICore({ const plexAPI = new PlexAPICore({
accessToken: "<YOUR_API_KEY_HERE>", 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() {

361
README.md
View File

@@ -40,18 +40,27 @@ The following SDKs are generated from the OpenAPI Specification. They are automa
<!-- Start Table of Contents [toc] --> <!-- Start Table of Contents [toc] -->
## Table of Contents ## Table of Contents
<!-- $toc-max-depth=2 -->
* [@lukehagar/plexjs](#lukehagarplexjs)
* [Plex Media Server OpenAPI Specification](#plex-media-server-openapi-specification)
* [Documentation](#documentation)
* [SDKs](#sdks)
* [SDK Installation](#sdk-installation)
* [SDK Example Usage](#sdk-example-usage)
* [Available Resources and Operations](#available-resources-and-operations)
* [Error Handling](#error-handling)
* [Server Selection](#server-selection)
* [Custom HTTP Client](#custom-http-client)
* [Authentication](#authentication)
* [Requirements](#requirements)
* [Standalone functions](#standalone-functions)
* [File uploads](#file-uploads)
* [Retries](#retries)
* [Debugging](#debugging)
* [Development](#development)
* [Maturity](#maturity)
* [Contributions](#contributions)
* [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] --> <!-- End Table of Contents [toc] -->
<!-- Start SDK Installation [installation] --> <!-- Start SDK Installation [installation] -->
@@ -97,11 +106,6 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", 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() {
@@ -156,13 +160,20 @@ run();
* [getLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - 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
* [getAllMediaLibrary](docs/sdks/library/README.md#getallmedialibrary) - Get all media of library
* [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library * [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
* [getSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library * [getSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library
* [getGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media
* [getCountriesLibrary](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media
* [getActorsLibrary](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media
* [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries * [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
* [getMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey) - Get Metadata by RatingKey * [getMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata
* [getMediaArts](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork
* [postMediaArts](docs/sdks/library/README.md#postmediaarts) - Upload Media Background Artwork
* [getMediaPosters](docs/sdks/library/README.md#getmediaposters) - Get Media Posters
* [postMediaPoster](docs/sdks/library/README.md#postmediaposter) - Upload Media Poster
* [getMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children * [getMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
* [getTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content * [getTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
* [getOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck
### [log](docs/sdks/log/README.md) ### [log](docs/sdks/log/README.md)
@@ -238,6 +249,10 @@ run();
* [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
### [users](docs/sdks/users/README.md)
* [getUsers](docs/sdks/users/README.md#getusers) - Get list of all connected users
### [video](docs/sdks/video/README.md) ### [video](docs/sdks/video/README.md)
* [getTimeline](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item * [getTimeline](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item
@@ -253,25 +268,15 @@ run();
<!-- Start Error Handling [errors] --> <!-- Start Error Handling [errors] -->
## Error Handling ## Error Handling
All SDK methods return a response object or throw an error. By default, an API error will throw a `errors.SDKError`. Some methods specify known errors which can be thrown. All the known errors are enumerated in the `sdk/models/errors/errors.ts` module. The known errors for a method are documented under the *Errors* tables in SDK docs. For example, the `getServerCapabilities` method may throw the following errors:
If a HTTP request fails, an operation my also throw an error from the `sdk/models/errors/httpclienterrors.ts` module: | Error Type | Status Code | Content Type |
| ---------------------------------------- | ----------- | ---------------- |
| errors.GetServerCapabilitiesBadRequest | 400 | application/json |
| errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
| errors.SDKError | 4XX, 5XX | \*/\* |
| HTTP Client Error | Description | If the method throws an error and it is not captured by the known errors, it will default to throwing a `SDKError`.
| ---------------------------------------------------- | ---------------------------------------------------- |
| RequestAbortedError | HTTP request was aborted by the client |
| RequestTimeoutError | HTTP request timed out due to an AbortSignal signal |
| ConnectionError | HTTP client was unable to make a request to a server |
| InvalidRequestError | Any input used to create a request is invalid |
| UnexpectedClientError | Unrecognised or unexpected error |
In addition, when custom error responses are specified for an operation, the SDK may throw their associated Error type. You can refer to respective *Errors* tables in SDK docs for more details on possible error types for each operation. For example, the `getServerCapabilities` method may throw the following errors:
| Error Type | Status Code | Content Type |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| errors.GetServerCapabilitiesBadRequest | 400 | application/json |
| errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
| errors.SDKError | 4XX, 5XX | \*/\* |
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
@@ -283,11 +288,6 @@ import {
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", 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() {
@@ -299,8 +299,9 @@ async function run() {
console.log(result); console.log(result);
} catch (err) { } catch (err) {
switch (true) { switch (true) {
// The server response does not match the expected SDK schema
case (err instanceof SDKValidationError): { case (err instanceof SDKValidationError): {
// Validation errors can be pretty-printed // Pretty-print will provide a human-readable multi-line error message
console.error(err.pretty()); console.error(err.pretty());
// Raw value may also be inspected // Raw value may also be inspected
console.error(err.rawValue); console.error(err.rawValue);
@@ -317,6 +318,7 @@ async function run() {
return; return;
} }
default: { default: {
// Other errors such as network errors, see HTTPClientErrors for more details
throw err; throw err;
} }
} }
@@ -327,31 +329,42 @@ 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. 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 multi-line string since validation errors can list many issues and the plain error string may be difficult read when debugging.
In some rare cases, the SDK can fail to get a response from the server or even make the request due to unexpected circumstances such as network conditions. These types of errors are captured in 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 |
<!-- End Error Handling [errors] --> <!-- End Error Handling [errors] -->
<!-- Start Server Selection [server] --> <!-- Start Server Selection [server] -->
## Server Selection ## Server Selection
### Select Server by Index ### Server Variables
You can override the default server globally by passing a server index to the `serverIdx` optional parameter when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers: The default server `{protocol}://{ip}:{port}` contains variables and is set to `https://10.10.10.47:32400` by default. To override default values, the following parameters are available when initializing the SDK client instance:
| # | Server | Variables | | Variable | Parameter | Supported Values | Default | Description |
| - | ------ | --------- | | ---------- | --------------------------------- | -------------------------- | --------------- | ---------------------------------------------- |
| 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `https`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) | | `protocol` | `protocol: models.ServerProtocol` | - `"http"`<br/>- `"https"` | `"https"` | The protocol to use for the server connection |
| `ip` | `ip: string` | string | `"10.10.10.47"` | The IP address or hostname of your Plex Server |
| `port` | `port: string` | string | `"32400"` | The port of your Plex Server |
#### Example
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
serverIdx: 0, protocol: "https",
ip: "e0c3:bcc0:6bac:dccc:c4ec:34b1:ca98:4cb9",
port: "40311",
accessToken: "<YOUR_API_KEY_HERE>", 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() {
@@ -365,28 +378,15 @@ run();
``` ```
#### Variables
Some of the server options above contain variables. If you want to set the values of those variables, the following optional parameters are available when initializing the SDK client instance:
* `protocol: models.ServerProtocol`
* `ip: string`
* `port: string`
### Override Server URL Per-Client ### Override Server URL Per-Client
The default server can also be overridden globally by passing a URL to the `serverURL` optional parameter when initializing the SDK client instance. For example: The default server can be overridden globally by passing a URL to the `serverURL: string` optional parameter when initializing the SDK client instance. For example:
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
serverURL: "{protocol}://{ip}:{port}", serverURL: "https://10.10.10.47:32400",
accessToken: "<YOUR_API_KEY_HERE>", 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() {
@@ -399,20 +399,15 @@ async function run() {
run(); run();
``` ```
### Override Server URL Per-Operation ### Override Server URL Per-Operation
The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example: The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example:
```typescript ```typescript
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>",
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() {
@@ -485,9 +480,9 @@ const sdk = new PlexAPI({ httpClient });
This SDK supports the following security scheme globally: This SDK supports the following security scheme globally:
| Name | Type | Scheme | | Name | Type | Scheme |
| ------------- | ------------- | ------------- | | ------------- | ------ | ------- |
| `accessToken` | apiKey | API key | | `accessToken` | apiKey | API key |
To authenticate with the API the `accessToken` parameter must be set when initializing the SDK client instance. For example: To authenticate with the API the `accessToken` parameter must be set when initializing the SDK client instance. For example:
```typescript ```typescript
@@ -495,11 +490,6 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", 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() {
@@ -535,87 +525,130 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
<summary>Available standalone functions</summary> <summary>Available standalone functions</summary>
- [activitiesCancelServerActivities](docs/sdks/activities/README.md#cancelserveractivities) - [`activitiesCancelServerActivities`](docs/sdks/activities/README.md#cancelserveractivities) - Cancel Server Activities
- [activitiesGetServerActivities](docs/sdks/activities/README.md#getserveractivities) - [`activitiesGetServerActivities`](docs/sdks/activities/README.md#getserveractivities) - Get Server Activities
- [authenticationGetSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation) - [`authenticationGetSourceConnectionInformation`](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information
- [authenticationGetTokenDetails](docs/sdks/authentication/README.md#gettokendetails) - [`authenticationGetTokenDetails`](docs/sdks/authentication/README.md#gettokendetails) - Get Token Details
- [authenticationGetTransientToken](docs/sdks/authentication/README.md#gettransienttoken) - [`authenticationGetTransientToken`](docs/sdks/authentication/README.md#gettransienttoken) - Get a Transient Token
- [authenticationPostUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata) - [`authenticationPostUsersSignInData`](docs/sdks/authentication/README.md#postuserssignindata) - Get User Sign In Data
- [butlerGetButlerTasks](docs/sdks/butler/README.md#getbutlertasks) - [`butlerGetButlerTasks`](docs/sdks/butler/README.md#getbutlertasks) - Get Butler tasks
- [butlerStartAllTasks](docs/sdks/butler/README.md#startalltasks) - [`butlerStartAllTasks`](docs/sdks/butler/README.md#startalltasks) - Start all Butler tasks
- [butlerStartTask](docs/sdks/butler/README.md#starttask) - [`butlerStartTask`](docs/sdks/butler/README.md#starttask) - Start a single Butler task
- [butlerStopAllTasks](docs/sdks/butler/README.md#stopalltasks) - [`butlerStopAllTasks`](docs/sdks/butler/README.md#stopalltasks) - Stop all Butler tasks
- [butlerStopTask](docs/sdks/butler/README.md#stoptask) - [`butlerStopTask`](docs/sdks/butler/README.md#stoptask) - Stop a single Butler task
- [hubsGetGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs) - [`hubsGetGlobalHubs`](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs
- [hubsGetLibraryHubs](docs/sdks/hubs/README.md#getlibraryhubs) - [`hubsGetLibraryHubs`](docs/sdks/hubs/README.md#getlibraryhubs) - Get library specific hubs
- [hubsGetRecentlyAdded](docs/sdks/hubs/README.md#getrecentlyadded) - [`hubsGetRecentlyAdded`](docs/sdks/hubs/README.md#getrecentlyadded) - Get Recently Added
- [libraryDeleteLibrary](docs/sdks/library/README.md#deletelibrary) - [`libraryDeleteLibrary`](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
- [libraryGetAllLibraries](docs/sdks/library/README.md#getalllibraries) - [`libraryGetActorsLibrary`](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media
- [libraryGetFileHash](docs/sdks/library/README.md#getfilehash) - [`libraryGetAllLibraries`](docs/sdks/library/README.md#getalllibraries) - Get All Libraries
- [libraryGetLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - [`libraryGetAllMediaLibrary`](docs/sdks/library/README.md#getallmedialibrary) - Get all media of library
- [libraryGetLibraryItems](docs/sdks/library/README.md#getlibraryitems) - [`libraryGetCountriesLibrary`](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media
- [libraryGetMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey) - [`libraryGetFileHash`](docs/sdks/library/README.md#getfilehash) - Get Hash Value
- [libraryGetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - [`libraryGetGenresLibrary`](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media
- [libraryGetOnDeck](docs/sdks/library/README.md#getondeck) - [`libraryGetLibraryDetails`](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
- [libraryGetRecentlyAddedLibrary](docs/sdks/library/README.md#getrecentlyaddedlibrary) - [`libraryGetLibraryItems`](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
- [libraryGetRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - [`libraryGetMediaArts`](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork
- [libraryGetSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - [`libraryGetMediaMetaData`](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata
- [libraryGetSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - [`libraryGetMediaPosters`](docs/sdks/library/README.md#getmediaposters) - Get Media Posters
- [libraryGetTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - [`libraryGetMetadataChildren`](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
- [logEnablePaperTrail](docs/sdks/log/README.md#enablepapertrail) - [`libraryGetRecentlyAddedLibrary`](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added
- [logLogLine](docs/sdks/log/README.md#logline) - [`libraryGetRefreshLibraryMetadata`](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
- [logLogMultiLine](docs/sdks/log/README.md#logmultiline) - [`libraryGetSearchAllLibraries`](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
- [mediaGetBannerImage](docs/sdks/media/README.md#getbannerimage) - [`libraryGetSearchLibrary`](docs/sdks/library/README.md#getsearchlibrary) - Search Library
- [mediaGetThumbImage](docs/sdks/media/README.md#getthumbimage) - [`libraryGetTopWatchedContent`](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
- [mediaMarkPlayed](docs/sdks/media/README.md#markplayed) - [`libraryPostMediaArts`](docs/sdks/library/README.md#postmediaarts) - Upload Media Background Artwork
- [mediaMarkUnplayed](docs/sdks/media/README.md#markunplayed) - [`libraryPostMediaPoster`](docs/sdks/library/README.md#postmediaposter) - Upload Media Poster
- [mediaUpdatePlayProgress](docs/sdks/media/README.md#updateplayprogress) - [`logEnablePaperTrail`](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail
- [playlistsAddPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents) - [`logLogLine`](docs/sdks/log/README.md#logline) - Logging a single line message.
- [playlistsClearPlaylistContents](docs/sdks/playlists/README.md#clearplaylistcontents) - [`logLogMultiLine`](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message
- [playlistsCreatePlaylist](docs/sdks/playlists/README.md#createplaylist) - [`mediaGetBannerImage`](docs/sdks/media/README.md#getbannerimage) - Get Banner Image
- [playlistsDeletePlaylist](docs/sdks/playlists/README.md#deleteplaylist) - [`mediaGetThumbImage`](docs/sdks/media/README.md#getthumbimage) - Get Thumb Image
- [playlistsGetPlaylistContents](docs/sdks/playlists/README.md#getplaylistcontents) - [`mediaMarkPlayed`](docs/sdks/media/README.md#markplayed) - Mark Media Played
- [playlistsGetPlaylist](docs/sdks/playlists/README.md#getplaylist) - [`mediaMarkUnplayed`](docs/sdks/media/README.md#markunplayed) - Mark Media Unplayed
- [playlistsGetPlaylists](docs/sdks/playlists/README.md#getplaylists) - [`mediaUpdatePlayProgress`](docs/sdks/media/README.md#updateplayprogress) - Update Media Play Progress
- [playlistsUpdatePlaylist](docs/sdks/playlists/README.md#updateplaylist) - [`playlistsAddPlaylistContents`](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist
- [playlistsUploadPlaylist](docs/sdks/playlists/README.md#uploadplaylist) - [`playlistsClearPlaylistContents`](docs/sdks/playlists/README.md#clearplaylistcontents) - Delete Playlist Contents
- [plexGetCompanionsData](docs/sdks/plex/README.md#getcompanionsdata) - [`playlistsCreatePlaylist`](docs/sdks/playlists/README.md#createplaylist) - Create a Playlist
- [plexGetGeoData](docs/sdks/plex/README.md#getgeodata) - [`playlistsDeletePlaylist`](docs/sdks/playlists/README.md#deleteplaylist) - Deletes a Playlist
- [plexGetHomeData](docs/sdks/plex/README.md#gethomedata) - [`playlistsGetPlaylist`](docs/sdks/playlists/README.md#getplaylist) - Retrieve Playlist
- [plexGetPin](docs/sdks/plex/README.md#getpin) - [`playlistsGetPlaylistContents`](docs/sdks/playlists/README.md#getplaylistcontents) - Retrieve Playlist Contents
- [plexGetServerResources](docs/sdks/plex/README.md#getserverresources) - [`playlistsGetPlaylists`](docs/sdks/playlists/README.md#getplaylists) - Get All Playlists
- [plexGetTokenByPinId](docs/sdks/plex/README.md#gettokenbypinid) - [`playlistsUpdatePlaylist`](docs/sdks/playlists/README.md#updateplaylist) - Update a Playlist
- [plexGetUserFriends](docs/sdks/plex/README.md#getuserfriends) - [`playlistsUploadPlaylist`](docs/sdks/playlists/README.md#uploadplaylist) - Upload Playlist
- [searchGetSearchResults](docs/sdks/search/README.md#getsearchresults) - [`plexGetCompanionsData`](docs/sdks/plex/README.md#getcompanionsdata) - Get Companions Data
- [searchPerformSearch](docs/sdks/search/README.md#performsearch) - [`plexGetGeoData`](docs/sdks/plex/README.md#getgeodata) - Get Geo Data
- [searchPerformVoiceSearch](docs/sdks/search/README.md#performvoicesearch) - [`plexGetHomeData`](docs/sdks/plex/README.md#gethomedata) - Get Plex Home Data
- [serverGetAvailableClients](docs/sdks/server/README.md#getavailableclients) - [`plexGetPin`](docs/sdks/plex/README.md#getpin) - Get a Pin
- [serverGetDevices](docs/sdks/server/README.md#getdevices) - [`plexGetServerResources`](docs/sdks/plex/README.md#getserverresources) - Get Server Resources
- [serverGetMediaProviders](docs/sdks/server/README.md#getmediaproviders) - [`plexGetTokenByPinId`](docs/sdks/plex/README.md#gettokenbypinid) - Get Access Token by PinId
- [serverGetMyPlexAccount](docs/sdks/server/README.md#getmyplexaccount) - [`plexGetUserFriends`](docs/sdks/plex/README.md#getuserfriends) - Get list of friends of the user logged in
- [serverGetResizedPhoto](docs/sdks/server/README.md#getresizedphoto) - [`searchGetSearchResults`](docs/sdks/search/README.md#getsearchresults) - Get Search Results
- [serverGetServerCapabilities](docs/sdks/server/README.md#getservercapabilities) - [`searchPerformSearch`](docs/sdks/search/README.md#performsearch) - Perform a search
- [serverGetServerIdentity](docs/sdks/server/README.md#getserveridentity) - [`searchPerformVoiceSearch`](docs/sdks/search/README.md#performvoicesearch) - Perform a voice search
- [serverGetServerList](docs/sdks/server/README.md#getserverlist) - [`serverGetAvailableClients`](docs/sdks/server/README.md#getavailableclients) - Get Available Clients
- [serverGetServerPreferences](docs/sdks/server/README.md#getserverpreferences) - [`serverGetDevices`](docs/sdks/server/README.md#getdevices) - Get Devices
- [sessionsGetSessionHistory](docs/sdks/sessions/README.md#getsessionhistory) - [`serverGetMediaProviders`](docs/sdks/server/README.md#getmediaproviders) - Get Media Providers
- [sessionsGetSessions](docs/sdks/sessions/README.md#getsessions) - [`serverGetMyPlexAccount`](docs/sdks/server/README.md#getmyplexaccount) - Get MyPlex Account
- [sessionsGetTranscodeSessions](docs/sdks/sessions/README.md#gettranscodesessions) - [`serverGetResizedPhoto`](docs/sdks/server/README.md#getresizedphoto) - Get a Resized Photo
- [sessionsStopTranscodeSession](docs/sdks/sessions/README.md#stoptranscodesession) - [`serverGetServerCapabilities`](docs/sdks/server/README.md#getservercapabilities) - Get Server Capabilities
- [statisticsGetBandwidthStatistics](docs/sdks/statistics/README.md#getbandwidthstatistics) - [`serverGetServerIdentity`](docs/sdks/server/README.md#getserveridentity) - Get Server Identity
- [statisticsGetResourcesStatistics](docs/sdks/statistics/README.md#getresourcesstatistics) - [`serverGetServerList`](docs/sdks/server/README.md#getserverlist) - Get Server List
- [statisticsGetStatistics](docs/sdks/statistics/README.md#getstatistics) - [`serverGetServerPreferences`](docs/sdks/server/README.md#getserverpreferences) - Get Server Preferences
- [updaterApplyUpdates](docs/sdks/updater/README.md#applyupdates) - [`sessionsGetSessionHistory`](docs/sdks/sessions/README.md#getsessionhistory) - Get Session History
- [updaterCheckForUpdates](docs/sdks/updater/README.md#checkforupdates) - [`sessionsGetSessions`](docs/sdks/sessions/README.md#getsessions) - Get Active Sessions
- [updaterGetUpdateStatus](docs/sdks/updater/README.md#getupdatestatus) - [`sessionsGetTranscodeSessions`](docs/sdks/sessions/README.md#gettranscodesessions) - Get Transcode Sessions
- [videoGetTimeline](docs/sdks/video/README.md#gettimeline) - [`sessionsStopTranscodeSession`](docs/sdks/sessions/README.md#stoptranscodesession) - Stop a Transcode Session
- [videoStartUniversalTranscode](docs/sdks/video/README.md#startuniversaltranscode) - [`statisticsGetBandwidthStatistics`](docs/sdks/statistics/README.md#getbandwidthstatistics) - Get Bandwidth Statistics
- [watchlistGetWatchList](docs/sdks/watchlist/README.md#getwatchlist) - [`statisticsGetResourcesStatistics`](docs/sdks/statistics/README.md#getresourcesstatistics) - Get Resources Statistics
- [`statisticsGetStatistics`](docs/sdks/statistics/README.md#getstatistics) - Get Media Statistics
- [`updaterApplyUpdates`](docs/sdks/updater/README.md#applyupdates) - Apply Updates
- [`updaterCheckForUpdates`](docs/sdks/updater/README.md#checkforupdates) - Checking for updates
- [`updaterGetUpdateStatus`](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates
- [`usersGetUsers`](docs/sdks/users/README.md#getusers) - Get list of all connected users
- [`videoGetTimeline`](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item
- [`videoStartUniversalTranscode`](docs/sdks/video/README.md#startuniversaltranscode) - Start Universal Transcode
- [`watchlistGetWatchList`](docs/sdks/watchlist/README.md#getwatchlist) - Get User Watchlist
</details> </details>
<!-- End Standalone functions [standalone-funcs] --> <!-- End Standalone functions [standalone-funcs] -->
<!-- Start File uploads [file-upload] -->
## File uploads
Certain SDK methods accept files as part of a multi-part request. It is possible and typically recommended to upload files as a stream rather than reading the entire contents into memory. This avoids excessive memory consumption and potentially crashing with out-of-memory errors when working with very large files. The following example demonstrates how to attach a file stream to a request.
> [!TIP]
>
> Depending on your JavaScript runtime, there are convenient utilities that return a handle to a file without reading the entire contents into memory:
>
> - **Node.js v20+:** Since v20, Node.js comes with a native `openAsBlob` function in [`node:fs`](https://nodejs.org/docs/latest-v20.x/api/fs.html#fsopenasblobpath-options).
> - **Bun:** The native [`Bun.file`](https://bun.sh/docs/api/file-io#reading-files-bun-file) function produces a file handle that can be used for streaming file uploads.
> - **Browsers:** All supported browsers return an instance to a [`File`](https://developer.mozilla.org/en-US/docs/Web/API/File) when reading the value from an `<input type="file">` element.
> - **Node.js v18:** A file stream can be created using the `fileFrom` helper from [`fetch-blob/from.js`](https://www.npmjs.com/package/fetch-blob).
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
async function run() {
const result = await plexAPI.library.postMediaArts(
2268,
"https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b",
);
// Handle the result
console.log(result);
}
run();
```
<!-- End File uploads [file-upload] -->
<!-- Start Retries [retries] --> <!-- Start Retries [retries] -->
## Retries ## Retries
@@ -627,11 +660,6 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", 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() {
@@ -672,11 +700,6 @@ const plexAPI = new PlexAPI({
retryConnectionErrors: false, retryConnectionErrors: false,
}, },
accessToken: "<YOUR_API_KEY_HERE>", 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() {

View File

@@ -1148,4 +1148,144 @@ Based on:
### Generated ### Generated
- [typescript v0.31.1] . - [typescript v0.31.1] .
### Releases ### Releases
- [NPM v0.31.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.31.1 - . - [NPM v0.31.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.31.1 - .
## 2024-12-20 16:01:16
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.456.1 (2.481.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.32.0] .
### Releases
- [NPM v0.32.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.0 - .
## 2024-12-22 00:10:48
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.459.2 (2.483.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.32.1] .
### Releases
- [NPM v0.32.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.1 - .
## 2025-01-24 00:09:35
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.474.0 (2.495.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.32.2] .
### Releases
- [NPM v0.32.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.2 - .
## 2025-01-27 00:09:48
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.476.1 (2.495.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.32.3] .
### Releases
- [NPM v0.32.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.3 - .
## 2025-02-05 00:09:58
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.484.1 (2.503.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.32.4] .
### Releases
- [NPM v0.32.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.4 - .
## 2025-02-06 00:09:46
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.484.1 (2.503.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.32.5] .
### Releases
- [NPM v0.32.5] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.5 - .
## 2025-02-07 00:09:41
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.487.0 (2.506.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.33.0] .
### Releases
- [NPM v0.33.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.33.0 - .
## 2025-02-10 00:10:04
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.487.1 (2.506.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.34.0] .
### Releases
- [NPM v0.34.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.34.0 - .
## 2025-03-07 00:09:55
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.513.2 (2.545.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.0] .
### Releases
- [NPM v0.35.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.0 - .
## 2025-03-09 00:09:12
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.513.4 (2.545.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.1] .
### Releases
- [NPM v0.35.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.1 - .
## 2025-03-31 16:31:46
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.2] .
### Releases
- [NPM v0.35.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.2 - .
## 2025-03-31 19:33:46
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.3] .
### Releases
- [NPM v0.35.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.3 - .
## 2025-03-31 19:42:25
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.4] .
### Releases
- [NPM v0.35.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.4 - .
## 2025-04-03 00:10:29
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.528.1 (2.565.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.36.0] .
### Releases
- [NPM v0.36.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.0 - .

View File

@@ -1,6 +1,6 @@
# Supported JavaScript runtimes # Supported JavaScript runtimes
This SDK is intended to be used in JavaScript runtimes that support the following features: This SDK is intended to be used in JavaScript runtimes that support ECMAScript 2020 or newer. The SDK uses the following features:
* [Web Fetch API][web-fetch] * [Web Fetch API][web-fetch]
* [Web Streams API][web-streams] and in particular `ReadableStream` * [Web Streams API][web-streams] and in particular `ReadableStream`
@@ -20,3 +20,29 @@ Runtime environments that are explicitly supported are:
- Note that Deno does not currently have native support for streaming file uploads backed by the filesystem ([issue link][deno-file-streaming]) - Note that Deno does not currently have native support for streaming file uploads backed by the filesystem ([issue link][deno-file-streaming])
[deno-file-streaming]: https://github.com/denoland/deno/issues/11018 [deno-file-streaming]: https://github.com/denoland/deno/issues/11018
## Recommended TypeScript compiler options
The following `tsconfig.json` options are recommended for projects using this
SDK in order to get static type support for features like async iterables,
streams and `fetch`-related APIs ([`for await...of`][for-await-of],
[`AbortSignal`][abort-signal], [`Request`][request], [`Response`][response] and
so on):
[for-await-of]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of
[abort-signal]: https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
[request]: https://developer.mozilla.org/en-US/docs/Web/API/Request
[response]: https://developer.mozilla.org/en-US/docs/Web/API/Response
```jsonc
{
"compilerOptions": {
"target": "es2020", // or higher
"lib": ["es2020", "dom", "dom.iterable"],
}
}
```
While `target` can be set to older ECMAScript versions, it may result in extra,
unnecessary compatibility code being generated if you are not targeting old
runtimes.

View File

@@ -4,11 +4,6 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", 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() {

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,11 @@
# GetOnDeckUnauthorized # GetActorsLibraryBadRequest
Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage ## Example Usage
```typescript ```typescript
import { GetOnDeckUnauthorized } from "@lukehagar/plexjs/sdk/models/errors"; import { GetActorsLibraryBadRequest } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model // No examples available for this model
``` ```
@@ -14,5 +14,5 @@ import { GetOnDeckUnauthorized } from "@lukehagar/plexjs/sdk/models/errors";
| Field | Type | Required | Description | | Field | Type | Required | Description |
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `errors` | [errors.GetOnDeckLibraryErrors](../../../sdk/models/errors/getondecklibraryerrors.md)[] | :heavy_minus_sign: | N/A | | `errors` | [errors.GetActorsLibraryErrors](../../../sdk/models/errors/getactorslibraryerrors.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 | | `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 +1,11 @@
# GetMetaDataByRatingKeyErrors # GetActorsLibraryErrors
## Example Usage ## Example Usage
```typescript ```typescript
import { GetMetaDataByRatingKeyErrors } from "@lukehagar/plexjs/sdk/models/errors"; import { GetActorsLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors";
let value: GetMetaDataByRatingKeyErrors = { let value: GetActorsLibraryErrors = {
code: 1000, code: 1000,
message: "X-Plex-Client-Identifier is missing", message: "X-Plex-Client-Identifier is missing",
status: 400, status: 400,

View File

@@ -1,11 +1,11 @@
# GetMetaDataByRatingKeyLibraryErrors # GetActorsLibraryLibraryErrors
## Example Usage ## Example Usage
```typescript ```typescript
import { GetMetaDataByRatingKeyLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors"; import { GetActorsLibraryLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors";
let value: GetMetaDataByRatingKeyLibraryErrors = { let value: GetActorsLibraryLibraryErrors = {
code: 1001, code: 1001,
message: "User could not be authenticated", message: "User could not be authenticated",
status: 401, status: 401,

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,18 @@
# GetMediaMetaDataUnauthorized
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetMediaMetaDataUnauthorized } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `errors` | [errors.GetMediaMetaDataLibraryErrors](../../../sdk/models/errors/getmediametadatalibraryerrors.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,18 +0,0 @@
# GetMetaDataByRatingKeyBadRequest
Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage
```typescript
import { GetMetaDataByRatingKeyBadRequest } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `errors` | [errors.GetMetaDataByRatingKeyErrors](../../../sdk/models/errors/getmetadatabyratingkeyerrors.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,18 +0,0 @@
# GetMetaDataByRatingKeyUnauthorized
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetMetaDataByRatingKeyUnauthorized } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `errors` | [errors.GetMetaDataByRatingKeyLibraryErrors](../../../sdk/models/errors/getmetadatabyratingkeylibraryerrors.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,18 +0,0 @@
# GetOnDeckBadRequest
Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage
```typescript
import { GetOnDeckBadRequest } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `errors` | [errors.GetOnDeckErrors](../../../sdk/models/errors/getondeckerrors.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,18 @@
# GetUsersBadRequest
Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage
```typescript
import { GetUsersBadRequest } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| `errors` | [errors.GetUsersErrors](../../../sdk/models/errors/getuserserrors.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 +1,11 @@
# GetOnDeckErrors # GetUsersErrors
## Example Usage ## Example Usage
```typescript ```typescript
import { GetOnDeckErrors } from "@lukehagar/plexjs/sdk/models/errors"; import { GetUsersErrors } from "@lukehagar/plexjs/sdk/models/errors";
let value: GetOnDeckErrors = { let value: GetUsersErrors = {
code: 1000, code: 1000,
message: "X-Plex-Client-Identifier is missing", message: "X-Plex-Client-Identifier is missing",
status: 400, status: 400,

View File

@@ -0,0 +1,18 @@
# GetUsersUnauthorized
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetUsersUnauthorized } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `errors` | [errors.GetUsersUsersErrors](../../../sdk/models/errors/getusersuserserrors.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 +1,11 @@
# GetOnDeckLibraryErrors # GetUsersUsersErrors
## Example Usage ## Example Usage
```typescript ```typescript
import { GetOnDeckLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors"; import { GetUsersUsersErrors } from "@lukehagar/plexjs/sdk/models/errors";
let value: GetOnDeckLibraryErrors = { let value: GetUsersUsersErrors = {
code: 1001, code: 1001,
message: "User could not be authenticated", message: "User could not be authenticated",
status: 401, status: 401,

View File

@@ -6,7 +6,7 @@
import { AddPlaylistContentsRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { AddPlaylistContentsRequest } from "@lukehagar/plexjs/sdk/models/operations";
let value: AddPlaylistContentsRequest = { let value: AddPlaylistContentsRequest = {
playlistID: 6289.82, playlistID: 5654.21,
uri: "server://12345/com.plexapp.plugins.library/library/metadata/1", uri: "server://12345/com.plexapp.plugins.library/library/metadata/1",
playQueueID: 123, playQueueID: 123,
}; };

View File

@@ -7,7 +7,7 @@ import { AddPlaylistContentsResponse } from "@lukehagar/plexjs/sdk/models/operat
let value: AddPlaylistContentsResponse = { let value: AddPlaylistContentsResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 503, statusCode: 100,
rawResponse: new Response("{\"message\": \"hello world\"}", { rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
}), }),

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -7,7 +7,7 @@ import { ApplyUpdatesResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: ApplyUpdatesResponse = { let value: ApplyUpdatesResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 103, statusCode: 305,
rawResponse: new Response("{\"message\": \"hello world\"}", { rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
}), }),

View File

@@ -7,7 +7,7 @@ import { Billing } from "@lukehagar/plexjs/sdk/models/operations";
let value: Billing = { let value: Billing = {
internalPaymentMethod: {}, internalPaymentMethod: {},
paymentMethodId: 374170, paymentMethodId: 16429,
}; };
``` ```

View File

@@ -7,7 +7,7 @@ import { CheckForUpdatesResponse } from "@lukehagar/plexjs/sdk/models/operations
let value: CheckForUpdatesResponse = { let value: CheckForUpdatesResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 201, statusCode: 505,
rawResponse: new Response("{\"message\": \"hello world\"}", { rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
}), }),

View File

@@ -6,7 +6,7 @@
import { ClearPlaylistContentsRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { ClearPlaylistContentsRequest } from "@lukehagar/plexjs/sdk/models/operations";
let value: ClearPlaylistContentsRequest = { let value: ClearPlaylistContentsRequest = {
playlistID: 3834.64, playlistID: 1320.68,
}; };
``` ```

View File

@@ -7,7 +7,7 @@ import { ClearPlaylistContentsResponse } from "@lukehagar/plexjs/sdk/models/oper
let value: ClearPlaylistContentsResponse = { let value: ClearPlaylistContentsResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 307, statusCode: 411,
rawResponse: new Response("{\"message\": \"hello world\"}", { rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
}), }),

View File

@@ -6,12 +6,12 @@
import { Collection } from "@lukehagar/plexjs/sdk/models/operations"; import { Collection } from "@lukehagar/plexjs/sdk/models/operations";
let value: Collection = { let value: Collection = {
tag: "Working NL Subs", tag: "My Awesome Collection",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
| `tag` | *string* | :heavy_minus_sign: | N/A | Working NL Subs | | `tag` | *string* | :heavy_check_mark: | The user-made collection this media item belongs to | My Awesome Collection |

View File

@@ -1,17 +1,23 @@
# Country # Country
The filter query string for country media items.
## Example Usage ## Example Usage
```typescript ```typescript
import { Country } from "@lukehagar/plexjs/sdk/models/operations"; import { Country } from "@lukehagar/plexjs/sdk/models/operations";
let value: Country = { let value: Country = {
id: 259,
tag: "United States of America", tag: "United States of America",
filter: "country=19",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `tag` | *string* | :heavy_minus_sign: | N/A | United States of America | | `id` | *number* | :heavy_check_mark: | N/A | 259 |
| `tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America |
| `filter` | *string* | :heavy_minus_sign: | N/A | country=19 |

View File

@@ -7,7 +7,7 @@ type of playlist to create
```typescript ```typescript
import { CreatePlaylistQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; import { CreatePlaylistQueryParamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: CreatePlaylistQueryParamType = CreatePlaylistQueryParamType.Audio; let value: CreatePlaylistQueryParamType = CreatePlaylistQueryParamType.Video;
``` ```
## Values ## Values

View File

@@ -9,7 +9,7 @@ let value: CreatePlaylistRequest = {
title: "<value>", title: "<value>",
type: CreatePlaylistQueryParamType.Photo, type: CreatePlaylistQueryParamType.Photo,
smart: Smart.One, smart: Smart.One,
uri: "https://enchanted-disclosure.com/", uri: "https://firsthand-section.biz",
}; };
``` ```

View File

@@ -7,7 +7,7 @@ import { CreatePlaylistResponse } from "@lukehagar/plexjs/sdk/models/operations"
let value: CreatePlaylistResponse = { let value: CreatePlaylistResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 302, statusCode: 507,
rawResponse: new Response("{\"message\": \"hello world\"}", { rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
}), }),

View File

@@ -7,7 +7,7 @@ import { DeleteLibraryResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: DeleteLibraryResponse = { let value: DeleteLibraryResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 507, statusCode: 451,
rawResponse: new Response("{\"message\": \"hello world\"}", { rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
}), }),

View File

@@ -6,7 +6,7 @@
import { DeletePlaylistRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { DeletePlaylistRequest } from "@lukehagar/plexjs/sdk/models/operations";
let value: DeletePlaylistRequest = { let value: DeletePlaylistRequest = {
playlistID: 5365.79, playlistID: 2074.7,
}; };
``` ```

View File

@@ -7,7 +7,7 @@ import { DeletePlaylistResponse } from "@lukehagar/plexjs/sdk/models/operations"
let value: DeletePlaylistResponse = { let value: DeletePlaylistResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 511, statusCode: 303,
rawResponse: new Response("{\"message\": \"hello world\"}", { rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
}), }),

View File

@@ -6,12 +6,12 @@
import { Director } from "@lukehagar/plexjs/sdk/models/operations"; import { Director } from "@lukehagar/plexjs/sdk/models/operations";
let value: Director = { let value: Director = {
tag: "James Cameron", tag: "Danny Boyle",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- |
| `tag` | *string* | :heavy_minus_sign: | N/A | James Cameron | | `tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle |

View File

@@ -0,0 +1,19 @@
# EnableCreditsMarkerGeneration
Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
## Example Usage
```typescript
import { EnableCreditsMarkerGeneration } from "@lukehagar/plexjs/sdk/models/operations";
let value: EnableCreditsMarkerGeneration =
EnableCreditsMarkerGeneration.LibraryDefault;
```
## Values
| Name | Value |
| ---------------- | ---------------- |
| `LibraryDefault` | -1 |
| `Disabled` | 0 |

View File

@@ -7,7 +7,7 @@ import { EnablePaperTrailResponse } from "@lukehagar/plexjs/sdk/models/operation
let value: EnablePaperTrailResponse = { let value: EnablePaperTrailResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 203, statusCode: 409,
rawResponse: new Response("{\"message\": \"hello world\"}", { rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
}), }),

View File

@@ -0,0 +1,19 @@
# EpisodeSort
Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
## Example Usage
```typescript
import { EpisodeSort } from "@lukehagar/plexjs/sdk/models/operations";
let value: EpisodeSort = EpisodeSort.OldestFirst;
```
## Values
| Name | Value |
| ---------------- | ---------------- |
| `LibraryDefault` | -1 |
| `OldestFirst` | 0 |
| `NewestFirst` | 1 |

View File

@@ -1,16 +1,19 @@
# FlattenSeasons # FlattenSeasons
Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
## Example Usage ## Example Usage
```typescript ```typescript
import { FlattenSeasons } from "@lukehagar/plexjs/sdk/models/operations"; import { FlattenSeasons } from "@lukehagar/plexjs/sdk/models/operations";
let value: FlattenSeasons = FlattenSeasons.True; let value: FlattenSeasons = FlattenSeasons.Show;
``` ```
## Values ## Values
| Name | Value | | Name | Value |
| ------- | ------- | | ---------------- | ---------------- |
| `False` | 0 | | `LibraryDefault` | -1 |
| `True` | 1 | | `Hide` | 0 |
| `Show` | 1 |

View File

@@ -7,7 +7,7 @@ Force the refresh even if the library is already being refreshed.
```typescript ```typescript
import { Force } from "@lukehagar/plexjs/sdk/models/operations"; import { Force } from "@lukehagar/plexjs/sdk/models/operations";
let value: Force = Force.Zero; let value: Force = Force.One;
``` ```
## Values ## Values

View File

@@ -10,13 +10,8 @@ let value: Friend = {
friendlyName: "exampleUser", friendlyName: "exampleUser",
home: true, home: true,
id: 0, id: 0,
restricted: false, sharedServers: [],
sharedServers: [ sharedSources: [],
{},
],
sharedSources: [
{},
],
status: Status.Accepted, status: Status.Accepted,
thumb: "https://plex.tv/users/7d1916e0d8f6e76b/avatar?c=1694481578", thumb: "https://plex.tv/users/7d1916e0d8f6e76b/avatar?c=1694481578",
title: "username123", title: "username123",

View File

@@ -1,17 +1,23 @@
# Genre # Genre
The filter query string for similar items.
## Example Usage ## Example Usage
```typescript ```typescript
import { Genre } from "@lukehagar/plexjs/sdk/models/operations"; import { Genre } from "@lukehagar/plexjs/sdk/models/operations";
let value: Genre = { let value: Genre = {
tag: "Adventure", id: 259,
filter: "genre=19",
tag: "Crime",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- |
| `tag` | *string* | :heavy_minus_sign: | N/A | Adventure | | `id` | *number* | :heavy_check_mark: | N/A | 259 |
| `filter` | *string* | :heavy_check_mark: | N/A | genre=19 |
| `tag` | *string* | :heavy_check_mark: | The genre name of this media-item<br/> | Crime |

View File

@@ -12,11 +12,8 @@ let value: GeoData = {
continentCode: "NA", continentCode: "NA",
country: "United States Virgin Islands", country: "United States Virgin Islands",
city: "Amsterdam", city: "Amsterdam",
europeanUnionMember: true,
timeZone: "America/St_Thomas", timeZone: "America/St_Thomas",
postalCode: "802", postalCode: "802",
inPrivacyRestrictedCountry: true,
inPrivacyRestrictedRegion: true,
subdivisions: "Saint Thomas", subdivisions: "Saint Thomas",
coordinates: "18.3381, -64.8941", coordinates: "18.3381, -64.8941",
}; };

View File

@@ -0,0 +1,24 @@
# GetActorsLibraryDirectory
## Example Usage
```typescript
import { GetActorsLibraryDirectory } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetActorsLibraryDirectory = {
fastKey: "/library/sections/2/all?actor=134671",
thumb:
"https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg",
key: "134671",
title: "Aaron Paul",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `fastKey` | *string* | :heavy_check_mark: | A fast lookup key for the actor relative url. | /library/sections/2/all?actor=134671 |
| `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the actor. | https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg |
| `key` | *string* | :heavy_check_mark: | A unique key representing the actor. | 134671 |
| `title` | *string* | :heavy_check_mark: | The name of the actor. | Aaron Paul |

View File

@@ -0,0 +1,49 @@
# GetActorsLibraryMediaContainer
## Example Usage
```typescript
import { GetActorsLibraryMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetActorsLibraryMediaContainer = {
size: 50,
allowSync: false,
art: "/:/resources/show-fanart.jpg",
identifier: "com.plexapp.plugins.library",
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1734362201,
nocache: true,
thumb: "/:/resources/show.png",
title1: "TV Series",
title2: "By Starring Actor",
viewGroup: "secondary",
viewMode: "131131",
directory: [
{
fastKey: "/library/sections/2/all?actor=134671",
thumb:
"https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg",
key: "134671",
title: "Aaron Paul",
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `size` | *number* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `allowSync` | *boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
| `mediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
| `mediaTagVersion` | *number* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
| `nocache` | *boolean* | :heavy_check_mark: | Specifies whether caching is disabled. | true |
| `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
| `title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
| `viewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
| `viewMode` | *string* | :heavy_check_mark: | Identifier for the view mode. | 131131 |
| `directory` | [operations.GetActorsLibraryDirectory](../../../sdk/models/operations/getactorslibrarydirectory.md)[] | :heavy_minus_sign: | An array of actor entries for media items. | |

View File

@@ -0,0 +1,30 @@
# GetActorsLibraryQueryParamType
The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
## Example Usage
```typescript
import { GetActorsLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetActorsLibraryQueryParamType =
GetActorsLibraryQueryParamType.TvShow;
```
## Values
| Name | Value |
| --------- | --------- |
| `Movie` | 1 |
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
| `Audio` | 8 |
| `Album` | 9 |
| `Track` | 10 |

View File

@@ -0,0 +1,19 @@
# GetActorsLibraryRequest
## Example Usage
```typescript
import { GetActorsLibraryQueryParamType, GetActorsLibraryRequest } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetActorsLibraryRequest = {
sectionKey: 9518,
type: GetActorsLibraryQueryParamType.TvShow,
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |
| `type` | [operations.GetActorsLibraryQueryParamType](../../../sdk/models/operations/getactorslibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.<br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |

View File

@@ -0,0 +1,49 @@
# GetActorsLibraryResponse
## Example Usage
```typescript
import { GetActorsLibraryResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetActorsLibraryResponse = {
contentType: "<value>",
statusCode: 300,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 50,
allowSync: false,
art: "/:/resources/show-fanart.jpg",
identifier: "com.plexapp.plugins.library",
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1734362201,
nocache: true,
thumb: "/:/resources/show.png",
title1: "TV Series",
title2: "By Starring Actor",
viewGroup: "secondary",
viewMode: "131131",
directory: [
{
fastKey: "/library/sections/2/all?actor=134671",
thumb:
"https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg",
key: "134671",
title: "Aaron Paul",
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [operations.GetActorsLibraryResponseBody](../../../sdk/models/operations/getactorslibraryresponsebody.md) | :heavy_minus_sign: | Successful response containing media container data. |

View File

@@ -0,0 +1,41 @@
# GetActorsLibraryResponseBody
Successful response containing media container data.
## Example Usage
```typescript
import { GetActorsLibraryResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetActorsLibraryResponseBody = {
mediaContainer: {
size: 50,
allowSync: false,
art: "/:/resources/show-fanart.jpg",
identifier: "com.plexapp.plugins.library",
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1734362201,
nocache: true,
thumb: "/:/resources/show.png",
title1: "TV Series",
title2: "By Starring Actor",
viewGroup: "secondary",
viewMode: "131131",
directory: [
{
fastKey: "/library/sections/2/all?actor=134671",
thumb:
"https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg",
key: "134671",
title: "Aaron Paul",
},
],
},
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `mediaContainer` | [operations.GetActorsLibraryMediaContainer](../../../sdk/models/operations/getactorslibrarymediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -7,7 +7,7 @@ import { GetAllLibrariesResponse } from "@lukehagar/plexjs/sdk/models/operations
let value: GetAllLibrariesResponse = { let value: GetAllLibrariesResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 308, statusCode: 508,
rawResponse: new Response("{\"message\": \"hello world\"}", { rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
}), }),

View File

@@ -0,0 +1,20 @@
# GetAllMediaLibraryActiveDirection
The direction of the sort. Can be either `asc` or `desc`.
## Example Usage
```typescript
import { GetAllMediaLibraryActiveDirection } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryActiveDirection =
GetAllMediaLibraryActiveDirection.Ascending;
```
## Values
| Name | Value |
| ------------ | ------------ |
| `Ascending` | asc |
| `Descending` | desc |

View File

@@ -0,0 +1,17 @@
# GetAllMediaLibraryCollection
## Example Usage
```typescript
import { GetAllMediaLibraryCollection } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryCollection = {
tag: "My Awesome Collection",
};
```
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
| `tag` | *string* | :heavy_check_mark: | The user-made collection this media item belongs to | My Awesome Collection |

View File

@@ -0,0 +1,17 @@
# GetAllMediaLibraryCountry
## Example Usage
```typescript
import { GetAllMediaLibraryCountry } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryCountry = {
tag: "United States of America",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America |

View File

@@ -0,0 +1,20 @@
# GetAllMediaLibraryDefaultDirection
The direction of the sort. Can be either `asc` or `desc`.
## Example Usage
```typescript
import { GetAllMediaLibraryDefaultDirection } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryDefaultDirection =
GetAllMediaLibraryDefaultDirection.Ascending;
```
## Values
| Name | Value |
| ------------ | ------------ |
| `Ascending` | asc |
| `Descending` | desc |

View File

@@ -0,0 +1,17 @@
# GetAllMediaLibraryDirector
## Example Usage
```typescript
import { GetAllMediaLibraryDirector } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryDirector = {
tag: "Danny Boyle",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- |
| `tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle |

View File

@@ -0,0 +1,23 @@
# GetAllMediaLibraryField
## Example Usage
```typescript
import { GetAllMediaLibraryField } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryField = {
key: "show.title",
title: "Show Title",
type: "string",
subType: "rating",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `key` | *string* | :heavy_check_mark: | N/A | show.title |
| `title` | *string* | :heavy_check_mark: | N/A | Show Title |
| `type` | *string* | :heavy_check_mark: | N/A | string |
| `subType` | *string* | :heavy_minus_sign: | N/A | rating |

View File

@@ -0,0 +1,24 @@
# GetAllMediaLibraryFieldType
## Example Usage
```typescript
import { GetAllMediaLibraryFieldType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryFieldType = {
type: "tag",
operator: [
{
key: "=",
title: "is",
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `type` | *string* | :heavy_check_mark: | N/A | tag |
| `operator` | [operations.GetAllMediaLibraryOperator](../../../sdk/models/operations/getallmedialibraryoperator.md)[] | :heavy_check_mark: | N/A | |

View File

@@ -0,0 +1,27 @@
# GetAllMediaLibraryFilter
## Example Usage
```typescript
import { GetAllMediaLibraryFilter } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryFilter = {
filter: "genre",
filterType: "string",
key: "/library/sections/2/genre?type=2",
title: "Genre",
type: "filter",
advanced: true,
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- |
| `filter` | *string* | :heavy_check_mark: | N/A | genre |
| `filterType` | *string* | :heavy_check_mark: | N/A | string |
| `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 |
| `title` | *string* | :heavy_check_mark: | N/A | Genre |
| `type` | *string* | :heavy_check_mark: | N/A | filter |
| `advanced` | *boolean* | :heavy_minus_sign: | N/A | true |

View File

@@ -0,0 +1,17 @@
# GetAllMediaLibraryGenre
## Example Usage
```typescript
import { GetAllMediaLibraryGenre } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryGenre = {
tag: "Crime",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- |
| `tag` | *string* | :heavy_check_mark: | The genre name of this media-item<br/> | Crime |

View File

@@ -0,0 +1,17 @@
# GetAllMediaLibraryGuids
## Example Usage
```typescript
import { GetAllMediaLibraryGuids } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryGuids = {
id: "tvdb://2337",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `id` | *string* | :heavy_minus_sign: | The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337<br/> | tvdb://2337 |

View File

@@ -0,0 +1,18 @@
# GetAllMediaLibraryHasThumbnail
Indicates if the part has a thumbnail.
## Example Usage
```typescript
import { GetAllMediaLibraryHasThumbnail } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryHasThumbnail = GetAllMediaLibraryHasThumbnail.True;
```
## Values
| Name | Value |
| ------- | ------- |
| `False` | 0 |
| `True` | 1 |

View File

@@ -0,0 +1,21 @@
# GetAllMediaLibraryImage
## Example Usage
```typescript
import { GetAllMediaLibraryImage, GetAllMediaLibraryLibraryResponseType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryImage = {
alt: "Episode 1",
type: GetAllMediaLibraryLibraryResponseType.Background,
url: "/library/metadata/45521/thumb/1644710589",
};
```
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `alt` | *string* | :heavy_check_mark: | N/A | Episode 1 |
| `type` | [operations.GetAllMediaLibraryLibraryResponseType](../../../sdk/models/operations/getallmedialibrarylibraryresponsetype.md) | :heavy_check_mark: | N/A | background |
| `url` | *string* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 |

View File

@@ -0,0 +1,20 @@
# GetAllMediaLibraryLibraryOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
## Supported Types
### `operations.GetAllMediaLibraryOptimizedForStreaming1`
```typescript
const value: operations.GetAllMediaLibraryOptimizedForStreaming1 =
GetAllMediaLibraryOptimizedForStreaming1.One;
```
### `boolean`
```typescript
const value: boolean = false;
```

View File

@@ -0,0 +1,19 @@
# GetAllMediaLibraryLibraryResponseType
## Example Usage
```typescript
import { GetAllMediaLibraryLibraryResponseType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryLibraryResponseType =
GetAllMediaLibraryLibraryResponseType.Background;
```
## Values
| Name | Value |
| ------------- | ------------- |
| `CoverPoster` | coverPoster |
| `Background` | background |
| `Snapshot` | snapshot |
| `ClearLogo` | clearLogo |

View File

@@ -0,0 +1,23 @@
# GetAllMediaLibraryLibraryType
The type of media content
## Example Usage
```typescript
import { GetAllMediaLibraryLibraryType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryLibraryType = GetAllMediaLibraryLibraryType.Movie;
```
## Values
| Name | Value |
| --------- | --------- |
| `Movie` | movie |
| `TvShow` | show |
| `Season` | season |
| `Episode` | episode |
| `Artist` | artist |
| `Album` | album |

View File

@@ -0,0 +1,121 @@
# GetAllMediaLibraryMedia
## Example Usage
```typescript
import { GetAllMediaLibraryMedia } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryMedia = {
id: 387322,
duration: 9610350,
bitrate: 25512,
width: 3840,
height: 1602,
aspectRatio: 2.35,
audioChannels: 6,
displayOffset: 50,
audioCodec: "eac3",
videoCodec: "hevc",
videoResolution: "4k",
container: "mkv",
videoFrameRate: "24p",
videoProfile: "main 10",
hasVoiceActivity: false,
audioProfile: "dts",
has64bitOffsets: false,
part: [
{
accessible: true,
exists: true,
id: 418385,
key: "/library/parts/418385/1735864239/file.mkv",
indexes: "sd",
duration: 9610350,
file: "/mnt/Movies_1/W/Wicked (2024).mkv",
size: 30649952104,
packetLength: 188,
container: "mkv",
videoProfile: "main 10",
audioProfile: "dts",
has64bitOffsets: false,
stream: [
{
id: 1002625,
streamType: 1,
default: true,
codec: "hevc",
index: 0,
bitrate: 24743,
language: "English",
languageTag: "en",
languageCode: "eng",
headerCompression: true,
doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitDepth: 10,
chromaLocation: "topleft",
chromaSubsampling: "4:2:0",
codedHeight: 1608,
codedWidth: 3840,
closedCaptions: true,
colorPrimaries: "bt2020",
colorRange: "tv",
colorSpace: "bt2020nc",
colorTrc: "smpte2084",
frameRate: 23.976,
height: 1602,
level: 150,
original: true,
hasScalingMatrix: false,
profile: "main 10",
scanType: "progressive",
embeddedInVideo: "progressive",
refFrames: 1,
width: 3840,
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
selected: true,
forced: true,
channels: 6,
audioChannelLayout: "5.1(side)",
samplingRate: 48000,
canAutoSync: false,
hearingImpaired: true,
dub: true,
title: "SDH",
},
],
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | Unique media identifier. | 387322 |
| `duration` | *number* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 |
| `bitrate` | *number* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 |
| `width` | *number* | :heavy_minus_sign: | Video width in pixels. | 3840 |
| `height` | *number* | :heavy_minus_sign: | Video height in pixels. | 1602 |
| `aspectRatio` | *number* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 |
| `audioChannels` | *number* | :heavy_minus_sign: | Number of audio channels. | 6 |
| `displayOffset` | *number* | :heavy_minus_sign: | N/A | 50 |
| `audioCodec` | *string* | :heavy_minus_sign: | Audio codec used. | eac3 |
| `videoCodec` | *string* | :heavy_minus_sign: | Video codec used. | hevc |
| `videoResolution` | *string* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k |
| `container` | *string* | :heavy_minus_sign: | File container type. | mkv |
| `videoFrameRate` | *string* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p<br/> | 24p |
| `videoProfile` | *string* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 |
| `hasVoiceActivity` | *boolean* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false |
| `audioProfile` | *string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
| `optimizedForStreaming` | *operations.GetAllMediaLibraryOptimizedForStreaming* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `has64bitOffsets` | *boolean* | :heavy_minus_sign: | N/A | false |
| `part` | [operations.GetAllMediaLibraryPart](../../../sdk/models/operations/getallmedialibrarypart.md)[] | :heavy_minus_sign: | An array of parts for this media item. | |

View File

@@ -0,0 +1,307 @@
# GetAllMediaLibraryMediaContainer
## Example Usage
```typescript
import {
GetAllMediaLibraryLibraryResponseType,
GetAllMediaLibraryLibraryType,
GetAllMediaLibraryMediaContainer,
} from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetAllMediaLibraryMediaContainer = {
size: 50,
totalSize: 50,
offset: 0,
allowSync: false,
art: "/:/resources/show-fanart.jpg",
content: "secondary",
identifier: "com.plexapp.plugins.library",
librarySectionID: 2,
librarySectionTitle: "TV Series",
librarySectionUUID: "e69655a2-ef48-4aba-bb19-0cc34d1e7d36",
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1734362201,
thumb: "/:/resources/show.png",
nocache: true,
title1: "TV Series",
title2: "By Starring Actor",
viewGroup: "secondary",
meta: {
type: [
{
key: "/library/sections/2/all?type=2",
type: "filter",
subtype: "clip",
title: "TV Shows",
active: false,
filter: [
{
filter: "genre",
filterType: "string",
key: "/library/sections/2/genre?type=2",
title: "Genre",
type: "filter",
advanced: true,
},
],
sort: [
{
default: "asc",
active: false,
descKey: "titleSort:desc",
firstCharacterKey: "/library/sections/2/firstCharacter",
key: "titleSort",
title: "Title",
},
],
field: [
{
key: "show.title",
title: "Show Title",
type: "string",
subType: "rating",
},
],
},
],
fieldType: [
{
type: "tag",
operator: [
{
key: "=",
title: "is",
},
],
},
],
},
metadata: [
{
ratingKey: "58683",
key: "/library/metadata/58683",
guid: "plex://movie/5d7768ba96b655001fdc0408",
slug: "4-for-texas",
studio: "20th Century Studios",
type: GetAllMediaLibraryLibraryType.Movie,
title: "Avatar: The Way of Water",
titleSort: "Whale",
contentRating: "PG-13",
summary:
"Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\n"
+ "Once a familiar threat returns to finish what was previously started, Jake must\n"
+ "work with Neytiri and the army of the Na'vi race to protect their home.\n"
+ "",
rating: 7.6,
audienceRating: 9.2,
year: 2022,
tagline: "Return to Pandora.",
thumb: "/library/metadata/58683/thumb/1703239236",
art: "/library/metadata/58683/art/1703239236",
theme: "/library/metadata/1/theme/1705636920",
index: 1,
leafCount: 14,
viewedLeafCount: 0,
childCount: 1,
seasonCount: 2022,
duration: 11558112,
originallyAvailableAt: new RFCDate("2022-12-14"),
addedAt: 1556281940,
updatedAt: 1556281940,
audienceRatingImage: "rottentomatoes://image.rating.upright",
chapterSource: "media",
primaryExtraKey: "/library/metadata/58684",
originalTitle: "映画 ブラッククローバー 魔法帝の剣",
parentRatingKey: "66",
grandparentRatingKey: "66",
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
grandparentSlug: "alice-in-borderland-2020",
grandparentKey: "/library/metadata/66",
parentKey: "/library/metadata/66",
grandparentTitle: "Caprica",
grandparentThumb: "/library/metadata/66/thumb/1705716261",
grandparentTheme: "/library/metadata/66/theme/1705716261",
grandparentArt: "/library/metadata/66/art/1705716261",
parentTitle: "Caprica",
parentIndex: 1,
parentThumb: "/library/metadata/66/thumb/1705716261",
ratingImage: "rottentomatoes://image.rating.ripe",
viewCount: 1,
viewOffset: 5222500,
skipCount: 1,
subtype: "clip",
lastRatedAt: 1721813113,
createdAtAccuracy: "epoch,local",
createdAtTZOffset: "0",
lastViewedAt: 1682752242,
userRating: 10,
image: [
{
alt: "Episode 1",
type: GetAllMediaLibraryLibraryResponseType.Background,
url: "/library/metadata/45521/thumb/1644710589",
},
],
ultraBlurColors: {
topLeft: "11333b",
topRight: "0a232d",
bottomRight: "73958",
bottomLeft: "1f5066",
},
media: [
{
id: 387322,
duration: 9610350,
bitrate: 25512,
width: 3840,
height: 1602,
aspectRatio: 2.35,
audioChannels: 6,
displayOffset: 50,
audioCodec: "eac3",
videoCodec: "hevc",
videoResolution: "4k",
container: "mkv",
videoFrameRate: "24p",
videoProfile: "main 10",
hasVoiceActivity: false,
audioProfile: "dts",
has64bitOffsets: false,
part: [
{
accessible: true,
exists: true,
id: 418385,
key: "/library/parts/418385/1735864239/file.mkv",
indexes: "sd",
duration: 9610350,
file: "/mnt/Movies_1/W/Wicked (2024).mkv",
size: 30649952104,
packetLength: 188,
container: "mkv",
videoProfile: "main 10",
audioProfile: "dts",
has64bitOffsets: false,
stream: [
{
id: 1002625,
streamType: 1,
default: true,
codec: "hevc",
index: 0,
bitrate: 24743,
language: "English",
languageTag: "en",
languageCode: "eng",
headerCompression: true,
doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitDepth: 10,
chromaLocation: "topleft",
chromaSubsampling: "4:2:0",
codedHeight: 1608,
codedWidth: 3840,
closedCaptions: true,
colorPrimaries: "bt2020",
colorRange: "tv",
colorSpace: "bt2020nc",
colorTrc: "smpte2084",
frameRate: 23.976,
height: 1602,
level: 150,
original: true,
hasScalingMatrix: false,
profile: "main 10",
scanType: "progressive",
embeddedInVideo: "progressive",
refFrames: 1,
width: 3840,
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
selected: true,
forced: true,
channels: 6,
audioChannelLayout: "5.1(side)",
samplingRate: 48000,
canAutoSync: false,
hearingImpaired: true,
dub: true,
title: "SDH",
},
],
},
],
},
],
genre: [
{
tag: "Crime",
},
],
country: [
{
tag: "United States of America",
},
],
director: [
{
tag: "Danny Boyle",
},
],
writer: [
{
tag: "Jamie P. Hanson",
},
],
role: [
{
tag: "Teller",
},
],
guids: [
{
id: "tvdb://2337",
},
],
collection: [
{
tag: "My Awesome Collection",
},
],
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `size` | *number* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `totalSize` | *number* | :heavy_check_mark: | Total number of media items in the library. | 50 |
| `offset` | *number* | :heavy_check_mark: | Offset value for pagination. | 0 |
| `allowSync` | *boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `content` | *string* | :heavy_check_mark: | The content type or mode. | secondary |
| `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
| `librarySectionID` | *number* | :heavy_check_mark: | The unique identifier for the library section. | 2 |
| `librarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series |
| `librarySectionUUID` | *string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 |
| `mediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
| `mediaTagVersion` | *number* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
| `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `nocache` | *boolean* | :heavy_check_mark: | Specifies whether caching is disabled. | true |
| `title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
| `title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
| `viewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
| `meta` | [operations.GetAllMediaLibraryMeta](../../../sdk/models/operations/getallmedialibrarymeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.<br/> | |
| `metadata` | [operations.GetAllMediaLibraryMetadata](../../../sdk/models/operations/getallmedialibrarymetadata.md)[] | :heavy_minus_sign: | An array of metadata items. | |

View File

@@ -0,0 +1,68 @@
# GetAllMediaLibraryMeta
The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
## Example Usage
```typescript
import { GetAllMediaLibraryMeta } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryMeta = {
type: [
{
key: "/library/sections/2/all?type=2",
type: "filter",
subtype: "clip",
title: "TV Shows",
active: false,
filter: [
{
filter: "genre",
filterType: "string",
key: "/library/sections/2/genre?type=2",
title: "Genre",
type: "filter",
advanced: true,
},
],
sort: [
{
default: "asc",
active: false,
descKey: "titleSort:desc",
firstCharacterKey: "/library/sections/2/firstCharacter",
key: "titleSort",
title: "Title",
},
],
field: [
{
key: "show.title",
title: "Show Title",
type: "string",
subType: "rating",
},
],
},
],
fieldType: [
{
type: "tag",
operator: [
{
key: "=",
title: "is",
},
],
},
],
};
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `type` | [operations.GetAllMediaLibraryType](../../../sdk/models/operations/getallmedialibrarytype.md)[] | :heavy_minus_sign: | N/A |
| `fieldType` | [operations.GetAllMediaLibraryFieldType](../../../sdk/models/operations/getallmedialibraryfieldtype.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,284 @@
# GetAllMediaLibraryMetadata
Unknown
## Example Usage
```typescript
import {
GetAllMediaLibraryLibraryResponseType,
GetAllMediaLibraryLibraryType,
GetAllMediaLibraryMetadata,
} from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetAllMediaLibraryMetadata = {
ratingKey: "58683",
key: "/library/metadata/58683",
guid: "plex://movie/5d7768ba96b655001fdc0408",
slug: "4-for-texas",
studio: "20th Century Studios",
type: GetAllMediaLibraryLibraryType.Movie,
title: "Avatar: The Way of Water",
titleSort: "Whale",
contentRating: "PG-13",
summary:
"Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\n"
+ "Once a familiar threat returns to finish what was previously started, Jake must\n"
+ "work with Neytiri and the army of the Na'vi race to protect their home.\n"
+ "",
rating: 7.6,
audienceRating: 9.2,
year: 2022,
tagline: "Return to Pandora.",
thumb: "/library/metadata/58683/thumb/1703239236",
art: "/library/metadata/58683/art/1703239236",
theme: "/library/metadata/1/theme/1705636920",
index: 1,
leafCount: 14,
viewedLeafCount: 0,
childCount: 1,
seasonCount: 2022,
duration: 11558112,
originallyAvailableAt: new RFCDate("2022-12-14"),
addedAt: 1556281940,
updatedAt: 1556281940,
audienceRatingImage: "rottentomatoes://image.rating.upright",
chapterSource: "media",
primaryExtraKey: "/library/metadata/58684",
originalTitle: "映画 ブラッククローバー 魔法帝の剣",
parentRatingKey: "66",
grandparentRatingKey: "66",
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
grandparentSlug: "alice-in-borderland-2020",
grandparentKey: "/library/metadata/66",
parentKey: "/library/metadata/66",
grandparentTitle: "Caprica",
grandparentThumb: "/library/metadata/66/thumb/1705716261",
grandparentTheme: "/library/metadata/66/theme/1705716261",
grandparentArt: "/library/metadata/66/art/1705716261",
parentTitle: "Caprica",
parentIndex: 1,
parentThumb: "/library/metadata/66/thumb/1705716261",
ratingImage: "rottentomatoes://image.rating.ripe",
viewCount: 1,
viewOffset: 5222500,
skipCount: 1,
subtype: "clip",
lastRatedAt: 1721813113,
createdAtAccuracy: "epoch,local",
createdAtTZOffset: "0",
lastViewedAt: 1682752242,
userRating: 10,
image: [
{
alt: "Episode 1",
type: GetAllMediaLibraryLibraryResponseType.Background,
url: "/library/metadata/45521/thumb/1644710589",
},
],
ultraBlurColors: {
topLeft: "11333b",
topRight: "0a232d",
bottomRight: "73958",
bottomLeft: "1f5066",
},
media: [
{
id: 387322,
duration: 9610350,
bitrate: 25512,
width: 3840,
height: 1602,
aspectRatio: 2.35,
audioChannels: 6,
displayOffset: 50,
audioCodec: "eac3",
videoCodec: "hevc",
videoResolution: "4k",
container: "mkv",
videoFrameRate: "24p",
videoProfile: "main 10",
hasVoiceActivity: false,
audioProfile: "dts",
has64bitOffsets: false,
part: [
{
accessible: true,
exists: true,
id: 418385,
key: "/library/parts/418385/1735864239/file.mkv",
indexes: "sd",
duration: 9610350,
file: "/mnt/Movies_1/W/Wicked (2024).mkv",
size: 30649952104,
packetLength: 188,
container: "mkv",
videoProfile: "main 10",
audioProfile: "dts",
has64bitOffsets: false,
stream: [
{
id: 1002625,
streamType: 1,
default: true,
codec: "hevc",
index: 0,
bitrate: 24743,
language: "English",
languageTag: "en",
languageCode: "eng",
headerCompression: true,
doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitDepth: 10,
chromaLocation: "topleft",
chromaSubsampling: "4:2:0",
codedHeight: 1608,
codedWidth: 3840,
closedCaptions: true,
colorPrimaries: "bt2020",
colorRange: "tv",
colorSpace: "bt2020nc",
colorTrc: "smpte2084",
frameRate: 23.976,
height: 1602,
level: 150,
original: true,
hasScalingMatrix: false,
profile: "main 10",
scanType: "progressive",
embeddedInVideo: "progressive",
refFrames: 1,
width: 3840,
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
selected: true,
forced: true,
channels: 6,
audioChannelLayout: "5.1(side)",
samplingRate: 48000,
canAutoSync: false,
hearingImpaired: true,
dub: true,
title: "SDH",
},
],
},
],
},
],
genre: [
{
tag: "Crime",
},
],
country: [
{
tag: "United States of America",
},
],
director: [
{
tag: "Danny Boyle",
},
],
writer: [
{
tag: "Jamie P. Hanson",
},
],
role: [
{
tag: "Teller",
},
],
guids: [
{
id: "tvdb://2337",
},
],
collection: [
{
tag: "My Awesome Collection",
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ratingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. | 58683 |
| `key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 |
| `guid` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `slug` | *string* | :heavy_check_mark: | A URLfriendly version of the media title. | 4-for-texas |
| `studio` | *string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios |
| `type` | [operations.GetAllMediaLibraryLibraryType](../../../sdk/models/operations/getallmedialibrarylibrarytype.md) | :heavy_check_mark: | N/A | movie |
| `title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water |
| `titleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale |
| `contentRating` | *string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 |
| `summary` | *string* | :heavy_check_mark: | A synopsis of the media item. | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.<br/>Once a familiar threat returns to finish what was previously started, Jake must<br/>work with Neytiri and the army of the Na'vi race to protect their home.<br/> |
| `rating` | *number* | :heavy_check_mark: | The critic rating for the media item. | 7.6 |
| `audienceRating` | *number* | :heavy_check_mark: | The audience rating for the media item. | 9.2 |
| `year` | *number* | :heavy_minus_sign: | The release year of the media item. | 2022 |
| `tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. |
| `thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 |
| `art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 |
| `theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 |
| `index` | *number* | :heavy_check_mark: | The index position of the media item. | 1 |
| `leafCount` | *number* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 |
| `viewedLeafCount` | *number* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 |
| `childCount` | *number* | :heavy_check_mark: | The number of child items associated with this media item. | 1 |
| `seasonCount` | *number* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 |
| `duration` | *number* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 |
| `originallyAvailableAt` | [RFCDate](../../../types/rfcdate.md) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 |
| `addedAt` | *number* | :heavy_check_mark: | N/A | 1556281940 |
| `updatedAt` | *number* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
| `audienceRatingImage` | *string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright |
| `chapterSource` | *string* | :heavy_minus_sign: | The source from which chapter data is derived. | media |
| `primaryExtraKey` | *string* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 |
| `originalTitle` | *string* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 |
| `parentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent media item. | 66 |
| `grandparentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 |
| `parentGuid` | *string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `grandparentGuid` | *string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `grandparentSlug` | *string* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 |
| `grandparentKey` | *string* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 |
| `parentKey` | *string* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 |
| `grandparentTitle` | *string* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica |
| `grandparentThumb` | *string* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 |
| `grandparentTheme` | *string* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 |
| `grandparentArt` | *string* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 |
| `parentTitle` | *string* | :heavy_minus_sign: | The title of the parent media item. | Caprica |
| `parentIndex` | *number* | :heavy_minus_sign: | The index position of the parent media item. | 1 |
| `parentThumb` | *string* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 |
| `ratingImage` | *string* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe |
| `viewCount` | *number* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 |
| `viewOffset` | *number* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 |
| `skipCount` | *number* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 |
| `subtype` | *string* | :heavy_minus_sign: | A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. | clip |
| `lastRatedAt` | *number* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 |
| `createdAtAccuracy` | *string* | :heavy_minus_sign: | The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). | epoch,local |
| `createdAtTZOffset` | *string* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 |
| `lastViewedAt` | *number* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 |
| `userRating` | *number* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 |
| `image` | [operations.GetAllMediaLibraryImage](../../../sdk/models/operations/getallmedialibraryimage.md)[] | :heavy_minus_sign: | N/A | |
| `ultraBlurColors` | [operations.GetAllMediaLibraryUltraBlurColors](../../../sdk/models/operations/getallmedialibraryultrablurcolors.md) | :heavy_minus_sign: | N/A | |
| `media` | [operations.GetAllMediaLibraryMedia](../../../sdk/models/operations/getallmedialibrarymedia.md)[] | :heavy_minus_sign: | N/A | |
| `genre` | [operations.GetAllMediaLibraryGenre](../../../sdk/models/operations/getallmedialibrarygenre.md)[] | :heavy_minus_sign: | N/A | |
| `country` | [operations.GetAllMediaLibraryCountry](../../../sdk/models/operations/getallmedialibrarycountry.md)[] | :heavy_minus_sign: | N/A | |
| `director` | [operations.GetAllMediaLibraryDirector](../../../sdk/models/operations/getallmedialibrarydirector.md)[] | :heavy_minus_sign: | N/A | |
| `writer` | [operations.GetAllMediaLibraryWriter](../../../sdk/models/operations/getallmedialibrarywriter.md)[] | :heavy_minus_sign: | N/A | |
| `role` | [operations.GetAllMediaLibraryRole](../../../sdk/models/operations/getallmedialibraryrole.md)[] | :heavy_minus_sign: | N/A | |
| `guids` | [operations.GetAllMediaLibraryGuids](../../../sdk/models/operations/getallmedialibraryguids.md)[] | :heavy_minus_sign: | N/A | |
| `collection` | [operations.GetAllMediaLibraryCollection](../../../sdk/models/operations/getallmedialibrarycollection.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,19 @@
# GetAllMediaLibraryOperator
## Example Usage
```typescript
import { GetAllMediaLibraryOperator } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryOperator = {
key: "=",
title: "is",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `key` | *string* | :heavy_check_mark: | N/A | = |
| `title` | *string* | :heavy_check_mark: | N/A | is |

View File

@@ -0,0 +1,19 @@
# GetAllMediaLibraryOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
## Supported Types
### `operations.OptimizedForStreaming1`
```typescript
const value: operations.OptimizedForStreaming1 = OptimizedForStreaming1.One;
```
### `boolean`
```typescript
const value: boolean = false;
```

View File

@@ -0,0 +1,17 @@
# GetAllMediaLibraryOptimizedForStreaming1
## Example Usage
```typescript
import { GetAllMediaLibraryOptimizedForStreaming1 } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryOptimizedForStreaming1 =
GetAllMediaLibraryOptimizedForStreaming1.One;
```
## Values
| Name | Value |
| ------ | ------ |
| `Zero` | 0 |
| `One` | 1 |

View File

@@ -0,0 +1,97 @@
# GetAllMediaLibraryPart
## Example Usage
```typescript
import { GetAllMediaLibraryPart } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryPart = {
accessible: true,
exists: true,
id: 418385,
key: "/library/parts/418385/1735864239/file.mkv",
indexes: "sd",
duration: 9610350,
file: "/mnt/Movies_1/W/Wicked (2024).mkv",
size: 30649952104,
packetLength: 188,
container: "mkv",
videoProfile: "main 10",
audioProfile: "dts",
has64bitOffsets: false,
stream: [
{
id: 1002625,
streamType: 1,
default: true,
codec: "hevc",
index: 0,
bitrate: 24743,
language: "English",
languageTag: "en",
languageCode: "eng",
headerCompression: true,
doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitDepth: 10,
chromaLocation: "topleft",
chromaSubsampling: "4:2:0",
codedHeight: 1608,
codedWidth: 3840,
closedCaptions: true,
colorPrimaries: "bt2020",
colorRange: "tv",
colorSpace: "bt2020nc",
colorTrc: "smpte2084",
frameRate: 23.976,
height: 1602,
level: 150,
original: true,
hasScalingMatrix: false,
profile: "main 10",
scanType: "progressive",
embeddedInVideo: "progressive",
refFrames: 1,
width: 3840,
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
selected: true,
forced: true,
channels: 6,
audioChannelLayout: "5.1(side)",
samplingRate: 48000,
canAutoSync: false,
hearingImpaired: true,
dub: true,
title: "SDH",
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `accessible` | *boolean* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
| `exists` | *boolean* | :heavy_minus_sign: | Indicates if the part exists. | true |
| `id` | *number* | :heavy_check_mark: | Unique part identifier. | 418385 |
| `key` | *string* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv |
| `indexes` | *string* | :heavy_minus_sign: | N/A | sd |
| `duration` | *number* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 |
| `file` | *string* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv |
| `size` | *number* | :heavy_check_mark: | File size in bytes. | 30649952104 |
| `packetLength` | *number* | :heavy_minus_sign: | N/A | 188 |
| `container` | *string* | :heavy_minus_sign: | Container format of the part. | mkv |
| `videoProfile` | *string* | :heavy_minus_sign: | Video profile for the part. | main 10 |
| `audioProfile` | *string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
| `has64bitOffsets` | *boolean* | :heavy_minus_sign: | N/A | false |
| `optimizedForStreaming` | *operations.GetAllMediaLibraryLibraryOptimizedForStreaming* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `hasThumbnail` | [operations.GetAllMediaLibraryHasThumbnail](../../../sdk/models/operations/getallmedialibraryhasthumbnail.md) | :heavy_minus_sign: | N/A | 1 |
| `stream` | [operations.GetAllMediaLibraryStream](../../../sdk/models/operations/getallmedialibrarystream.md)[] | :heavy_minus_sign: | An array of streams for this part. | |

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