Compare commits

...

5 Commits

Author SHA1 Message Date
speakeasybot
442b11c11a ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.598.3 2025-08-07 00:14:07 +00:00
speakeasybot
c56a0f5d3c ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.598.0 2025-08-06 00:13:53 +00:00
speakeasybot
fe48f93ccb ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.580.1 2025-07-10 00:13:20 +00:00
speakeasybot
a7ec77cd04 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.557.0 2025-06-09 00:13:46 +00:00
speakeasybot
2b38478255 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.555.2 2025-06-04 00:13:03 +00:00
524 changed files with 16912 additions and 19771 deletions

4
.gitignore vendored
View File

@@ -1,3 +1,7 @@
/examples/node_modules
.env
.env.local
.env.*.local
.DS_Store .DS_Store
**/.speakeasy/temp/ **/.speakeasy/temp/
**/.speakeasy/logs/ **/.speakeasy/logs/

File diff suppressed because one or more lines are too long

View File

@@ -4,6 +4,7 @@ generation:
maintainOpenAPIOrder: true maintainOpenAPIOrder: true
usageSnippets: usageSnippets:
optionalPropertyRendering: withExample optionalPropertyRendering: withExample
sdkInitStyle: constructor
useClassNamesForArrayFields: true useClassNamesForArrayFields: true
fixes: fixes:
nameResolutionDec2023: true nameResolutionDec2023: true
@@ -15,15 +16,21 @@ generation:
auth: auth:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false oAuth2PasswordEnabled: false
tests:
generateTests: true
generateNewTests: false
skipResponseBodyAssertions: false
typescript: typescript:
version: 0.37.2 version: 0.40.2
additionalDependencies: additionalDependencies:
dependencies: {} dependencies: {}
devDependencies: {} devDependencies: {}
peerDependencies: {} peerDependencies: {}
additionalPackageJSON: {} additionalPackageJSON: {}
author: LukeHagar author: LukeHagar
baseErrorName: PlexAPIError
clientServerStatusCodesAsErrors: true clientServerStatusCodesAsErrors: true
constFieldsAlwaysOptional: true
defaultErrorName: SDKError defaultErrorName: SDKError
enableCustomCodeRegions: false enableCustomCodeRegions: false
enableMCPServer: true enableMCPServer: true
@@ -31,6 +38,7 @@ typescript:
enumFormat: enum enumFormat: enum
flattenGlobalSecurity: true flattenGlobalSecurity: true
flatteningOrder: body-first flatteningOrder: body-first
generateExamples: true
imports: imports:
option: openapi option: openapi
paths: paths:

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.542.1 speakeasyVersion: 1.598.3
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
@@ -9,20 +9,20 @@ sources:
- main - main
plexapi: plexapi:
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:37adc934a79841fb00cfe6ed569f5b1c88534b20202ecbde64b4e84828cee22a sourceRevisionDigest: sha256:b4fa89a3571fbdcb4228800772a5fe1c292170babcd3e055161ae54402f89577
sourceBlobDigest: sha256:ffb5b8d288111a763e4d035c8c9e37f5c89690d146b7297493b43a71d8298e6c sourceBlobDigest: sha256:f84dd2bfdaea4074454cea3c7fbc6c9e05515c5e9e961abb4923b77f8faf48f1
tags: tags:
- latest - latest
- speakeasy-sdk-regen-1746403916 - speakeasy-sdk-regen-1754525566
- 0.0.3 - 0.0.3
targets: targets:
plexjs: plexjs:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:37adc934a79841fb00cfe6ed569f5b1c88534b20202ecbde64b4e84828cee22a sourceRevisionDigest: sha256:b4fa89a3571fbdcb4228800772a5fe1c292170babcd3e055161ae54402f89577
sourceBlobDigest: sha256:ffb5b8d288111a763e4d035c8c9e37f5c89690d146b7297493b43a71d8298e6c sourceBlobDigest: sha256:f84dd2bfdaea4074454cea3c7fbc6c9e05515c5e9e961abb4923b77f8faf48f1
codeSamplesNamespace: code-samples-typescript-plexjs codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:945657568eb11e06b45691a4a4a058c37170f5919329abbb42e23a5016781ba8 codeSamplesRevisionDigest: sha256:fad7b51412f86afddf932154d377ce69b63c88aa60207fbaea6c33d6d669fab6
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest

View File

@@ -21,7 +21,6 @@ specific category of applications.
```typescript ```typescript
import { PlexAPICore } from "@lukehagar/plexjs/core.js"; import { PlexAPICore } from "@lukehagar/plexjs/core.js";
import { serverGetServerCapabilities } from "@lukehagar/plexjs/funcs/serverGetServerCapabilities.js"; import { serverGetServerCapabilities } from "@lukehagar/plexjs/funcs/serverGetServerCapabilities.js";
import { SDKValidationError } from "@lukehagar/plexjs/sdk/models/errors/sdkvalidationerror.js";
// Use `PlexAPICore` for best tree-shaking performance. // Use `PlexAPICore` for best tree-shaking performance.
// You can create one instance of it to use across an application. // You can create one instance of it to use across an application.
@@ -31,28 +30,12 @@ const plexAPI = new PlexAPICore({
async function run() { async function run() {
const res = await serverGetServerCapabilities(plexAPI); const res = await serverGetServerCapabilities(plexAPI);
if (res.ok) {
switch (true) { const { value: result } = res;
case res.ok: console.log(result);
// The success case will be handled outside of the switch block } else {
break; console.log("serverGetServerCapabilities failed:", res.error);
case res.error instanceof SDKValidationError:
// Pretty-print validation errors.
return console.log(res.error.pretty());
case res.error instanceof Error:
return console.log(res.error);
default:
// TypeScript's type checking will fail on the following line if the above
// cases were not exhaustive.
res.error satisfies never;
throw new Error("Assertion failed: expected error checks to be exhaustive: " + res.error);
} }
const { value: result } = res;
// Handle the result
console.log(result);
} }
run(); run();

266
README.md
View File

@@ -111,7 +111,6 @@ const plexAPI = new PlexAPI({
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} }
@@ -160,7 +159,7 @@ 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 * [getLibrarySectionsAll](docs/sdks/library/README.md#getlibrarysectionsall) - Get Library section media by tag ALL
* [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library * [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 * [getGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media
@@ -268,58 +267,43 @@ run();
<!-- Start Error Handling [errors] --> <!-- Start Error Handling [errors] -->
## Error Handling ## Error Handling
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: [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts) is the base class for all HTTP error responses. It has the following properties:
| Error Type | Status Code | Content Type | | Property | Type | Description |
| ---------------------------------------- | ----------- | ---------------- | | ------------------- | ---------- | --------------------------------------------------------------------------------------- |
| errors.GetServerCapabilitiesBadRequest | 400 | application/json | | `error.message` | `string` | Error message |
| errors.GetServerCapabilitiesUnauthorized | 401 | application/json | | `error.statusCode` | `number` | HTTP response status code eg `404` |
| errors.SDKError | 4XX, 5XX | \*/\* | | `error.headers` | `Headers` | HTTP response headers |
| `error.body` | `string` | HTTP body. Can be empty string if no body is returned. |
If the method throws an error and it is not captured by the known errors, it will default to throwing a `SDKError`. | `error.rawResponse` | `Response` | Raw HTTP response |
| `error.data$` | | Optional. Some errors may contain structured data. [See Error Classes](#error-classes). |
### Example
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { import * as errors from "@lukehagar/plexjs/sdk/models/errors";
GetServerCapabilitiesBadRequest,
GetServerCapabilitiesUnauthorized,
SDKValidationError,
} from "@lukehagar/plexjs/sdk/models/errors";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
let result;
try { try {
result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} catch (err) { } catch (error) {
switch (true) { // The base class for HTTP error responses
// The server response does not match the expected SDK schema if (error instanceof errors.PlexAPIError) {
case (err instanceof SDKValidationError): { console.log(error.message);
// Pretty-print will provide a human-readable multi-line error message console.log(error.statusCode);
console.error(err.pretty()); console.log(error.body);
// Raw value may also be inspected console.log(error.headers);
console.error(err.rawValue);
return; // Depending on the method different errors may be thrown
} if (error instanceof errors.GetServerCapabilitiesBadRequest) {
case (err instanceof GetServerCapabilitiesBadRequest): { console.log(error.data$.errors); // Errors[]
// Handle err.data$: GetServerCapabilitiesBadRequestData console.log(error.data$.rawResponse); // Response
console.error(err);
return;
}
case (err instanceof GetServerCapabilitiesUnauthorized): {
// Handle err.data$: GetServerCapabilitiesUnauthorizedData
console.error(err);
return;
}
default: {
// Other errors such as network errors, see HTTPClientErrors for more details
throw err;
} }
} }
} }
@@ -329,17 +313,184 @@ 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 multi-line string since validation errors can list many issues and the plain error string may be difficult read when debugging. ### Error Classes
**Primary error:**
* [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts): The base class for HTTP error responses.
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: <details><summary>Less common errors (162)</summary>
| HTTP Client Error | Description | <br />
| ---------------------------------------------------- | ---------------------------------------------------- |
| RequestAbortedError | HTTP request was aborted by the client | **Network errors:**
| RequestTimeoutError | HTTP request timed out due to an AbortSignal signal | * [`ConnectionError`](./src/sdk/models/errors/httpclienterrors.ts): HTTP client was unable to make a request to a server.
| ConnectionError | HTTP client was unable to make a request to a server | * [`RequestTimeoutError`](./src/sdk/models/errors/httpclienterrors.ts): HTTP request timed out due to an AbortSignal signal.
| InvalidRequestError | Any input used to create a request is invalid | * [`RequestAbortedError`](./src/sdk/models/errors/httpclienterrors.ts): HTTP request was aborted by the client.
| UnexpectedClientError | Unrecognised or unexpected error | * [`InvalidRequestError`](./src/sdk/models/errors/httpclienterrors.ts): Any input used to create a request is invalid.
* [`UnexpectedClientError`](./src/sdk/models/errors/httpclienterrors.ts): Unrecognised or unexpected error.
**Inherit from [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts)**:
* [`GetServerCapabilitiesBadRequest`](./src/sdk/models/errors/getservercapabilitiesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetServerPreferencesBadRequest`](./src/sdk/models/errors/getserverpreferencesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetAvailableClientsBadRequest`](./src/sdk/models/errors/getavailableclientsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetDevicesBadRequest`](./src/sdk/models/errors/getdevicesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetMyPlexAccountBadRequest`](./src/sdk/models/errors/getmyplexaccountbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetResizedPhotoBadRequest`](./src/sdk/models/errors/getresizedphotobadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetMediaProvidersBadRequest`](./src/sdk/models/errors/getmediaprovidersbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetServerListBadRequest`](./src/sdk/models/errors/getserverlistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`MarkPlayedBadRequest`](./src/sdk/models/errors/markplayedbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`MarkUnplayedBadRequest`](./src/sdk/models/errors/markunplayedbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`UpdatePlayProgressBadRequest`](./src/sdk/models/errors/updateplayprogressbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetBannerImageBadRequest`](./src/sdk/models/errors/getbannerimagebadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetThumbImageBadRequest`](./src/sdk/models/errors/getthumbimagebadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetTimelineBadRequest`](./src/sdk/models/errors/gettimelinebadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`StartUniversalTranscodeBadRequest`](./src/sdk/models/errors/startuniversaltranscodebadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetServerActivitiesBadRequest`](./src/sdk/models/errors/getserveractivitiesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`CancelServerActivitiesBadRequest`](./src/sdk/models/errors/cancelserveractivitiesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetButlerTasksBadRequest`](./src/sdk/models/errors/getbutlertasksbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`StartAllTasksBadRequest`](./src/sdk/models/errors/startalltasksbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`StopAllTasksBadRequest`](./src/sdk/models/errors/stopalltasksbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`StartTaskBadRequest`](./src/sdk/models/errors/starttaskbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`StopTaskBadRequest`](./src/sdk/models/errors/stoptaskbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetCompanionsDataBadRequest`](./src/sdk/models/errors/getcompanionsdatabadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetUserFriendsBadRequest`](./src/sdk/models/errors/getuserfriendsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetGeoDataBadRequest`](./src/sdk/models/errors/getgeodatabadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetHomeDataBadRequest`](./src/sdk/models/errors/gethomedatabadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetServerResourcesBadRequest`](./src/sdk/models/errors/getserverresourcesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetPinBadRequest`](./src/sdk/models/errors/getpinbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetTokenByPinIdBadRequest`](./src/sdk/models/errors/gettokenbypinidbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetGlobalHubsBadRequest`](./src/sdk/models/errors/getglobalhubsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetLibraryHubsBadRequest`](./src/sdk/models/errors/getlibraryhubsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`PerformSearchBadRequest`](./src/sdk/models/errors/performsearchbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`PerformVoiceSearchBadRequest`](./src/sdk/models/errors/performvoicesearchbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetSearchResultsBadRequest`](./src/sdk/models/errors/getsearchresultsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetFileHashBadRequest`](./src/sdk/models/errors/getfilehashbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetRecentlyAddedLibraryBadRequest`](./src/sdk/models/errors/getrecentlyaddedlibrarybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetAllLibrariesBadRequest`](./src/sdk/models/errors/getalllibrariesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetLibraryDetailsBadRequest`](./src/sdk/models/errors/getlibrarydetailsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`DeleteLibraryBadRequest`](./src/sdk/models/errors/deletelibrarybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetLibraryItemsBadRequest`](./src/sdk/models/errors/getlibraryitemsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetLibrarySectionsAllBadRequest`](./src/sdk/models/errors/getlibrarysectionsallbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetRefreshLibraryMetadataBadRequest`](./src/sdk/models/errors/getrefreshlibrarymetadatabadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetSearchLibraryBadRequest`](./src/sdk/models/errors/getsearchlibrarybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetGenresLibraryBadRequest`](./src/sdk/models/errors/getgenreslibrarybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetCountriesLibraryBadRequest`](./src/sdk/models/errors/getcountrieslibrarybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetActorsLibraryBadRequest`](./src/sdk/models/errors/getactorslibrarybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetSearchAllLibrariesBadRequest`](./src/sdk/models/errors/getsearchalllibrariesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetMediaMetaDataBadRequest`](./src/sdk/models/errors/getmediametadatabadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetMetadataChildrenBadRequest`](./src/sdk/models/errors/getmetadatachildrenbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetTopWatchedContentBadRequest`](./src/sdk/models/errors/gettopwatchedcontentbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetWatchListBadRequest`](./src/sdk/models/errors/getwatchlistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`LogLineBadRequest`](./src/sdk/models/errors/loglinebadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`LogMultiLineBadRequest`](./src/sdk/models/errors/logmultilinebadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`EnablePaperTrailBadRequest`](./src/sdk/models/errors/enablepapertrailbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`CreatePlaylistBadRequest`](./src/sdk/models/errors/createplaylistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetPlaylistsBadRequest`](./src/sdk/models/errors/getplaylistsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetPlaylistBadRequest`](./src/sdk/models/errors/getplaylistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`DeletePlaylistBadRequest`](./src/sdk/models/errors/deleteplaylistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`UpdatePlaylistBadRequest`](./src/sdk/models/errors/updateplaylistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetPlaylistContentsBadRequest`](./src/sdk/models/errors/getplaylistcontentsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`ClearPlaylistContentsBadRequest`](./src/sdk/models/errors/clearplaylistcontentsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`AddPlaylistContentsBadRequest`](./src/sdk/models/errors/addplaylistcontentsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`UploadPlaylistBadRequest`](./src/sdk/models/errors/uploadplaylistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetTransientTokenBadRequest`](./src/sdk/models/errors/gettransienttokenbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetSourceConnectionInformationBadRequest`](./src/sdk/models/errors/getsourceconnectioninformationbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetTokenDetailsBadRequest`](./src/sdk/models/errors/gettokendetailsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`PostUsersSignInDataBadRequest`](./src/sdk/models/errors/postuserssignindatabadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetStatisticsBadRequest`](./src/sdk/models/errors/getstatisticsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetResourcesStatisticsBadRequest`](./src/sdk/models/errors/getresourcesstatisticsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetBandwidthStatisticsBadRequest`](./src/sdk/models/errors/getbandwidthstatisticsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetSessionsBadRequest`](./src/sdk/models/errors/getsessionsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetSessionHistoryBadRequest`](./src/sdk/models/errors/getsessionhistorybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetTranscodeSessionsBadRequest`](./src/sdk/models/errors/gettranscodesessionsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`StopTranscodeSessionBadRequest`](./src/sdk/models/errors/stoptranscodesessionbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetUpdateStatusBadRequest`](./src/sdk/models/errors/getupdatestatusbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`CheckForUpdatesBadRequest`](./src/sdk/models/errors/checkforupdatesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`ApplyUpdatesBadRequest`](./src/sdk/models/errors/applyupdatesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetUsersBadRequest`](./src/sdk/models/errors/getusersbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetServerCapabilitiesUnauthorized`](./src/sdk/models/errors/getservercapabilitiesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetServerPreferencesUnauthorized`](./src/sdk/models/errors/getserverpreferencesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetAvailableClientsUnauthorized`](./src/sdk/models/errors/getavailableclientsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetDevicesUnauthorized`](./src/sdk/models/errors/getdevicesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetMyPlexAccountUnauthorized`](./src/sdk/models/errors/getmyplexaccountunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetResizedPhotoUnauthorized`](./src/sdk/models/errors/getresizedphotounauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetMediaProvidersUnauthorized`](./src/sdk/models/errors/getmediaprovidersunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetServerListUnauthorized`](./src/sdk/models/errors/getserverlistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`MarkPlayedUnauthorized`](./src/sdk/models/errors/markplayedunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`MarkUnplayedUnauthorized`](./src/sdk/models/errors/markunplayedunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`UpdatePlayProgressUnauthorized`](./src/sdk/models/errors/updateplayprogressunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetBannerImageUnauthorized`](./src/sdk/models/errors/getbannerimageunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetThumbImageUnauthorized`](./src/sdk/models/errors/getthumbimageunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetTimelineUnauthorized`](./src/sdk/models/errors/gettimelineunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`StartUniversalTranscodeUnauthorized`](./src/sdk/models/errors/startuniversaltranscodeunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetServerActivitiesUnauthorized`](./src/sdk/models/errors/getserveractivitiesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`CancelServerActivitiesUnauthorized`](./src/sdk/models/errors/cancelserveractivitiesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetButlerTasksUnauthorized`](./src/sdk/models/errors/getbutlertasksunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`StartAllTasksUnauthorized`](./src/sdk/models/errors/startalltasksunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`StopAllTasksUnauthorized`](./src/sdk/models/errors/stopalltasksunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`StartTaskUnauthorized`](./src/sdk/models/errors/starttaskunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`StopTaskUnauthorized`](./src/sdk/models/errors/stoptaskunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetCompanionsDataUnauthorized`](./src/sdk/models/errors/getcompanionsdataunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetUserFriendsUnauthorized`](./src/sdk/models/errors/getuserfriendsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetGeoDataUnauthorized`](./src/sdk/models/errors/getgeodataunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetHomeDataUnauthorized`](./src/sdk/models/errors/gethomedataunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetServerResourcesUnauthorized`](./src/sdk/models/errors/getserverresourcesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetGlobalHubsUnauthorized`](./src/sdk/models/errors/getglobalhubsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetLibraryHubsUnauthorized`](./src/sdk/models/errors/getlibraryhubsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`PerformSearchUnauthorized`](./src/sdk/models/errors/performsearchunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`PerformVoiceSearchUnauthorized`](./src/sdk/models/errors/performvoicesearchunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetSearchResultsUnauthorized`](./src/sdk/models/errors/getsearchresultsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetFileHashUnauthorized`](./src/sdk/models/errors/getfilehashunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetRecentlyAddedLibraryUnauthorized`](./src/sdk/models/errors/getrecentlyaddedlibraryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetAllLibrariesUnauthorized`](./src/sdk/models/errors/getalllibrariesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetLibraryDetailsUnauthorized`](./src/sdk/models/errors/getlibrarydetailsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`DeleteLibraryUnauthorized`](./src/sdk/models/errors/deletelibraryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetLibraryItemsUnauthorized`](./src/sdk/models/errors/getlibraryitemsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetLibrarySectionsAllUnauthorized`](./src/sdk/models/errors/getlibrarysectionsallunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetRefreshLibraryMetadataUnauthorized`](./src/sdk/models/errors/getrefreshlibrarymetadataunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetSearchLibraryUnauthorized`](./src/sdk/models/errors/getsearchlibraryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetGenresLibraryUnauthorized`](./src/sdk/models/errors/getgenreslibraryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetCountriesLibraryUnauthorized`](./src/sdk/models/errors/getcountrieslibraryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetActorsLibraryUnauthorized`](./src/sdk/models/errors/getactorslibraryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetSearchAllLibrariesUnauthorized`](./src/sdk/models/errors/getsearchalllibrariesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetMediaMetaDataUnauthorized`](./src/sdk/models/errors/getmediametadataunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetMetadataChildrenUnauthorized`](./src/sdk/models/errors/getmetadatachildrenunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetTopWatchedContentUnauthorized`](./src/sdk/models/errors/gettopwatchedcontentunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetWatchListUnauthorized`](./src/sdk/models/errors/getwatchlistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`LogLineUnauthorized`](./src/sdk/models/errors/loglineunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`LogMultiLineUnauthorized`](./src/sdk/models/errors/logmultilineunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`EnablePaperTrailUnauthorized`](./src/sdk/models/errors/enablepapertrailunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`CreatePlaylistUnauthorized`](./src/sdk/models/errors/createplaylistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetPlaylistsUnauthorized`](./src/sdk/models/errors/getplaylistsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetPlaylistUnauthorized`](./src/sdk/models/errors/getplaylistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`DeletePlaylistUnauthorized`](./src/sdk/models/errors/deleteplaylistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`UpdatePlaylistUnauthorized`](./src/sdk/models/errors/updateplaylistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetPlaylistContentsUnauthorized`](./src/sdk/models/errors/getplaylistcontentsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`ClearPlaylistContentsUnauthorized`](./src/sdk/models/errors/clearplaylistcontentsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`AddPlaylistContentsUnauthorized`](./src/sdk/models/errors/addplaylistcontentsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`UploadPlaylistUnauthorized`](./src/sdk/models/errors/uploadplaylistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetTransientTokenUnauthorized`](./src/sdk/models/errors/gettransienttokenunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetSourceConnectionInformationUnauthorized`](./src/sdk/models/errors/getsourceconnectioninformationunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetTokenDetailsUnauthorized`](./src/sdk/models/errors/gettokendetailsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`PostUsersSignInDataUnauthorized`](./src/sdk/models/errors/postuserssignindataunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetStatisticsUnauthorized`](./src/sdk/models/errors/getstatisticsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetResourcesStatisticsUnauthorized`](./src/sdk/models/errors/getresourcesstatisticsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetBandwidthStatisticsUnauthorized`](./src/sdk/models/errors/getbandwidthstatisticsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetSessionsUnauthorized`](./src/sdk/models/errors/getsessionsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetSessionHistoryUnauthorized`](./src/sdk/models/errors/getsessionhistoryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetTranscodeSessionsUnauthorized`](./src/sdk/models/errors/gettranscodesessionsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`StopTranscodeSessionUnauthorized`](./src/sdk/models/errors/stoptranscodesessionunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetUpdateStatusUnauthorized`](./src/sdk/models/errors/getupdatestatusunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`CheckForUpdatesUnauthorized`](./src/sdk/models/errors/checkforupdatesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`ApplyUpdatesUnauthorized`](./src/sdk/models/errors/applyupdatesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetUsersUnauthorized`](./src/sdk/models/errors/getusersunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetTokenByPinIdResponseBody`](./src/sdk/models/errors/gettokenbypinidresponsebody.ts): Not Found or Expired. Status code `404`. Applicable to 1 of 84 methods.*
* [`GetServerIdentityRequestTimeout`](./src/sdk/models/errors/getserveridentityrequesttimeout.ts): Request Timeout. Status code `408`. Applicable to 1 of 84 methods.*
* [`ResponseValidationError`](./src/sdk/models/errors/responsevalidationerror.ts): Type mismatch between the data returned from the server and the structure expected by the SDK. See `error.rawValue` for the raw value and `error.pretty()` for a nicely formatted multi-line string.
</details>
\* Check [the method documentation](#available-resources-and-operations) to see if the error is applicable.
<!-- End Error Handling [errors] --> <!-- End Error Handling [errors] -->
<!-- Start Server Selection [server] --> <!-- Start Server Selection [server] -->
@@ -362,15 +513,14 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
protocol: "https", protocol: "https",
ip: "e0c3:bcc0:6bac:dccc:c4ec:34b1:ca98:4cb9", ip: "4982:bc2a:b4f8:efb5:2394:5bc3:ab4f:0e6d",
port: "40311", port: "44765",
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} }
@@ -392,7 +542,6 @@ const plexAPI = new PlexAPI({
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} }
@@ -415,7 +564,6 @@ async function run() {
serverURL: "https://plex.tv/api/v2", serverURL: "https://plex.tv/api/v2",
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -495,7 +643,6 @@ const plexAPI = new PlexAPI({
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} }
@@ -542,12 +689,12 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
- [`libraryDeleteLibrary`](docs/sdks/library/README.md#deletelibrary) - Delete Library Section - [`libraryDeleteLibrary`](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
- [`libraryGetActorsLibrary`](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media - [`libraryGetActorsLibrary`](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media
- [`libraryGetAllLibraries`](docs/sdks/library/README.md#getalllibraries) - Get All Libraries - [`libraryGetAllLibraries`](docs/sdks/library/README.md#getalllibraries) - Get All Libraries
- [`libraryGetAllMediaLibrary`](docs/sdks/library/README.md#getallmedialibrary) - Get all media of library
- [`libraryGetCountriesLibrary`](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media - [`libraryGetCountriesLibrary`](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media
- [`libraryGetFileHash`](docs/sdks/library/README.md#getfilehash) - Get Hash Value - [`libraryGetFileHash`](docs/sdks/library/README.md#getfilehash) - Get Hash Value
- [`libraryGetGenresLibrary`](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media - [`libraryGetGenresLibrary`](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media
- [`libraryGetLibraryDetails`](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details - [`libraryGetLibraryDetails`](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
- [`libraryGetLibraryItems`](docs/sdks/library/README.md#getlibraryitems) - Get Library Items - [`libraryGetLibraryItems`](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
- [`libraryGetLibrarySectionsAll`](docs/sdks/library/README.md#getlibrarysectionsall) - Get Library section media by tag ALL
- [`libraryGetMediaArts`](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork - [`libraryGetMediaArts`](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork
- [`libraryGetMediaMetaData`](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata - [`libraryGetMediaMetaData`](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata
- [`libraryGetMediaPosters`](docs/sdks/library/README.md#getmediaposters) - Get Media Posters - [`libraryGetMediaPosters`](docs/sdks/library/README.md#getmediaposters) - Get Media Posters
@@ -629,7 +776,6 @@ Certain SDK methods accept files as part of a multi-part request. It is possible
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { openAsBlob } from "node:fs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
@@ -638,11 +784,9 @@ const plexAPI = new PlexAPI({
async function run() { async function run() {
const result = await plexAPI.library.postMediaArts( const result = await plexAPI.library.postMediaArts(
2268, 2268,
await openAsBlob("example.file"),
"https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b", "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b",
); );
// Handle the result
console.log(result); console.log(result);
} }
@@ -678,7 +822,6 @@ async function run() {
}, },
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -707,7 +850,6 @@ const plexAPI = new PlexAPI({
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} }

View File

@@ -1338,4 +1338,54 @@ Based on:
### Generated ### Generated
- [typescript v0.37.2] . - [typescript v0.37.2] .
### Releases ### Releases
- [NPM v0.37.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.2 - . - [NPM v0.37.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.2 - .
## 2025-06-04 00:11:21
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.555.2 (2.620.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.38.0] .
### Releases
- [NPM v0.38.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.38.0 - .
## 2025-06-09 00:12:06
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.557.0 (2.623.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.39.0] .
### Releases
- [NPM v0.39.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.39.0 - .
## 2025-07-10 00:11:39
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.580.1 (2.656.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.40.0] .
### Releases
- [NPM v0.40.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.40.0 - .
## 2025-08-06 00:12:14
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.598.0 (2.674.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.40.1] .
### Releases
- [NPM v0.40.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.40.1 - .
## 2025-08-07 00:12:28
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.598.3 (2.674.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.40.2] .
### Releases
- [NPM v0.40.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.40.2 - .

View File

@@ -9,7 +9,6 @@ const plexAPI = new PlexAPI({
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} }

View File

@@ -18,7 +18,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} }
@@ -38,7 +37,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.server.getServerPreferences(); const result = await plexAPI.server.getServerPreferences();
// Handle the result
console.log(result); console.log(result);
} }
@@ -58,7 +56,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.media.updatePlayProgress("<key>", 90000, "played"); const result = await plexAPI.media.updatePlayProgress("<key>", 90000, "played");
// Handle the result
console.log(result); console.log(result);
} }
@@ -78,7 +75,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.media.markPlayed(59398); const result = await plexAPI.media.markPlayed(59398);
// Handle the result
console.log(result); console.log(result);
} }
@@ -110,7 +106,6 @@ actions:
row: 1, row: 1,
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -130,7 +125,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.media.markUnplayed(59398); const result = await plexAPI.media.markUnplayed(59398);
// Handle the result
console.log(result); console.log(result);
} }
@@ -150,7 +144,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.activities.getServerActivities(); const result = await plexAPI.activities.getServerActivities();
// Handle the result
console.log(result); console.log(result);
} }
@@ -170,7 +163,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.activities.cancelServerActivities("25b71ed5-0f9d-461c-baa7-d404e9e10d3e"); const result = await plexAPI.activities.cancelServerActivities("25b71ed5-0f9d-461c-baa7-d404e9e10d3e");
// Handle the result
console.log(result); console.log(result);
} }
@@ -190,7 +182,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.butler.stopAllTasks(); const result = await plexAPI.butler.stopAllTasks();
// Handle the result
console.log(result); console.log(result);
} }
@@ -210,7 +201,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.butler.getButlerTasks(); const result = await plexAPI.butler.getButlerTasks();
// Handle the result
console.log(result); console.log(result);
} }
@@ -230,7 +220,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.butler.startAllTasks(); const result = await plexAPI.butler.startAllTasks();
// Handle the result
console.log(result); console.log(result);
} }
@@ -249,9 +238,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.butler.stopTask(PathParamTaskName.BackupDatabase); const result = await plexAPI.butler.stopTask(PathParamTaskName.CleanOldCacheFiles);
// Handle the result
console.log(result); console.log(result);
} }
@@ -270,9 +258,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.butler.startTask(TaskName.CleanOldBundles); const result = await plexAPI.butler.startTask(TaskName.RefreshPeriodicMetadata);
// Handle the result
console.log(result); console.log(result);
} }
@@ -292,7 +279,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.server.getAvailableClients(); const result = await plexAPI.server.getAvailableClients();
// Handle the result
console.log(result); console.log(result);
} }
@@ -312,7 +298,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.plex.getCompanionsData(); const result = await plexAPI.plex.getCompanionsData();
// Handle the result
console.log(result); console.log(result);
} }
@@ -332,7 +317,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.server.getDevices(); const result = await plexAPI.server.getDevices();
// Handle the result
console.log(result); console.log(result);
} }
@@ -352,7 +336,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.plex.getUserFriends(); const result = await plexAPI.plex.getUserFriends();
// Handle the result
console.log(result); console.log(result);
} }
@@ -370,7 +353,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.plex.getGeoData(); const result = await plexAPI.plex.getGeoData();
// Handle the result
console.log(result); console.log(result);
} }
@@ -390,7 +372,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.plex.getHomeData(); const result = await plexAPI.plex.getHomeData();
// Handle the result
console.log(result); console.log(result);
} }
@@ -410,7 +391,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.hubs.getGlobalHubs(); const result = await plexAPI.hubs.getGlobalHubs();
// Handle the result
console.log(result); console.log(result);
} }
@@ -422,7 +402,7 @@ actions:
label: PlexJS label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { Type } from "@lukehagar/plexjs/sdk/models/operations"; import { IncludeMeta, Type } from "@lukehagar/plexjs/sdk/models/operations";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
@@ -430,12 +410,12 @@ actions:
async function run() { async function run() {
const result = await plexAPI.hubs.getRecentlyAdded({ const result = await plexAPI.hubs.getRecentlyAdded({
contentDirectoryID: 470161, contentDirectoryID: 39486,
sectionID: 2, sectionID: 2,
type: Type.TvShow, type: Type.TvShow,
includeMeta: IncludeMeta.Enable,
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -453,9 +433,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.search.performSearch("dylan"); const result = await plexAPI.search.performSearch("arnold");
// Handle the result
console.log(result); console.log(result);
} }
@@ -475,7 +454,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.search.performVoiceSearch("dead+poop"); const result = await plexAPI.search.performVoiceSearch("dead+poop");
// Handle the result
console.log(result); console.log(result);
} }
@@ -493,9 +471,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.hubs.getLibraryHubs(6728.76); const result = await plexAPI.hubs.getLibraryHubs(492.74);
// Handle the result
console.log(result); console.log(result);
} }
@@ -513,7 +490,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.server.getServerIdentity(); const result = await plexAPI.server.getServerIdentity();
// Handle the result
console.log(result); console.log(result);
} }
@@ -532,9 +508,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.library.getTopWatchedContent(GetTopWatchedContentQueryParamType.TvShow, 1); const result = await plexAPI.library.getTopWatchedContent(GetTopWatchedContentQueryParamType.TvShow);
// Handle the result
console.log(result); console.log(result);
} }
@@ -552,9 +527,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.library.getFileHash("file://C:\Image.png&type=13"); const result = await plexAPI.library.getFileHash("file://C:\\Image.png&type=13");
// Handle the result
console.log(result); console.log(result);
} }
@@ -573,7 +547,7 @@ actions:
async function run() { async function run() {
const result = await plexAPI.library.getMediaMetaData({ const result = await plexAPI.library.getMediaMetaData({
ratingKey: 9518, ratingKey: "21119,21617",
includeConcerts: true, includeConcerts: true,
includeExtras: true, includeExtras: true,
includeOnDeck: true, includeOnDeck: true,
@@ -589,7 +563,6 @@ actions:
asyncRefreshLocalMediaAgent: true, asyncRefreshLocalMediaAgent: true,
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -609,7 +582,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.library.getMediaArts(16099); const result = await plexAPI.library.getMediaArts(16099);
// Handle the result
console.log(result); console.log(result);
} }
@@ -621,16 +593,14 @@ actions:
label: PlexJS label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { openAsBlob } from "node:fs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
const result = await plexAPI.library.postMediaArts(2268, await openAsBlob("example.file"), "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"); const result = await plexAPI.library.postMediaArts(2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
// Handle the result
console.log(result); console.log(result);
} }
@@ -657,7 +627,6 @@ actions:
xPlexToken: "CV5xoxjTpFKUzBTShsaf", xPlexToken: "CV5xoxjTpFKUzBTShsaf",
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -675,9 +644,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.library.getMetadataChildren(1539.14, "Stream"); const result = await plexAPI.library.getMetadataChildren(2403.67, "Stream");
// Handle the result
console.log(result); console.log(result);
} }
@@ -697,7 +665,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.library.getMediaPosters(16099); const result = await plexAPI.library.getMediaPosters(16099);
// Handle the result
console.log(result); console.log(result);
} }
@@ -709,16 +676,14 @@ actions:
label: PlexJS label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { openAsBlob } from "node:fs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
const result = await plexAPI.library.postMediaPoster(2268, await openAsBlob("example.file"), "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"); const result = await plexAPI.library.postMediaPoster(2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
// Handle the result
console.log(result); console.log(result);
} }
@@ -745,7 +710,6 @@ actions:
xPlexToken: "CV5xoxjTpFKUzBTShsaf", xPlexToken: "CV5xoxjTpFKUzBTShsaf",
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -757,7 +721,7 @@ actions:
label: PlexJS label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { QueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; import { QueryParamIncludeMeta, QueryParamType } from "@lukehagar/plexjs/sdk/models/operations";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
@@ -782,9 +746,9 @@ actions:
], ],
sectionID: 2, sectionID: 2,
type: QueryParamType.TvShow, type: QueryParamType.TvShow,
includeMeta: QueryParamIncludeMeta.Enable,
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -796,7 +760,11 @@ actions:
label: PlexJS label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { SearchTypes } from "@lukehagar/plexjs/sdk/models/operations"; import {
GetSearchAllLibrariesQueryParamIncludeCollections,
GetSearchAllLibrariesQueryParamIncludeExternalMedia,
SearchTypes,
} from "@lukehagar/plexjs/sdk/models/operations";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
@@ -809,9 +777,10 @@ actions:
searchTypes: [ searchTypes: [
SearchTypes.People, SearchTypes.People,
], ],
includeCollections: GetSearchAllLibrariesQueryParamIncludeCollections.Enable,
includeExternalMedia: GetSearchAllLibrariesQueryParamIncludeExternalMedia.Enable,
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -831,7 +800,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.library.getAllLibraries(); const result = await plexAPI.library.getAllLibraries();
// Handle the result
console.log(result); console.log(result);
} }
@@ -851,11 +819,10 @@ actions:
async function run() { async function run() {
const result = await plexAPI.watchlist.getWatchList({ const result = await plexAPI.watchlist.getWatchList({
filter: Filter.Available, filter: Filter.Released,
xPlexToken: "CV5xoxjTpFKUzBTShsaf", xPlexToken: "CV5xoxjTpFKUzBTShsaf",
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -875,7 +842,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.library.deleteLibrary(9518); const result = await plexAPI.library.deleteLibrary(9518);
// Handle the result
console.log(result); console.log(result);
} }
@@ -895,7 +861,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.library.getLibraryDetails(9518); const result = await plexAPI.library.getLibraryDetails(9518);
// Handle the result
console.log(result); console.log(result);
} }
@@ -916,7 +881,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.library.getActorsLibrary(9518, GetActorsLibraryQueryParamType.TvShow); const result = await plexAPI.library.getActorsLibrary(9518, GetActorsLibraryQueryParamType.TvShow);
// Handle the result
console.log(result); console.log(result);
} }
@@ -928,19 +892,30 @@ actions:
label: PlexJS label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { GetAllMediaLibraryQueryParamType } from "@lukehagar/plexjs/sdk/models/operations"; import {
GetLibrarySectionsAllQueryParamIncludeMeta,
GetLibrarySectionsAllQueryParamType,
IncludeAdvanced,
QueryParamIncludeCollections,
QueryParamIncludeExternalMedia,
QueryParamIncludeGuids,
} from "@lukehagar/plexjs/sdk/models/operations";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
const result = await plexAPI.library.getAllMediaLibrary({ const result = await plexAPI.library.getLibrarySectionsAll({
sectionKey: 9518, sectionKey: 9518,
type: GetAllMediaLibraryQueryParamType.TvShow, type: GetLibrarySectionsAllQueryParamType.TvShow,
includeMeta: GetLibrarySectionsAllQueryParamIncludeMeta.Enable,
includeGuids: QueryParamIncludeGuids.Enable,
includeAdvanced: IncludeAdvanced.Enable,
includeCollections: QueryParamIncludeCollections.Enable,
includeExternalMedia: QueryParamIncludeExternalMedia.Enable,
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -961,7 +936,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.library.getCountriesLibrary(9518, GetCountriesLibraryQueryParamType.TvShow); const result = await plexAPI.library.getCountriesLibrary(9518, GetCountriesLibraryQueryParamType.TvShow);
// Handle the result
console.log(result); console.log(result);
} }
@@ -982,7 +956,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.library.getGenresLibrary(9518, GetGenresLibraryQueryParamType.TvShow); const result = await plexAPI.library.getGenresLibrary(9518, GetGenresLibraryQueryParamType.TvShow);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1001,9 +974,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.library.getRefreshLibraryMetadata(9518, Force.One); const result = await plexAPI.library.getRefreshLibraryMetadata(9518, Force.Zero);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1024,7 +996,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.library.getSearchLibrary(9518, GetSearchLibraryQueryParamType.TvShow); const result = await plexAPI.library.getSearchLibrary(9518, GetSearchLibraryQueryParamType.TvShow);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1036,7 +1007,12 @@ actions:
label: PlexJS label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { GetLibraryItemsQueryParamType, Tag } from "@lukehagar/plexjs/sdk/models/operations"; import {
GetLibraryItemsQueryParamIncludeMeta,
GetLibraryItemsQueryParamType,
IncludeGuids,
Tag,
} from "@lukehagar/plexjs/sdk/models/operations";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
@@ -1044,12 +1020,13 @@ actions:
async function run() { async function run() {
const result = await plexAPI.library.getLibraryItems({ const result = await plexAPI.library.getLibraryItems({
tag: Tag.Edition, tag: Tag.Newest,
includeGuids: IncludeGuids.Enable,
type: GetLibraryItemsQueryParamType.TvShow, type: GetLibraryItemsQueryParamType.TvShow,
sectionKey: 9518, sectionKey: 9518,
includeMeta: GetLibraryItemsQueryParamIncludeMeta.Enable,
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -1070,7 +1047,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.log.logLine(Level.Three, "Test log message", "Postman"); const result = await plexAPI.log.logLine(Level.Three, "Test log message", "Postman");
// Handle the result
console.log(result); console.log(result);
} }
@@ -1092,7 +1068,6 @@ actions:
"level=3&message=Test%20message%202&source=postman\n" + "level=3&message=Test%20message%202&source=postman\n" +
"level=1&message=Test%20message%203&source=postman"); "level=1&message=Test%20message%203&source=postman");
// Handle the result
console.log(result); console.log(result);
} }
@@ -1112,7 +1087,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.log.enablePaperTrail(); const result = await plexAPI.log.enablePaperTrail();
// Handle the result
console.log(result); console.log(result);
} }
@@ -1132,7 +1106,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.server.getMediaProviders("CV5xoxjTpFKUzBTShsaf"); const result = await plexAPI.server.getMediaProviders("CV5xoxjTpFKUzBTShsaf");
// Handle the result
console.log(result); console.log(result);
} }
@@ -1152,7 +1125,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.server.getMyPlexAccount(); const result = await plexAPI.server.getMyPlexAccount();
// Handle the result
console.log(result); console.log(result);
} }
@@ -1174,14 +1146,12 @@ actions:
const result = await plexAPI.server.getResizedPhoto({ const result = await plexAPI.server.getResizedPhoto({
width: 110, width: 110,
height: 165, height: 165,
opacity: 100,
blur: 0, blur: 0,
minSize: MinSize.One, minSize: MinSize.Zero,
upscale: Upscale.One, upscale: Upscale.Zero,
url: "/library/metadata/49564/thumb/1654258204", url: "/library/metadata/49564/thumb/1654258204",
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -1205,7 +1175,6 @@ actions:
platform: "Roku", platform: "Roku",
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -1222,7 +1191,7 @@ actions:
async function run() { async function run() {
const result = await plexAPI.plex.getTokenByPinId({ const result = await plexAPI.plex.getTokenByPinId({
pinID: 408895, pinID: 232248,
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58", clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku", clientName: "Plex for Roku",
deviceNickname: "Roku 3", deviceNickname: "Roku 3",
@@ -1230,7 +1199,6 @@ actions:
platform: "Roku", platform: "Roku",
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -1250,7 +1218,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.playlists.getPlaylists(); const result = await plexAPI.playlists.getPlaylists();
// Handle the result
console.log(result); console.log(result);
} }
@@ -1271,12 +1238,11 @@ actions:
async function run() { async function run() {
const result = await plexAPI.playlists.createPlaylist({ const result = await plexAPI.playlists.createPlaylist({
title: "<value>", title: "<value>",
type: CreatePlaylistQueryParamType.Photo, type: CreatePlaylistQueryParamType.Audio,
smart: Smart.One, smart: Smart.One,
uri: "https://hoarse-testing.info/", uri: "https://short-term-disconnection.name/",
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -1295,9 +1261,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.playlists.uploadPlaylist("/home/barkley/playlist.m3u", QueryParamForce.Zero, 1); const result = await plexAPI.playlists.uploadPlaylist("/home/barkley/playlist.m3u", QueryParamForce.One, 1);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1315,9 +1280,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.playlists.deletePlaylist(216.22); const result = await plexAPI.playlists.deletePlaylist(3432.93);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1335,9 +1299,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.playlists.getPlaylist(4109.48); const result = await plexAPI.playlists.getPlaylist(8419.53);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1355,9 +1318,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.playlists.updatePlaylist(3915); const result = await plexAPI.playlists.updatePlaylist(1579.66);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1375,9 +1337,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.playlists.clearPlaylistContents(1893.18); const result = await plexAPI.playlists.clearPlaylistContents(4137.37);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1396,9 +1357,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.playlists.getPlaylistContents(5004.46, GetPlaylistContentsQueryParamType.TvShow); const result = await plexAPI.playlists.getPlaylistContents(5535.42, GetPlaylistContentsQueryParamType.TvShow);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1416,9 +1376,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.playlists.addPlaylistContents(8502.01, "server://12345/com.plexapp.plugins.library/library/metadata/1", 123); const result = await plexAPI.playlists.addPlaylistContents(7013.44, "server://12345/com.plexapp.plugins.library/library/metadata/1", 123);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1438,7 +1397,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.plex.getServerResources("3381b62b-9ab7-4e37-827b-203e9809eb58"); const result = await plexAPI.plex.getServerResources("3381b62b-9ab7-4e37-827b-203e9809eb58");
// Handle the result
console.log(result); console.log(result);
} }
@@ -1458,7 +1416,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.search.getSearchResults("110"); const result = await plexAPI.search.getSearchResults("110");
// Handle the result
console.log(result); console.log(result);
} }
@@ -1476,9 +1433,8 @@ actions:
}); });
async function run() { async function run() {
const result = await plexAPI.authentication.getSourceConnectionInformation("provider://provider-identifier"); const result = await plexAPI.authentication.getSourceConnectionInformation("server://client-identifier");
// Handle the result
console.log(result); console.log(result);
} }
@@ -1499,7 +1455,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.authentication.getTransientToken(GetTransientTokenQueryParamType.Delegation, Scope.All); const result = await plexAPI.authentication.getTransientToken(GetTransientTokenQueryParamType.Delegation, Scope.All);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1519,7 +1474,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.server.getServerList(); const result = await plexAPI.server.getServerList();
// Handle the result
console.log(result); console.log(result);
} }
@@ -1539,7 +1493,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.statistics.getBandwidthStatistics(4); const result = await plexAPI.statistics.getBandwidthStatistics(4);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1559,7 +1512,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.statistics.getStatistics(4); const result = await plexAPI.statistics.getStatistics(4);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1579,7 +1531,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.statistics.getResourcesStatistics(4); const result = await plexAPI.statistics.getResourcesStatistics(4);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1599,7 +1550,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.sessions.getSessions(); const result = await plexAPI.sessions.getSessions();
// Handle the result
console.log(result); console.log(result);
} }
@@ -1619,7 +1569,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.sessions.getSessionHistory("viewedAt:desc", 1, {}, 12); const result = await plexAPI.sessions.getSessionHistory("viewedAt:desc", 1, {}, 12);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1639,7 +1588,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.sessions.getTranscodeSessions(); const result = await plexAPI.sessions.getTranscodeSessions();
// Handle the result
console.log(result); console.log(result);
} }
@@ -1659,7 +1607,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.sessions.stopTranscodeSession("zz7llzqlx8w9vnrsbnwhbmep"); const result = await plexAPI.sessions.stopTranscodeSession("zz7llzqlx8w9vnrsbnwhbmep");
// Handle the result
console.log(result); console.log(result);
} }
@@ -1680,7 +1627,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.updater.applyUpdates(Tonight.One, Skip.One); const result = await plexAPI.updater.applyUpdates(Tonight.One, Skip.One);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1701,7 +1647,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.updater.checkForUpdates(Download.One); const result = await plexAPI.updater.checkForUpdates(Download.One);
// Handle the result
console.log(result); console.log(result);
} }
@@ -1721,7 +1666,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.updater.getUpdateStatus(); const result = await plexAPI.updater.getUpdateStatus();
// Handle the result
console.log(result); console.log(result);
} }
@@ -1741,7 +1685,6 @@ actions:
async function run() { async function run() {
const result = await plexAPI.authentication.getTokenDetails(); const result = await plexAPI.authentication.getTokenDetails();
// Handle the result
console.log(result); console.log(result);
} }
@@ -1773,7 +1716,6 @@ actions:
xPlexToken: "CV5xoxjTpFKUzBTShsaf", xPlexToken: "CV5xoxjTpFKUzBTShsaf",
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -1802,7 +1744,6 @@ actions:
}, },
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -1839,7 +1780,6 @@ actions:
autoAdjustQuality: 0, autoAdjustQuality: 0,
}); });
// Handle the result
console.log(result); console.log(result);
} }

View File

@@ -1,18 +0,0 @@
# 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

@@ -1,18 +0,0 @@
# 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 @@
# GetLibrarySectionsAllBadRequest
Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage
```typescript
import { GetLibrarySectionsAllBadRequest } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| `errors` | [errors.GetLibrarySectionsAllErrors](../../../sdk/models/errors/getlibrarysectionsallerrors.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 @@
# GetAllMediaLibraryErrors # GetLibrarySectionsAllErrors
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllMediaLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors"; import { GetLibrarySectionsAllErrors } from "@lukehagar/plexjs/sdk/models/errors";
let value: GetAllMediaLibraryErrors = { let value: GetLibrarySectionsAllErrors = {
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 @@
# GetAllMediaLibraryLibraryErrors # GetLibrarySectionsAllLibraryErrors
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllMediaLibraryLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors"; import { GetLibrarySectionsAllLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors";
let value: GetAllMediaLibraryLibraryErrors = { let value: GetLibrarySectionsAllLibraryErrors = {
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 @@
# GetLibrarySectionsAllUnauthorized
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetLibrarySectionsAllUnauthorized } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `errors` | [errors.GetLibrarySectionsAllLibraryErrors](../../../sdk/models/errors/getlibrarysectionsalllibraryerrors.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

@@ -7,35 +7,7 @@ import { AddPlaylistContentsResponse } from "@lukehagar/plexjs/sdk/models/operat
let value: AddPlaylistContentsResponse = { let value: AddPlaylistContentsResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 207, statusCode: 736053,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 1,
leafCountAdded: 1,
leafCountRequested: 1,
metadata: [
{
ratingKey: "94",
key: "/playlists/94/items",
guid:
"com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2",
type: "playlist",
title: "A great playlist",
summary: "One of my great playlists",
smart: false,
playlistType: "video",
composite: "/playlists/94/composite/1705800070",
duration: 423000,
leafCount: 3,
addedAt: 1705716458,
updatedAt: 1705800070,
},
],
},
},
}; };
``` ```

View File

@@ -7,10 +7,7 @@ import { ApplyUpdatesResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: ApplyUpdatesResponse = { let value: ApplyUpdatesResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 200, statusCode: 99456,
rawResponse: new Response("{\"message\": \"hello world\"}", {
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: 395427, paymentMethodId: 575569,
}; };
``` ```

View File

@@ -7,10 +7,7 @@ import { CancelServerActivitiesResponse } from "@lukehagar/plexjs/sdk/models/ope
let value: CancelServerActivitiesResponse = { let value: CancelServerActivitiesResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 405, statusCode: 192797,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
}; };
``` ```

View File

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

View File

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

View File

@@ -8,11 +8,11 @@ import { Connections, Protocol } from "@lukehagar/plexjs/sdk/models/operations";
let value: Connections = { let value: Connections = {
protocol: Protocol.Http, protocol: Protocol.Http,
address: "84577 W 9th Street", address: "84577 W 9th Street",
port: 40036, port: 610910,
uri: "https://dearest-custom.net", uri: "https://dearest-custom.net",
local: false, local: true,
relay: false, relay: true,
iPv6: false, iPv6: true,
}; };
``` ```

View File

@@ -16,8 +16,8 @@ let value: Country = {
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | N/A | 259 | | `id` | *number* | :heavy_check_mark: | The unique identifier for the country.<br/>NOTE: This is different for each Plex server and is not globally unique.<br/> | 259 |
| `tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America | | `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 | | `filter` | *string* | :heavy_check_mark: | N/A | country=19 |

View File

@@ -7,36 +7,7 @@ import { CreatePlaylistResponse } from "@lukehagar/plexjs/sdk/models/operations"
let value: CreatePlaylistResponse = { let value: CreatePlaylistResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 510, statusCode: 842539,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 7,
metadata: [
{
ratingKey: "96",
key: "/playlists/96/items",
guid:
"com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55",
type: "playlist",
title: "A Great Playlist",
summary: "What a great playlist",
smart: false,
playlistType: "video",
icon: "playlist://image.smart",
viewCount: 1,
lastViewedAt: 1705719589,
leafCount: 1,
addedAt: 1705719589,
updatedAt: 1705724593,
composite: "/playlists/96/composite/1705724593",
duration: 141000,
},
],
},
},
}; };
``` ```

View File

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

View File

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

View File

@@ -6,12 +6,21 @@
import { Director } from "@lukehagar/plexjs/sdk/models/operations"; import { Director } from "@lukehagar/plexjs/sdk/models/operations";
let value: Director = { let value: Director = {
id: 126522,
filter: "director=235876",
tag: "Danny Boyle", tag: "Danny Boyle",
tagKey: "5d776831151a60001f24d031",
thumb:
"https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle | | `id` | *number* | :heavy_check_mark: | Unique identifier for the director. | 126522 |
| `filter` | *string* | :heavy_check_mark: | The filter string used to query this director. | director=235876 |
| `tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle |
| `tagKey` | *string* | :heavy_check_mark: | A unique 24-character hexadecimal key associated with the director's tag, used for internal identification. | 5d776831151a60001f24d031 |
| `thumb` | *string* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg |

View File

@@ -1,22 +0,0 @@
# 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
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `LibraryDefault` | -1 |
| `Disabled` | 0 |
| - | `Unrecognized<string>` |

View File

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

View File

@@ -1,22 +0,0 @@
# 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
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `LibraryDefault` | -1 |
| `OldestFirst` | 0 |
| `NewestFirst` | 1 |
| - | `Unrecognized<string>` |

View File

@@ -2,6 +2,7 @@
Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). 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

View File

@@ -16,8 +16,8 @@ let value: Genre = {
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | N/A | 259 | | `id` | *number* | :heavy_check_mark: | The unique identifier for the genre.<br/>NOTE: This is different for each Plex server and is not globally unique.<br/> | 259 |
| `filter` | *string* | :heavy_check_mark: | N/A | genre=19 | | `filter` | *string* | :heavy_check_mark: | N/A | genre=19 |
| `tag` | *string* | :heavy_check_mark: | The genre name of this media-item<br/> | Crime | | `tag` | *string* | :heavy_check_mark: | The genre name of this media-item<br/> | Crime |

View File

@@ -12,8 +12,11 @@ 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

@@ -45,5 +45,5 @@ let value: GetActorsLibraryMediaContainer = {
| `title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series | | `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 | | `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 | | `viewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
| `viewMode` | *string* | :heavy_check_mark: | Identifier for the view mode. | 131131 | | `viewMode` | *string* | :heavy_minus_sign: | 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. | | | `directory` | [operations.GetActorsLibraryDirectory](../../../sdk/models/operations/getactorslibrarydirectory.md)[] | :heavy_minus_sign: | An array of actor entries for media items. | |

View File

@@ -27,7 +27,9 @@ This is an open enum. Unrecognized values will be captured as the `Unrecognized<
| `TvShow` | 2 | | `TvShow` | 2 |
| `Season` | 3 | | `Season` | 3 |
| `Episode` | 4 | | `Episode` | 4 |
| `Audio` | 8 | | `Artist` | 5 |
| `Album` | 9 | | `Album` | 6 |
| `Track` | 10 | | `Track` | 7 |
| `PhotoAlbum` | 8 |
| `Photo` | 9 |
| - | `Unrecognized<number>` | | - | `Unrecognized<number>` |

View File

@@ -7,35 +7,7 @@ import { GetActorsLibraryResponse } from "@lukehagar/plexjs/sdk/models/operation
let value: GetActorsLibraryResponse = { let value: GetActorsLibraryResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 101, statusCode: 309641,
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",
},
],
},
},
}; };
``` ```

View File

@@ -3,7 +3,7 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllLibrariesDirectory, GetAllLibrariesType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllLibrariesDirectory, GetAllLibrariesType, Hidden } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllLibrariesDirectory = { let value: GetAllLibrariesDirectory = {
allowSync: false, allowSync: false,
@@ -25,12 +25,8 @@ let value: GetAllLibrariesDirectory = {
content: true, content: true,
directory: true, directory: true,
contentChangedAt: 9173960, contentChangedAt: 9173960,
location: [ hidden: Hidden.ExcludeHomeScreen,
{ location: [],
id: 1,
path: "/Movies",
},
],
}; };
``` ```

View File

@@ -3,7 +3,7 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllLibrariesMediaContainer, GetAllLibrariesType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllLibrariesMediaContainer, GetAllLibrariesType, Hidden } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllLibrariesMediaContainer = { let value: GetAllLibrariesMediaContainer = {
size: 50, size: 50,
@@ -30,6 +30,7 @@ let value: GetAllLibrariesMediaContainer = {
content: true, content: true,
directory: true, directory: true,
contentChangedAt: 9173960, contentChangedAt: 9173960,
hidden: Hidden.ExcludeHomeScreen,
location: [ location: [
{ {
id: 1, id: 1,

View File

@@ -3,50 +3,11 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllLibrariesResponse, GetAllLibrariesType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllLibrariesResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllLibrariesResponse = { let value: GetAllLibrariesResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 101, statusCode: 429079,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 50,
allowSync: false,
title1: "TV Series",
directory: [
{
allowSync: false,
art: "/:/resources/show-fanart.jpg",
composite: "/library/sections/1/composite/1743824484",
filters: true,
refreshing: true,
thumb: "/:/resources/show.png",
key: "1",
type: GetAllLibrariesType.Movie,
title: "Movies",
agent: "tv.plex.agents.movie",
scanner: "Plex Movie",
language: "en-US",
uuid: "e69655a2-ef48-4aba-bb19-01e7d3cc34d6",
updatedAt: 1556281940,
createdAt: 1556281940,
scannedAt: 1556281940,
content: true,
directory: true,
contentChangedAt: 9173960,
location: [
{
id: 1,
path: "/Movies",
},
],
},
],
},
},
}; };
``` ```

View File

@@ -5,7 +5,7 @@ The libraries available on the Server
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllLibrariesResponseBody, GetAllLibrariesType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllLibrariesResponseBody, GetAllLibrariesType, Hidden } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllLibrariesResponseBody = { let value: GetAllLibrariesResponseBody = {
mediaContainer: { mediaContainer: {
@@ -33,6 +33,7 @@ let value: GetAllLibrariesResponseBody = {
content: true, content: true,
directory: true, directory: true,
contentChangedAt: 9173960, contentChangedAt: 9173960,
hidden: Hidden.ExcludeHomeScreen,
location: [ location: [
{ {
id: 1, id: 1,

View File

@@ -22,4 +22,8 @@ This is an open enum. Unrecognized values will be captured as the `Unrecognized<
| `Episode` | episode | | `Episode` | episode |
| `Artist` | artist | | `Artist` | artist |
| `Album` | album | | `Album` | album |
| `Track` | track |
| `PhotoAlbum` | photoalbum |
| `Photo` | photo |
| `Collection` | collection |
| - | `Unrecognized<string>` | | - | `Unrecognized<string>` |

View File

@@ -1,20 +0,0 @@
# 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

@@ -1,24 +0,0 @@
# 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

@@ -1,17 +0,0 @@
# 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

@@ -1,18 +0,0 @@
# 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

@@ -1,21 +0,0 @@
# 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

@@ -1,20 +0,0 @@
# 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

@@ -1,123 +0,0 @@
# GetAllMediaLibraryMedia
## Example Usage
```typescript
import { GetAllMediaLibraryMedia, GetAllMediaLibraryStreamType } 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: GetAllMediaLibraryStreamType.Video,
format: "srt",
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,
key: "/library/streams/216389",
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

@@ -1,19 +0,0 @@
# 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

@@ -1,17 +0,0 @@
# 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

@@ -1,99 +0,0 @@
# GetAllMediaLibraryPart
## Example Usage
```typescript
import { GetAllMediaLibraryPart, GetAllMediaLibraryStreamType } 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: GetAllMediaLibraryStreamType.Video,
format: "srt",
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,
key: "/library/streams/216389",
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. | |

View File

@@ -1,20 +0,0 @@
# GetAllMediaLibraryQueryParamIncludeMeta
Adds the Meta object to the response
## Example Usage
```typescript
import { GetAllMediaLibraryQueryParamIncludeMeta } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryQueryParamIncludeMeta =
GetAllMediaLibraryQueryParamIncludeMeta.Enable;
```
## Values
| Name | Value |
| --------- | --------- |
| `Disable` | 0 |
| `Enable` | 1 |

View File

@@ -1,304 +0,0 @@
# GetAllMediaLibraryResponse
## Example Usage
```typescript
import {
GetAllMediaLibraryLibraryResponseType,
GetAllMediaLibraryLibraryType,
GetAllMediaLibraryResponse,
GetAllMediaLibraryStreamType,
} from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetAllMediaLibraryResponse = {
contentType: "<value>",
statusCode: 505,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
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: GetAllMediaLibraryStreamType.Video,
format: "srt",
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,
key: "/library/streams/216389",
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 |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `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.GetAllMediaLibraryResponseBody](../../../sdk/models/operations/getallmedialibraryresponsebody.md) | :heavy_minus_sign: | Successful response containing media container data. |

View File

@@ -1,29 +0,0 @@
# GetAllMediaLibrarySort
## Example Usage
```typescript
import { GetAllMediaLibrarySort } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibrarySort = {
default: "asc",
active: false,
descKey: "titleSort:desc",
firstCharacterKey: "/library/sections/2/firstCharacter",
key: "titleSort",
title: "Title",
};
```
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `default` | *string* | :heavy_minus_sign: | N/A | asc |
| `active` | *boolean* | :heavy_minus_sign: | N/A | false |
| `activeDirection` | [operations.GetAllMediaLibraryActiveDirection](../../../sdk/models/operations/getallmedialibraryactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.<br/> | asc |
| `defaultDirection` | [operations.GetAllMediaLibraryDefaultDirection](../../../sdk/models/operations/getallmedialibrarydefaultdirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.<br/> | asc |
| `descKey` | *string* | :heavy_minus_sign: | N/A | titleSort:desc |
| `firstCharacterKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter |
| `key` | *string* | :heavy_check_mark: | N/A | titleSort |
| `title` | *string* | :heavy_check_mark: | N/A | Title |

View File

@@ -1,117 +0,0 @@
# GetAllMediaLibraryStream
## Example Usage
```typescript
import { GetAllMediaLibraryStream, GetAllMediaLibraryStreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryStream = {
id: 1002625,
streamType: GetAllMediaLibraryStreamType.Video,
format: "srt",
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,
key: "/library/streams/216389",
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 stream identifier. | 1002625 |
| `streamType` | [operations.GetAllMediaLibraryStreamType](../../../sdk/models/operations/getallmedialibrarystreamtype.md) | :heavy_check_mark: | Stream type:<br/> - 1 = video<br/> - 2 = audio<br/> - 3 = subtitle<br/> | 1 |
| `format` | *string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt |
| `default` | *boolean* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `index` | *number* | :heavy_minus_sign: | Index of the stream. | 0 |
| `bitrate` | *number* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `language` | *string* | :heavy_minus_sign: | Language of the stream. | English |
| `languageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
| `languageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng |
| `headerCompression` | *boolean* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `doviblCompatID` | *number* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
| `doviblPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
| `dovielPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
| `doviLevel` | *number* | :heavy_minus_sign: | Dolby Vision level. | 6 |
| `doviPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
| `doviProfile` | *number* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
| `dovirpuPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
| `doviVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
| `bitDepth` | *number* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `chromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft |
| `chromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
| `codedHeight` | *number* | :heavy_minus_sign: | Coded video height. | 1608 |
| `codedWidth` | *number* | :heavy_minus_sign: | Coded video width. | 3840 |
| `closedCaptions` | *boolean* | :heavy_minus_sign: | N/A | true |
| `colorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 |
| `colorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
| `colorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc |
| `colorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `frameRate` | *number* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `key` | *string* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 |
| `height` | *number* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `level` | *number* | :heavy_minus_sign: | Video level. | 150 |
| `original` | *boolean* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `hasScalingMatrix` | *boolean* | :heavy_minus_sign: | N/A | false |
| `profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 |
| `scanType` | *string* | :heavy_minus_sign: | N/A | progressive |
| `embeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive |
| `refFrames` | *number* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `width` | *number* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `displayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `extendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `selected` | *boolean* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
| `forced` | *boolean* | :heavy_minus_sign: | N/A | true |
| `channels` | *number* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `audioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `samplingRate` | *number* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `canAutoSync` | *boolean* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `hearingImpaired` | *boolean* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true |
| `dub` | *boolean* | :heavy_minus_sign: | Indicates if the stream is a dub. | true |
| `title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH |

View File

@@ -1,26 +0,0 @@
# GetAllMediaLibraryStreamType
Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
## Example Usage
```typescript
import { GetAllMediaLibraryStreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryStreamType = GetAllMediaLibraryStreamType.Video;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Video` | 1 |
| `Audio` | 2 |
| `Subtitle` | 3 |
| - | `Unrecognized<number>` |

View File

@@ -1,56 +0,0 @@
# GetAllMediaLibraryType
## Example Usage
```typescript
import { GetAllMediaLibraryType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryType = {
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",
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
| `type` | *string* | :heavy_check_mark: | N/A | filter |
| `subtype` | *string* | :heavy_minus_sign: | N/A | clip |
| `title` | *string* | :heavy_check_mark: | N/A | TV Shows |
| `active` | *boolean* | :heavy_check_mark: | N/A | false |
| `filter` | [operations.GetAllMediaLibraryFilter](../../../sdk/models/operations/getallmedialibraryfilter.md)[] | :heavy_minus_sign: | N/A | |
| `sort` | [operations.GetAllMediaLibrarySort](../../../sdk/models/operations/getallmedialibrarysort.md)[] | :heavy_minus_sign: | N/A | |
| `field` | [operations.GetAllMediaLibraryField](../../../sdk/models/operations/getallmedialibraryfield.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -7,31 +7,7 @@ import { GetAvailableClientsResponse } from "@lukehagar/plexjs/sdk/models/operat
let value: GetAvailableClientsResponse = { let value: GetAvailableClientsResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 308, statusCode: 927142,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 1,
server: [
{
name: "iPad",
host: "10.10.10.102",
address: "10.10.10.102",
port: 32500,
machineIdentifier: "A2E901F8-E016-43A7-ADFB-EF8CA8A4AC05",
version: "8.17",
protocol: "plex",
product: "Plex for iOS",
deviceClass: "tablet",
protocolVersion: 2,
protocolCapabilities:
"playback,playqueues,timeline,provider-playback",
},
],
},
},
}; };
``` ```

View File

@@ -7,46 +7,7 @@ import { GetBandwidthStatisticsResponse } from "@lukehagar/plexjs/sdk/models/ope
let value: GetBandwidthStatisticsResponse = { let value: GetBandwidthStatisticsResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 101, statusCode: 430843,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 5497,
device: [
{
id: 208,
name: "Roku Express",
platform: "Roku",
clientIdentifier: "793095d235660625108ef785cc7646e9",
createdAt: 1706470556,
},
],
account: [
{
id: 238960586,
key: "/accounts/238960586",
name: "Diane",
defaultAudioLanguage: "en",
autoSelectAudio: true,
defaultSubtitleLanguage: "en",
subtitleMode: 1,
thumb: "https://plex.tv/users/50d83634246da1de/avatar?c=1707110967",
},
],
statisticsBandwidth: [
{
accountID: 238960586,
deviceID: 208,
timespan: 6,
at: 1718387650,
lan: true,
bytes: 22,
},
],
},
},
}; };
``` ```

View File

@@ -7,23 +7,7 @@ import { GetButlerTasksResponse } from "@lukehagar/plexjs/sdk/models/operations"
let value: GetButlerTasksResponse = { let value: GetButlerTasksResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 402, statusCode: 73689,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
butlerTasks: {
butlerTask: [
{
name: "BackupDatabase",
interval: 3,
title: "Backup Database",
description:
"Create a backup copy of the server's database in the configured backup directory",
},
],
},
},
}; };
``` ```

View File

@@ -7,20 +7,7 @@ import { GetCompanionsDataResponse } from "@lukehagar/plexjs/sdk/models/operatio
let value: GetCompanionsDataResponse = { let value: GetCompanionsDataResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 301, statusCode: 133605,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
responseBodies: [
{
identifier: "tv.plex.sonos",
baseURL: "https://sonos.plex.tv",
title: "Sonos",
linkURL: "https://sonos.plex.tv/link",
provides: "client,player",
token: "<value>",
},
],
}; };
``` ```

View File

@@ -27,7 +27,9 @@ This is an open enum. Unrecognized values will be captured as the `Unrecognized<
| `TvShow` | 2 | | `TvShow` | 2 |
| `Season` | 3 | | `Season` | 3 |
| `Episode` | 4 | | `Episode` | 4 |
| `Audio` | 8 | | `Artist` | 5 |
| `Album` | 9 | | `Album` | 6 |
| `Track` | 10 | | `Track` | 7 |
| `PhotoAlbum` | 8 |
| `Photo` | 9 |
| - | `Unrecognized<number>` | | - | `Unrecognized<number>` |

View File

@@ -7,33 +7,7 @@ import { GetCountriesLibraryResponse } from "@lukehagar/plexjs/sdk/models/operat
let value: GetCountriesLibraryResponse = { let value: GetCountriesLibraryResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 404, statusCode: 138249,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 50,
allowSync: false,
art: "/:/resources/show-fanart.jpg",
content: "secondary",
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",
directory: [
{
fastKey: "/library/sections/2/all?country=15491",
key: "15491",
title: "Japan",
},
],
},
},
}; };
``` ```

View File

@@ -7,24 +7,7 @@ import { GetDevicesResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetDevicesResponse = { let value: GetDevicesResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 301, statusCode: 113704,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 151,
identifier: "com.plexapp.system.devices",
device: [
{
id: 1,
name: "iPhone",
platform: "iOS",
createdAt: 1654131230,
},
],
},
},
}; };
``` ```

View File

@@ -6,7 +6,7 @@
import { GetFileHashRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { GetFileHashRequest } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetFileHashRequest = { let value: GetFileHashRequest = {
url: "file://C:\Image.png&type=13", url: "file://C:\\Image.png&type=13",
}; };
``` ```

View File

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

View File

@@ -27,7 +27,9 @@ This is an open enum. Unrecognized values will be captured as the `Unrecognized<
| `TvShow` | 2 | | `TvShow` | 2 |
| `Season` | 3 | | `Season` | 3 |
| `Episode` | 4 | | `Episode` | 4 |
| `Audio` | 8 | | `Artist` | 5 |
| `Album` | 9 | | `Album` | 6 |
| `Track` | 10 | | `Track` | 7 |
| `PhotoAlbum` | 8 |
| `Photo` | 9 |
| - | `Unrecognized<number>` | | - | `Unrecognized<number>` |

View File

@@ -7,34 +7,7 @@ import { GetGenresLibraryResponse } from "@lukehagar/plexjs/sdk/models/operation
let value: GetGenresLibraryResponse = { let value: GetGenresLibraryResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 301, statusCode: 150762,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 50,
allowSync: false,
art: "/:/resources/show-fanart.jpg",
content: "secondary",
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",
directory: [
{
fastKey: "/library/sections/10/all?genre=89",
key: "89",
title: "Action",
type: "genre",
},
],
},
},
}; };
``` ```

View File

@@ -12,8 +12,11 @@ let value: GetGeoDataGeoData = {
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

@@ -7,20 +7,7 @@ import { GetGeoDataResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetGeoDataResponse = { let value: GetGeoDataResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 103, statusCode: 752880,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
geoData: {
code: "VI",
continentCode: "NA",
country: "United States Virgin Islands",
city: "Amsterdam",
timeZone: "America/St_Thomas",
postalCode: "802",
subdivisions: "Saint Thomas",
coordinates: "18.3381, -64.8941",
},
}; };
``` ```

View File

@@ -7,54 +7,7 @@ import { GetGlobalHubsResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetGlobalHubsResponse = { let value: GetGlobalHubsResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 306, statusCode: 711048,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 8,
allowSync: true,
identifier: "com.plexapp.plugins.library",
hub: [
{
hubKey: "/library/metadata/50768,65523,58188,57341,57302,57070",
key:
"/playlists/all?type=15&sort=lastViewedAt:desc&playlistType=video,audio",
title: "Recent Playlists",
type: "playlist",
hubIdentifier: "home.playlists",
context: "hub.home.playlists",
size: 6,
more: true,
style: "shelf",
promoted: true,
metadata: [
{
ratingKey: "57070",
key: "/playlists/57070/items",
guid:
"com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c",
type: "playlist",
title: "November Movie Day",
titleSort: "Tracks",
summary: "",
smart: false,
playlistType: "video",
composite: "/playlists/57070/composite/1668787730",
icon: "playlist://image.smart",
viewCount: 2,
lastViewedAt: 1668787732,
duration: 16873000,
leafCount: 3,
addedAt: 1668779618,
updatedAt: 1668787730,
},
],
},
],
},
},
}; };
``` ```

View File

@@ -7,16 +7,7 @@ import { GetHomeDataResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetHomeDataResponse = { let value: GetHomeDataResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 404, statusCode: 145217,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
id: 1841489,
name: "Blindkitty38's home",
guestUserID: 58815432,
guestUserUUID: "f3df4e01bfca0787",
},
}; };
``` ```

View File

@@ -7,81 +7,7 @@ import { GetLibraryDetailsResponse } from "@lukehagar/plexjs/sdk/models/operatio
let value: GetLibraryDetailsResponse = { let value: GetLibraryDetailsResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 206, statusCode: 683537,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 29,
allowSync: false,
art: "/:/resources/movie-fanart.jpg",
content: "secondary",
identifier: "com.plexapp.plugins.library",
librarySectionID: 1,
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1701731894,
thumb: "/:/resources/movie.png",
title1: "Movies",
viewGroup: "secondary",
viewMode: 65592,
directory: [
{
key: "search?type=1",
title: "Search...",
secondary: true,
prompt: "Search Movies",
search: true,
},
],
type: [
{
key: "/library/sections/1/all?type=1",
type: "movie",
title: "Movies",
active: false,
filter: [
{
filter: "label",
filterType: "string",
key: "/library/sections/1/label",
title: "Labels",
type: "filter",
},
],
sort: [
{
default: "asc",
defaultDirection: "desc",
descKey: "random:desc",
firstCharacterKey: "/library/sections/1/firstCharacter",
key: "random",
title: "Randomly",
},
],
field: [
{
key: "label",
title: "Label",
type: "tag",
subType: "bitrate",
},
],
},
],
fieldType: [
{
type: "resolution",
operator: [
{
key: "=",
title: "is",
},
],
},
],
},
},
}; };
``` ```

View File

@@ -4,133 +4,10 @@
```typescript ```typescript
import { GetLibraryHubsResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryHubsResponse } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetLibraryHubsResponse = { let value: GetLibraryHubsResponse = {
contentType: "<value>", contentType: "<value>",
statusCode: 304, statusCode: 455564,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 7,
allowSync: true,
identifier: "com.plexapp.plugins.library",
librarySectionID: 1,
librarySectionTitle: "Movies",
librarySectionUUID: "322a231a-b7f7-49f5-920f-14c61199cd30",
hub: [
{
key:
"/library/sections/1/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0",
title: "Recently Played Movies",
type: "movie",
hubIdentifier: "movie.recentlyviewed.1",
context: "hub.movie.recentlyviewed",
size: 6,
more: true,
style: "shelf",
hubKey: "/library/metadata/66485,66098,57249,11449,5858,14944",
metadata: [
{
ratingKey: "14944",
key: "/library/metadata/14944",
guid: "plex://movie/5d77686eeb5d26001f1eb339",
studio: "Walt Disney Animation Studios",
type: "movie",
title: "Tangled",
librarySectionTitle: "Movies",
librarySectionID: 1,
librarySectionKey: "/library/sections/1",
contentRating: "PG",
summary:
"The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is.",
rating: 8.9,
audienceRating: 8.7,
viewCount: 1,
lastViewedAt: 1704936047,
year: 2010,
tagline: "They're taking adventure to new lengths.",
thumb: "/library/metadata/14944/thumb/1705739847",
art: "/library/metadata/14944/art/1705739847",
duration: 6017237,
originallyAvailableAt: new RFCDate("2010-11-24T00:00:00Z"),
addedAt: 1589412494,
updatedAt: 1705739847,
audienceRatingImage: "rottentomatoes://image.rating.upright",
primaryExtraKey: "/library/metadata/14952",
ratingImage: "rottentomatoes://image.rating.ripe",
media: [
{
id: 38247,
duration: 6017237,
bitrate: 2051,
width: 1920,
height: 1080,
aspectRatio: 1.78,
audioChannels: 2,
audioCodec: "aac",
videoCodec: "h264",
videoResolution: "1080",
container: "mp4",
videoFrameRate: "24p",
optimizedForStreaming: 1,
audioProfile: "lc",
has64bitOffsets: false,
videoProfile: "high",
part: [
{
id: 38247,
key: "/library/parts/38247/1589412494/file.mp4",
duration: 6017237,
file:
"/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",
size: 1545647447,
audioProfile: "lc",
container: "mp4",
has64bitOffsets: false,
optimizedForStreaming: true,
videoProfile: "high",
},
],
},
],
genre: [
{
tag: "Animation",
},
],
country: [
{
tag: "United States of America",
},
],
director: [
{
tag: "Nathan Greno",
},
],
role: [
{
tag: "Donna Murphy",
},
],
writer: [
{
tag: "Wilhelm Grimm",
},
],
skipCount: 1,
chapterSource: "media",
},
],
promoted: true,
random: true,
},
],
},
},
}; };
``` ```

View File

@@ -6,12 +6,12 @@
import { GetLibraryItemsCollection } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryItemsCollection } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsCollection = { let value: GetLibraryItemsCollection = {
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

@@ -6,12 +6,14 @@
import { GetLibraryItemsCountry } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryItemsCountry } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsCountry = { let value: GetLibraryItemsCountry = {
id: 259,
tag: "United States of America", tag: "United States of America",
}; };
``` ```
## 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: | The unique identifier for the country.<br/>NOTE: This is different for each Plex server and is not globally unique.<br/> | 259 |
| `tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America |

View File

@@ -6,12 +6,17 @@
import { GetLibraryItemsDirector } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryItemsDirector } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsDirector = { let value: GetLibraryItemsDirector = {
tag: "James Cameron", id: 126522,
tag: "Danny Boyle",
thumb:
"https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `tag` | *string* | :heavy_minus_sign: | N/A | James Cameron | | `id` | *number* | :heavy_check_mark: | Unique identifier for the director. | 126522 |
| `tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle |
| `thumb` | *string* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg |

View File

@@ -7,12 +7,7 @@ import { GetLibraryItemsFieldType } from "@lukehagar/plexjs/sdk/models/operation
let value: GetLibraryItemsFieldType = { let value: GetLibraryItemsFieldType = {
type: "tag", type: "tag",
operator: [ operator: [],
{
key: "=",
title: "is",
},
],
}; };
``` ```

View File

@@ -11,7 +11,6 @@ let value: GetLibraryItemsFilter = {
key: "/library/sections/2/genre?type=2", key: "/library/sections/2/genre?type=2",
title: "Genre", title: "Genre",
type: "filter", type: "filter",
advanced: true,
}; };
``` ```
@@ -23,5 +22,4 @@ let value: GetLibraryItemsFilter = {
| `filterType` | *string* | :heavy_check_mark: | N/A | string | | `filterType` | *string* | :heavy_check_mark: | N/A | string |
| `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | | `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 |
| `title` | *string* | :heavy_check_mark: | N/A | Genre | | `title` | *string* | :heavy_check_mark: | N/A | Genre |
| `type` | *string* | :heavy_check_mark: | N/A | filter | | `type` | *string* | :heavy_check_mark: | N/A | filter |
| `advanced` | *boolean* | :heavy_minus_sign: | N/A | true |

View File

@@ -6,12 +6,14 @@
import { GetLibraryItemsGenre } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryItemsGenre } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsGenre = { let value: GetLibraryItemsGenre = {
tag: "Adventure", id: 259,
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: | The unique identifier for the genre.<br/>NOTE: This is different for each Plex server and is not globally unique.<br/> | 259 |
| `tag` | *string* | :heavy_check_mark: | The genre name of this media-item<br/> | Crime |

View File

@@ -0,0 +1,18 @@
# GetLibraryItemsGuids
## Example Usage
```typescript
import { GetLibraryItemsGuids } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsGuids = {
id:
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -1,5 +1,8 @@
# GetLibraryItemsHasThumbnail # GetLibraryItemsHasThumbnail
Indicates if the part has a thumbnail.
## Example Usage ## Example Usage
```typescript ```typescript

View File

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

View File

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

View File

@@ -1,23 +0,0 @@
# GetLibraryItemsLibraryField
## Example Usage
```typescript
import { GetLibraryItemsLibraryField } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsLibraryField = {
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

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

View File

@@ -1,25 +0,0 @@
# GetLibraryItemsLibraryFilter
## Example Usage
```typescript
import { GetLibraryItemsLibraryFilter } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsLibraryFilter = {
filter: "genre",
filterType: "string",
key: "/library/sections/2/genre?type=2",
title: "Genre",
type: "filter",
};
```
## 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 |

View File

@@ -1,19 +0,0 @@
# GetLibraryItemsLibraryOperator
## Example Usage
```typescript
import { GetLibraryItemsLibraryOperator } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsLibraryOperator = {
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,21 @@
# GetLibraryItemsLibraryOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
## Supported Types
### `operations.GetLibraryItemsOptimizedForStreaming1`
```typescript
const value: operations.GetLibraryItemsOptimizedForStreaming1 =
GetLibraryItemsOptimizedForStreaming1.One;
```
### `boolean`
```typescript
const value: boolean = true;
```

View File

@@ -1,22 +0,0 @@
# GetLibraryItemsLibraryResponse200Type
## Example Usage
```typescript
import { GetLibraryItemsLibraryResponse200Type } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsLibraryResponse200Type =
GetLibraryItemsLibraryResponse200Type.Background;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `CoverPoster` | coverPoster |
| `Background` | background |
| `Snapshot` | snapshot |
| `ClearLogo` | clearLogo |
| - | `Unrecognized<string>` |

View File

@@ -5,49 +5,18 @@
```typescript ```typescript
import { GetLibraryItemsLibraryResponseType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryItemsLibraryResponseType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsLibraryResponseType = { let value: GetLibraryItemsLibraryResponseType =
key: "/library/sections/2/all?type=2", GetLibraryItemsLibraryResponseType.Background;
type: "show",
title: "TV Shows",
active: false,
filter: [
{
filter: "genre",
filterType: "string",
key: "/library/sections/2/genre?type=2",
title: "Genre",
type: "filter",
},
],
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",
},
],
};
``` ```
## Fields ## Values
| Field | Type | Required | Description | Example | This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | | Name | Value |
| `type` | *string* | :heavy_check_mark: | N/A | show | | ---------------------- | ---------------------- |
| `title` | *string* | :heavy_check_mark: | N/A | TV Shows | | `CoverPoster` | coverPoster |
| `active` | *boolean* | :heavy_check_mark: | N/A | false | | `Background` | background |
| `filter` | [operations.GetLibraryItemsLibraryFilter](../../../sdk/models/operations/getlibraryitemslibraryfilter.md)[] | :heavy_minus_sign: | N/A | | | `Snapshot` | snapshot |
| `sort` | [operations.GetLibraryItemsLibrarySort](../../../sdk/models/operations/getlibraryitemslibrarysort.md)[] | :heavy_minus_sign: | N/A | | | `ClearLogo` | clearLogo |
| `field` | [operations.GetLibraryItemsLibraryField](../../../sdk/models/operations/getlibraryitemslibraryfield.md)[] | :heavy_minus_sign: | N/A | | | - | `Unrecognized<string>` |

View File

@@ -1,29 +0,0 @@
# GetLibraryItemsLibrarySort
## Example Usage
```typescript
import { GetLibraryItemsLibrarySort } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsLibrarySort = {
default: "asc",
active: false,
descKey: "titleSort:desc",
firstCharacterKey: "/library/sections/2/firstCharacter",
key: "titleSort",
title: "Title",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `default` | *string* | :heavy_minus_sign: | N/A | asc |
| `active` | *boolean* | :heavy_minus_sign: | N/A | false |
| `activeDirection` | [operations.GetLibraryItemsLibraryActiveDirection](../../../sdk/models/operations/getlibraryitemslibraryactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.<br/> | asc |
| `defaultDirection` | [operations.GetLibraryItemsLibraryDefaultDirection](../../../sdk/models/operations/getlibraryitemslibrarydefaultdirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.<br/> | asc |
| `descKey` | *string* | :heavy_minus_sign: | N/A | titleSort:desc |
| `firstCharacterKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter |
| `key` | *string* | :heavy_check_mark: | N/A | titleSort |
| `title` | *string* | :heavy_check_mark: | N/A | Title |

View File

@@ -1,26 +1,53 @@
# GetLibraryItemsLibraryType # GetLibraryItemsLibraryType
The type of media content
## Example Usage ## Example Usage
```typescript ```typescript
import { GetLibraryItemsLibraryType } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryItemsLibraryType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsLibraryType = GetLibraryItemsLibraryType.Movie; let value: GetLibraryItemsLibraryType = {
key: "/library/sections/2/all?type=2",
type: "show",
title: "TV Shows",
active: false,
filter: [
{
filter: "genre",
filterType: "string",
key: "/library/sections/2/genre?type=2",
title: "Genre",
type: "filter",
},
],
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",
},
],
};
``` ```
## Values ## Fields
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type. | Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| Name | Value | | `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
| ---------------------- | ---------------------- | | `type` | *string* | :heavy_check_mark: | N/A | show |
| `Movie` | movie | | `title` | *string* | :heavy_check_mark: | N/A | TV Shows |
| `TvShow` | show | | `active` | *boolean* | :heavy_check_mark: | N/A | false |
| `Season` | season | | `filter` | [operations.GetLibraryItemsFilter](../../../sdk/models/operations/getlibraryitemsfilter.md)[] | :heavy_minus_sign: | N/A | |
| `Episode` | episode | | `sort` | [operations.GetLibraryItemsSort](../../../sdk/models/operations/getlibraryitemssort.md)[] | :heavy_minus_sign: | N/A | |
| `Artist` | artist | | `field` | [operations.GetLibraryItemsField](../../../sdk/models/operations/getlibraryitemsfield.md)[] | :heavy_minus_sign: | N/A | |
| `Album` | album |
| - | `Unrecognized<string>` |

View File

@@ -1,17 +1,19 @@
# GetLibraryItemsLocation # GetLibraryItemsLocation
The folder path for the media item.
## Example Usage ## Example Usage
```typescript ```typescript
import { GetLibraryItemsLocation } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryItemsLocation } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsLocation = { let value: GetLibraryItemsLocation = {
path: "/TV Shows/House", path: "/TV Shows/Clarkson's Farm",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | | ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- |
| `path` | *string* | :heavy_minus_sign: | N/A | /TV Shows/House | | `path` | *string* | :heavy_check_mark: | N/A | /TV Shows/Clarkson's Farm |

View File

@@ -3,81 +3,42 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetLibraryItemsMedia } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryItemsHasThumbnail, GetLibraryItemsMedia } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsMedia = { let value: GetLibraryItemsMedia = {
id: 119534, id: 387322,
duration: 11558112, duration: 9610350,
bitrate: 25025, bitrate: 25512,
width: 3840, width: 3840,
height: 2072, height: 1602,
aspectRatio: 1.85, aspectRatio: 2.35,
audioProfile: "dts",
audioChannels: 6, audioChannels: 6,
audioCodec: "eac3", displayOffset: 50,
audioCodec: "aac",
videoCodec: "hevc", videoCodec: "hevc",
videoResolution: "4k", videoResolution: "4k",
container: "mkv", container: "mp4",
videoFrameRate: "24p", videoFrameRate: "24p",
videoProfile: "main 10", videoProfile: "main 10",
hasVoiceActivity: false, hasVoiceActivity: false,
audioProfile: "dts",
has64bitOffsets: false, has64bitOffsets: false,
part: [ part: [
{ {
id: 119542, accessible: true,
key: "/library/parts/119542/1680457526/file.mkv", exists: true,
duration: 11558112, id: 418385,
file: key: "/library/parts/418385/1735864239/file.mkv",
"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", indexes: "sd",
size: 36158371307, duration: 9610350,
file: "/mnt/Movies_1/W/Wicked (2024).mkv",
size: 30649952104,
packetLength: 188,
container: "mkv", container: "mkv",
videoProfile: "main 10",
audioProfile: "dts", audioProfile: "dts",
has64bitOffsets: false, has64bitOffsets: false,
optimizedForStreaming: false, hasThumbnail: GetLibraryItemsHasThumbnail.True,
videoProfile: "main 10",
indexes: "sd",
stream: [
{
id: 272796,
streamType: 1,
default: true,
selected: true,
codec: "h264",
index: 0,
bitrate: 6273,
colorPrimaries: "bt709",
colorRange: "tv",
colorSpace: "bt709",
colorTrc: "bt709",
bitDepth: 8,
chromaLocation: "left",
streamIdentifier: "2",
chromaSubsampling: "4:2:0",
codedHeight: 1088,
codedWidth: 1920,
frameRate: 29.97,
hasScalingMatrix: false,
hearingImpaired: false,
closedCaptions: false,
embeddedInVideo: "1",
height: 1080,
level: 40,
profile: "main",
refFrames: 4,
scanType: "progressive",
width: 1920,
displayTitle: "1080p (H.264)",
extendedDisplayTitle: "1080p (H.264)",
channels: 2,
language: "English",
languageTag: "en",
languageCode: "eng",
audioChannelLayout: "stereo",
samplingRate: 48000,
title: "English",
canAutoSync: false,
},
],
}, },
], ],
}; };
@@ -85,23 +46,24 @@ let value: GetLibraryItemsMedia = {
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | N/A | 119534 | | `id` | *number* | :heavy_check_mark: | Unique media identifier. | 387322 |
| `duration` | *number* | :heavy_minus_sign: | N/A | 11558112 | | `duration` | *number* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 |
| `bitrate` | *number* | :heavy_minus_sign: | N/A | 25025 | | `bitrate` | *number* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 |
| `width` | *number* | :heavy_minus_sign: | N/A | 3840 | | `width` | *number* | :heavy_minus_sign: | Video width in pixels. | 3840 |
| `height` | *number* | :heavy_minus_sign: | N/A | 2072 | | `height` | *number* | :heavy_minus_sign: | Video height in pixels. | 1602 |
| `aspectRatio` | *number* | :heavy_minus_sign: | N/A | 1.85 | | `aspectRatio` | *number* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 |
| `audioProfile` | *string* | :heavy_minus_sign: | N/A | dts | | `audioChannels` | *number* | :heavy_minus_sign: | Number of audio channels. | 6 |
| `audioChannels` | *number* | :heavy_minus_sign: | N/A | 6 | | `displayOffset` | *number* | :heavy_minus_sign: | N/A | 50 |
| `audioCodec` | *string* | :heavy_minus_sign: | N/A | eac3 | | `audioCodec` | *string* | :heavy_minus_sign: | Audio codec used. | aac |
| `videoCodec` | *string* | :heavy_minus_sign: | N/A | hevc | | `videoCodec` | *string* | :heavy_minus_sign: | Video codec used. | hevc |
| `videoResolution` | *string* | :heavy_minus_sign: | N/A | 4k | | `videoResolution` | *string* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k |
| `container` | *string* | :heavy_check_mark: | N/A | mkv | | `container` | *string* | :heavy_minus_sign: | Container format of the media. | mp4 |
| `videoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | | `videoFrameRate` | *string* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p<br/> | 24p |
| `videoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 | | `videoProfile` | *string* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 |
| `hasVoiceActivity` | *boolean* | :heavy_minus_sign: | N/A | false | | `hasVoiceActivity` | *boolean* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false |
| `optimizedForStreaming` | [operations.GetLibraryItemsOptimizedForStreaming](../../../sdk/models/operations/getlibraryitemsoptimizedforstreaming.md) | :heavy_minus_sign: | N/A | 1 | | `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.GetLibraryItemsOptimizedForStreaming* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `part` | [operations.GetLibraryItemsPart](../../../sdk/models/operations/getlibraryitemspart.md)[] | :heavy_check_mark: | N/A | | | `has64bitOffsets` | *boolean* | :heavy_minus_sign: | Indicates whether the media has 64-bit offsets.<br/>This is relevant for media files that may require larger offsets than what 32-bit integers can provide.<br/> | false |
| `part` | [operations.GetLibraryItemsPart](../../../sdk/models/operations/getlibraryitemspart.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -1,304 +1,31 @@
# GetLibraryItemsMediaContainer # GetLibraryItemsMediaContainer
The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
## Example Usage ## Example Usage
```typescript ```typescript
import { import { GetLibraryItemsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
EnableCreditsMarkerGeneration,
EpisodeSort,
FlattenSeasons,
GetLibraryItemsLibraryResponse200Type,
GetLibraryItemsLibraryType,
GetLibraryItemsMediaContainer,
ShowOrdering,
} from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetLibraryItemsMediaContainer = { let value: GetLibraryItemsMediaContainer = {
type: [ size: 50,
{ totalSize: 50,
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",
},
],
},
],
size: 70,
totalSize: 170,
offset: 0, offset: 0,
content: "secondary", content: "secondary",
allowSync: true, allowSync: false,
nocache: true, nocache: true,
art: "/:/resources/movie-fanart.jpg", art: "/:/resources/show-fanart.jpg",
identifier: "com.plexapp.plugins.library", identifier: "com.plexapp.plugins.library",
librarySectionID: 1, librarySectionID: 2,
librarySectionTitle: "Movies", librarySectionTitle: "TV Series",
librarySectionUUID: "322a231a-b7f7-49f5-920f-14c61199cd30", librarySectionUUID: "e69655a2-ef48-4aba-bb19-0cc34d1e7d36",
mediaTagPrefix: "/system/bundle/media/flags/", mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1701731894, mediaTagVersion: 1734362201,
thumb: "/:/resources/movie.png", thumb: "/:/resources/show.png",
title1: "Movies", title1: "TV Series",
title2: "Recently Released", title2: "By Starring Actor",
viewGroup: "movie", viewGroup: "secondary",
viewMode: 65592, viewMode: "131131",
mixedParents: true, mixedParents: true,
metadata: [ metadata: [],
{
ratingKey: "58683",
key: "/library/metadata/58683",
guid: "plex://movie/5d7768ba96b655001fdc0408",
studio: "20th Century Studios",
skipChildren: false,
librarySectionID: 1,
librarySectionTitle: "Movies",
librarySectionKey: "/library/sections/1",
type: GetLibraryItemsLibraryType.Movie,
title: "Avatar: The Way of Water",
slug: "4-for-texas",
contentRating: "PG-13",
summary:
"Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.",
rating: 7.6,
audienceRating: 9.2,
year: 2022,
seasonCount: 2022,
tagline: "Return to Pandora.",
flattenSeasons: FlattenSeasons.Show,
episodeSort: EpisodeSort.OldestFirst,
enableCreditsMarkerGeneration:
EnableCreditsMarkerGeneration.LibraryDefault,
showOrdering: ShowOrdering.TvdbAbsolute,
thumb: "/library/metadata/58683/thumb/1703239236",
art: "/library/metadata/58683/art/1703239236",
banner: "/library/metadata/58683/banner/1703239236",
duration: 11558112,
originallyAvailableAt: new RFCDate("2022-12-14T00:00:00Z"),
addedAt: 1556281940,
updatedAt: 1556281940,
audienceRatingImage: "rottentomatoes://image.rating.upright",
chapterSource: "media",
primaryExtraKey: "/library/metadata/58684",
ratingImage: "rottentomatoes://image.rating.ripe",
grandparentRatingKey: "66",
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
grandparentKey: "/library/metadata/66",
grandparentTitle: "Caprica",
grandparentThumb: "/library/metadata/66/thumb/1705716261",
parentSlug: "alice-in-borderland-2020",
grandparentSlug: "alice-in-borderland-2020",
grandparentArt: "/library/metadata/66/art/1705716261",
grandparentTheme: "/library/metadata/66/theme/1705716261",
media: [
{
id: 119534,
duration: 11558112,
bitrate: 25025,
width: 3840,
height: 2072,
aspectRatio: 1.85,
audioProfile: "dts",
audioChannels: 6,
audioCodec: "eac3",
videoCodec: "hevc",
videoResolution: "4k",
container: "mkv",
videoFrameRate: "24p",
videoProfile: "main 10",
hasVoiceActivity: false,
has64bitOffsets: false,
part: [
{
id: 119542,
key: "/library/parts/119542/1680457526/file.mkv",
duration: 11558112,
file:
"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
size: 36158371307,
container: "mkv",
audioProfile: "dts",
has64bitOffsets: false,
optimizedForStreaming: false,
videoProfile: "main 10",
indexes: "sd",
stream: [
{
id: 272796,
streamType: 1,
default: true,
selected: true,
codec: "h264",
index: 0,
bitrate: 6273,
colorPrimaries: "bt709",
colorRange: "tv",
colorSpace: "bt709",
colorTrc: "bt709",
bitDepth: 8,
chromaLocation: "left",
streamIdentifier: "2",
chromaSubsampling: "4:2:0",
codedHeight: 1088,
codedWidth: 1920,
frameRate: 29.97,
hasScalingMatrix: false,
hearingImpaired: false,
closedCaptions: false,
embeddedInVideo: "1",
height: 1080,
level: 40,
profile: "main",
refFrames: 4,
scanType: "progressive",
width: 1920,
displayTitle: "1080p (H.264)",
extendedDisplayTitle: "1080p (H.264)",
channels: 2,
language: "English",
languageTag: "en",
languageCode: "eng",
audioChannelLayout: "stereo",
samplingRate: 48000,
title: "English",
canAutoSync: false,
},
],
},
],
},
],
genre: [
{
tag: "Adventure",
},
],
country: [
{
tag: "United States of America",
},
],
director: [
{
tag: "James Cameron",
},
],
writer: [
{
tag: "James Cameron",
},
],
collection: [
{
tag: "Working NL Subs",
},
],
role: [
{
id: 294129,
filter: "actor=294129",
thumb:
"https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg",
tag: "Mike Smith",
tagKey: "668e7e7b22bcad9064350c91",
role: "Self",
},
],
location: [
{
path: "/TV Shows/House",
},
],
mediaGuid: [
{
id: "imdb://tt13015952",
},
],
ultraBlurColors: {
topLeft: "11333b",
topRight: "0a232d",
bottomRight: "73958",
bottomLeft: "1f5066",
},
metaDataRating: [
{
image: "themoviedb://image.rating",
value: 3,
type: "audience",
},
],
image: [
{
alt: "Episode 1",
type: GetLibraryItemsLibraryResponse200Type.Background,
url: "/library/metadata/45521/thumb/1644710589",
},
],
titleSort: "Whale",
viewCount: 1,
lastViewedAt: 1682752242,
originalTitle: "映画 ブラッククローバー 魔法帝の剣",
viewOffset: 5222500,
skipCount: 1,
index: 1,
theme: "/library/metadata/1/theme/1705636920",
leafCount: 14,
viewedLeafCount: 0,
childCount: 1,
hasPremiumExtras: "1",
hasPremiumPrimaryExtra: "1",
parentRatingKey: "66",
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
parentStudio: "UCP",
parentKey: "/library/metadata/66",
parentTitle: "Caprica",
parentIndex: 1,
parentYear: 2010,
parentThumb: "/library/metadata/66/thumb/1705716261",
parentTheme: "/library/metadata/66/theme/1705716261",
},
],
meta: { meta: {
type: [ type: [
{ {
@@ -338,12 +65,7 @@ let value: GetLibraryItemsMediaContainer = {
fieldType: [ fieldType: [
{ {
type: "tag", type: "tag",
operator: [ operator: [],
{
key: "=",
title: "is",
},
],
}, },
], ],
}, },
@@ -352,28 +74,26 @@ let value: GetLibraryItemsMediaContainer = {
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| `type` | [operations.GetLibraryItemsType](../../../sdk/models/operations/getlibraryitemstype.md)[] | :heavy_minus_sign: | N/A | | | `size` | *number* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `fieldType` | [operations.GetLibraryItemsFieldType](../../../sdk/models/operations/getlibraryitemsfieldtype.md)[] | :heavy_minus_sign: | N/A | | | `totalSize` | *number* | :heavy_check_mark: | Total number of media items in the library. | 50 |
| `size` | *number* | :heavy_check_mark: | N/A | 70 | | `offset` | *number* | :heavy_check_mark: | Offset value for pagination. | 0 |
| `totalSize` | *number* | :heavy_check_mark: | N/A | 170 | | `content` | *string* | :heavy_check_mark: | The content type or mode. | secondary |
| `offset` | *number* | :heavy_check_mark: | N/A | 0 | | `allowSync` | *boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `content` | *string* | :heavy_check_mark: | N/A | secondary | | `nocache` | *boolean* | :heavy_check_mark: | Specifies whether caching is disabled. | true |
| `allowSync` | *boolean* | :heavy_check_mark: | N/A | true | | `art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `nocache` | *boolean* | :heavy_minus_sign: | N/A | true | | `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
| `art` | *string* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | | `librarySectionID` | *number* | :heavy_minus_sign: | The unique identifier for the library section. | 2 |
| `identifier` | *string* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | | `librarySectionTitle` | *string* | :heavy_minus_sign: | The title of the library section. | TV Series |
| `librarySectionID` | *number* | :heavy_check_mark: | N/A | 1 | | `librarySectionUUID` | *string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 |
| `librarySectionTitle` | *string* | :heavy_check_mark: | N/A | Movies | | `mediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
| `librarySectionUUID` | *string* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | | `mediaTagVersion` | *number* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
| `mediaTagPrefix` | *string* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ | | `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `mediaTagVersion` | *number* | :heavy_check_mark: | N/A | 1701731894 | | `title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
| `thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/movie.png | | `title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
| `title1` | *string* | :heavy_check_mark: | N/A | Movies | | `viewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
| `title2` | *string* | :heavy_check_mark: | N/A | Recently Released | | `viewMode` | *string* | :heavy_minus_sign: | Identifier for the view mode. | 131131 |
| `viewGroup` | *string* | :heavy_check_mark: | N/A | movie | | `mixedParents` | *boolean* | :heavy_minus_sign: | Indicates if the media container has mixed parents. | true |
| `viewMode` | *number* | :heavy_minus_sign: | N/A | 65592 | | `metadata` | [operations.GetLibraryItemsMetadata](../../../sdk/models/operations/getlibraryitemsmetadata.md)[] | :heavy_check_mark: | An array of metadata items. | |
| `mixedParents` | *boolean* | :heavy_minus_sign: | N/A | true | | `meta` | [operations.GetLibraryItemsMeta](../../../sdk/models/operations/getlibraryitemsmeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.<br/> | |
| `metadata` | [operations.GetLibraryItemsMetadata](../../../sdk/models/operations/getlibraryitemsmetadata.md)[] | :heavy_minus_sign: | N/A | |
| `meta` | [operations.GetLibraryItemsMeta](../../../sdk/models/operations/getlibraryitemsmeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.<br/> | |

View File

@@ -47,12 +47,7 @@ let value: GetLibraryItemsMeta = {
fieldType: [ fieldType: [
{ {
type: "tag", type: "tag",
operator: [ operator: [],
{
key: "=",
title: "is",
},
],
}, },
], ],
}; };
@@ -60,7 +55,7 @@ let value: GetLibraryItemsMeta = {
## Fields ## Fields
| Field | Type | Required | Description | | Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `type` | [operations.GetLibraryItemsLibraryResponseType](../../../sdk/models/operations/getlibraryitemslibraryresponsetype.md)[] | :heavy_minus_sign: | N/A | | `type` | [operations.GetLibraryItemsLibraryType](../../../sdk/models/operations/getlibraryitemslibrarytype.md)[] | :heavy_minus_sign: | N/A |
| `fieldType` | [operations.GetLibraryItemsLibraryFieldType](../../../sdk/models/operations/getlibraryitemslibraryfieldtype.md)[] | :heavy_minus_sign: | N/A | | `fieldType` | [operations.GetLibraryItemsFieldType](../../../sdk/models/operations/getlibraryitemsfieldtype.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -1,15 +1,17 @@
# GetLibraryItemsMetadata # GetLibraryItemsMetadata
Unknown
## Example Usage ## Example Usage
```typescript ```typescript
import { import {
EnableCreditsMarkerGeneration,
EpisodeSort,
FlattenSeasons, FlattenSeasons,
GetLibraryItemsLibraryResponse200Type, GetLibraryItemsHasThumbnail,
GetLibraryItemsLibraryType, GetLibraryItemsLibraryResponseType,
GetLibraryItemsMetadata, GetLibraryItemsMetadata,
GetLibraryItemsType,
ShowOrdering, ShowOrdering,
} from "@lukehagar/plexjs/sdk/models/operations"; } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -18,168 +20,67 @@ let value: GetLibraryItemsMetadata = {
ratingKey: "58683", ratingKey: "58683",
key: "/library/metadata/58683", key: "/library/metadata/58683",
guid: "plex://movie/5d7768ba96b655001fdc0408", guid: "plex://movie/5d7768ba96b655001fdc0408",
studio: "20th Century Studios",
skipChildren: false,
librarySectionID: 1,
librarySectionTitle: "Movies",
librarySectionKey: "/library/sections/1",
type: GetLibraryItemsLibraryType.Movie,
title: "Avatar: The Way of Water",
slug: "4-for-texas", slug: "4-for-texas",
studio: "20th Century Studios",
type: GetLibraryItemsType.Movie,
title: "Avatar: The Way of Water",
banner: "/library/metadata/58683/banner/1703239236",
titleSort: "Whale",
contentRating: "PG-13", contentRating: "PG-13",
summary: summary:
"Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "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, rating: 7.6,
audienceRating: 9.2, audienceRating: 9.2,
year: 2022, year: 2022,
seasonCount: 2022,
tagline: "Return to Pandora.", tagline: "Return to Pandora.",
flattenSeasons: FlattenSeasons.Show,
episodeSort: EpisodeSort.OldestFirst,
enableCreditsMarkerGeneration: EnableCreditsMarkerGeneration.LibraryDefault,
showOrdering: ShowOrdering.TvdbAbsolute,
thumb: "/library/metadata/58683/thumb/1703239236", thumb: "/library/metadata/58683/thumb/1703239236",
art: "/library/metadata/58683/art/1703239236", art: "/library/metadata/58683/art/1703239236",
banner: "/library/metadata/58683/banner/1703239236", theme: "/library/metadata/1/theme/1705636920",
index: 1,
leafCount: 14,
viewedLeafCount: 0,
childCount: 1,
seasonCount: 2022,
duration: 11558112, duration: 11558112,
originallyAvailableAt: new RFCDate("2022-12-14T00:00:00Z"), originallyAvailableAt: new RFCDate("2022-12-14"),
addedAt: 1556281940, addedAt: 1556281940,
updatedAt: 1556281940, updatedAt: 1556281940,
audienceRatingImage: "rottentomatoes://image.rating.upright", audienceRatingImage: "rottentomatoes://image.rating.upright",
chapterSource: "media", chapterSource: "media",
primaryExtraKey: "/library/metadata/58684", primaryExtraKey: "/library/metadata/58684",
ratingImage: "rottentomatoes://image.rating.ripe", originalTitle: "映画 ブラッククローバー 魔法帝の剣",
parentRatingKey: "66",
grandparentRatingKey: "66", grandparentRatingKey: "66",
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4", grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
grandparentSlug: "alice-in-borderland-2020",
grandparentKey: "/library/metadata/66", grandparentKey: "/library/metadata/66",
parentKey: "/library/metadata/66",
grandparentTitle: "Caprica", grandparentTitle: "Caprica",
grandparentThumb: "/library/metadata/66/thumb/1705716261", grandparentThumb: "/library/metadata/66/thumb/1705716261",
parentSlug: "alice-in-borderland-2020",
grandparentSlug: "alice-in-borderland-2020",
grandparentArt: "/library/metadata/66/art/1705716261",
grandparentTheme: "/library/metadata/66/theme/1705716261", grandparentTheme: "/library/metadata/66/theme/1705716261",
media: [ 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: [
{ {
id: 119534, alt: "Episode 1",
duration: 11558112, type: GetLibraryItemsLibraryResponseType.Background,
bitrate: 25025, url: "/library/metadata/45521/thumb/1644710589",
width: 3840,
height: 2072,
aspectRatio: 1.85,
audioProfile: "dts",
audioChannels: 6,
audioCodec: "eac3",
videoCodec: "hevc",
videoResolution: "4k",
container: "mkv",
videoFrameRate: "24p",
videoProfile: "main 10",
hasVoiceActivity: false,
has64bitOffsets: false,
part: [
{
id: 119542,
key: "/library/parts/119542/1680457526/file.mkv",
duration: 11558112,
file:
"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
size: 36158371307,
container: "mkv",
audioProfile: "dts",
has64bitOffsets: false,
optimizedForStreaming: false,
videoProfile: "main 10",
indexes: "sd",
stream: [
{
id: 272796,
streamType: 1,
default: true,
selected: true,
codec: "h264",
index: 0,
bitrate: 6273,
colorPrimaries: "bt709",
colorRange: "tv",
colorSpace: "bt709",
colorTrc: "bt709",
bitDepth: 8,
chromaLocation: "left",
streamIdentifier: "2",
chromaSubsampling: "4:2:0",
codedHeight: 1088,
codedWidth: 1920,
frameRate: 29.97,
hasScalingMatrix: false,
hearingImpaired: false,
closedCaptions: false,
embeddedInVideo: "1",
height: 1080,
level: 40,
profile: "main",
refFrames: 4,
scanType: "progressive",
width: 1920,
displayTitle: "1080p (H.264)",
extendedDisplayTitle: "1080p (H.264)",
channels: 2,
language: "English",
languageTag: "en",
languageCode: "eng",
audioChannelLayout: "stereo",
samplingRate: 48000,
title: "English",
canAutoSync: false,
},
],
},
],
},
],
genre: [
{
tag: "Adventure",
},
],
country: [
{
tag: "United States of America",
},
],
director: [
{
tag: "James Cameron",
},
],
writer: [
{
tag: "James Cameron",
},
],
collection: [
{
tag: "Working NL Subs",
},
],
role: [
{
id: 294129,
filter: "actor=294129",
thumb:
"https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg",
tag: "Mike Smith",
tagKey: "668e7e7b22bcad9064350c91",
role: "Self",
},
],
location: [
{
path: "/TV Shows/House",
},
],
mediaGuid: [
{
id: "imdb://tt13015952",
}, },
], ],
ultraBlurColors: { ultraBlurColors: {
@@ -188,122 +89,237 @@ let value: GetLibraryItemsMetadata = {
bottomRight: "73958", bottomRight: "73958",
bottomLeft: "1f5066", bottomLeft: "1f5066",
}, },
metaDataRating: [ guids: [
{ {
image: "themoviedb://image.rating", id:
value: 3, "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
},
],
librarySectionID: 1,
librarySectionTitle: "Movies",
librarySectionKey: "/library/sections/1",
showOrdering: ShowOrdering.TvdbAbsolute,
flattenSeasons: FlattenSeasons.Show,
skipChildren: false,
media: [
{
id: 387322,
duration: 9610350,
bitrate: 25512,
width: 3840,
height: 1602,
aspectRatio: 2.35,
audioChannels: 6,
displayOffset: 50,
audioCodec: "aac",
videoCodec: "hevc",
videoResolution: "4k",
container: "mp4",
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,
hasThumbnail: GetLibraryItemsHasThumbnail.True,
},
],
},
],
genre: [
{
id: 259,
tag: "Crime",
},
],
country: [
{
id: 259,
tag: "United States of America",
},
],
director: [
{
id: 126522,
tag: "Danny Boyle",
thumb:
"https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg",
},
],
writer: [
{
id: 126522,
tag: "Jamie P. Hanson",
thumb:
"https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg",
},
],
producer: [
{
id: 109501,
filter: "actor=109501",
tag: "Bob Odenkirk",
tagKey: "5d77683254f42c001f8c3f69",
role: "Jimmy McGill",
thumb:
"https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg",
},
],
collection: [
{
tag: "My Awesome Collection",
},
],
role: [
{
id: 126522,
tag: "Teller",
role: "Self - Judge",
thumb:
"https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg",
},
],
ratings: [
{
image: "imdb://image.rating",
value: 9,
type: "audience", type: "audience",
}, },
], ],
image: [ similar: [
{ {
alt: "Episode 1", id: 26,
type: GetLibraryItemsLibraryResponse200Type.Background, filter: "similar=26",
url: "/library/metadata/45521/thumb/1644710589", tag: "Breaking Bad",
}, },
], ],
titleSort: "Whale", location: [
viewCount: 1, {
lastViewedAt: 1682752242, path: "/TV Shows/Clarkson's Farm",
originalTitle: "映画 ブラッククローバー 魔法帝の剣", },
viewOffset: 5222500, ],
skipCount: 1, chapter: [
index: 1, {
theme: "/library/metadata/1/theme/1705636920", id: 4,
leafCount: 14, filter: "thumb=4",
viewedLeafCount: 0, index: 1,
childCount: 1, startTimeOffset: 0,
hasPremiumExtras: "1", endTimeOffset: 100100,
hasPremiumPrimaryExtra: "1", thumb: "/library/media/46883/chapterImages/1",
parentRatingKey: "66", },
parentGuid: "plex://show/5d9c081b170e24001f2a7be4", ],
parentStudio: "UCP", marker: [
parentKey: "/library/metadata/66", {
parentTitle: "Caprica", id: 306970,
parentIndex: 1, type: "credits",
parentYear: 2010, startTimeOffset: 4176050,
parentThumb: "/library/metadata/66/thumb/1705716261", endTimeOffset: 4393389,
parentTheme: "/library/metadata/66/theme/1705716261", final: true,
attributes: {
id: 306970,
version: 4,
},
},
],
extras: {
size: 1,
},
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ratingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item.<br/>Note: This is always an integer, but is represented as a string in the API.<br/> | 58683 | | `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: | N/A | /library/metadata/58683 | | `key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 |
| `guid` | *string* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | | `guid` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `studio` | *string* | :heavy_minus_sign: | N/A | 20th Century Studios | | `slug` | *string* | :heavy_check_mark: | A URLfriendly version of the media title. | 4-for-texas |
| `skipChildren` | *boolean* | :heavy_minus_sign: | N/A | false | | `studio` | *string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios |
| `librarySectionID` | *number* | :heavy_minus_sign: | N/A | 1 | | `type` | [operations.GetLibraryItemsType](../../../sdk/models/operations/getlibraryitemstype.md) | :heavy_check_mark: | N/A | movie |
| `librarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | | `title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water |
| `librarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | | `banner` | *string* | :heavy_check_mark: | The banner image URL for the media item. | /library/metadata/58683/banner/1703239236 |
| `type` | [operations.GetLibraryItemsLibraryType](../../../sdk/models/operations/getlibraryitemslibrarytype.md) | :heavy_check_mark: | The type of media content<br/> | movie | | `titleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale |
| `title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water | | `contentRating` | *string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 |
| `slug` | *string* | :heavy_minus_sign: | N/A | 4-for-texas | | `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/> |
| `contentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | | `rating` | *number* | :heavy_check_mark: | The critic rating for the media item. | 7.6 |
| `summary` | *string* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | | `audienceRating` | *number* | :heavy_check_mark: | The audience rating for the media item. | 9.2 |
| `rating` | *number* | :heavy_minus_sign: | N/A | 7.6 | | `year` | *number* | :heavy_minus_sign: | The release year of the media item. | 2022 |
| `audienceRating` | *number* | :heavy_minus_sign: | N/A | 9.2 | | `tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. |
| `year` | *number* | :heavy_minus_sign: | N/A | 2022 | | `thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 |
| `seasonCount` | *number* | :heavy_minus_sign: | N/A | 2022 | | `art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 |
| `tagline` | *string* | :heavy_minus_sign: | N/A | Return to Pandora. | | `theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 |
| `flattenSeasons` | [operations.FlattenSeasons](../../../sdk/models/operations/flattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). | 1 | | `index` | *number* | :heavy_check_mark: | The index position of the media item. | 1 |
| `episodeSort` | [operations.EpisodeSort](../../../sdk/models/operations/episodesort.md) | :heavy_minus_sign: | Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). | 0 | | `leafCount` | *number* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 |
| `enableCreditsMarkerGeneration` | [operations.EnableCreditsMarkerGeneration](../../../sdk/models/operations/enablecreditsmarkergeneration.md) | :heavy_minus_sign: | Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). | -1 | | `viewedLeafCount` | *number* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 |
| `showOrdering` | [operations.ShowOrdering](../../../sdk/models/operations/showordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show.<br/>None = Library default,<br/>tmdbAiring = The Movie Database (Aired),<br/>aired = TheTVDB (Aired),<br/>dvd = TheTVDB (DVD),<br/>absolute = TheTVDB (Absolute)).<br/> | absolute | | `childCount` | *number* | :heavy_check_mark: | The number of child items associated with this media item. | 1 |
| `thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | | `seasonCount` | *number* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 |
| `art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | | `duration` | *number* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 |
| `banner` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | | `originallyAvailableAt` | [RFCDate](../../../types/rfcdate.md) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 |
| `duration` | *number* | :heavy_minus_sign: | N/A | 11558112 | | `addedAt` | *number* | :heavy_check_mark: | N/A | 1556281940 |
| `originallyAvailableAt` | [RFCDate](../../../types/rfcdate.md) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | | `updatedAt` | *number* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
| `addedAt` | *number* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `audienceRatingImage` | *string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright |
| `updatedAt` | *number* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | | `chapterSource` | *string* | :heavy_minus_sign: | The source from which chapter data is derived. | media |
| `audienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | | `primaryExtraKey` | *string* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 |
| `chapterSource` | *string* | :heavy_minus_sign: | N/A | media | | `originalTitle` | *string* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 |
| `primaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58684 | | `parentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent media item. | 66 |
| `ratingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | | `grandparentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 |
| `grandparentRatingKey` | *string* | :heavy_minus_sign: | N/A | 66 | | `parentGuid` | *string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `grandparentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | | `grandparentGuid` | *string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `grandparentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 | | `grandparentSlug` | *string* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 |
| `grandparentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica | | `grandparentKey` | *string* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 |
| `grandparentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | | `parentKey` | *string* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 |
| `parentSlug` | *string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | | `grandparentTitle` | *string* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica |
| `grandparentSlug` | *string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | | `grandparentThumb` | *string* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 |
| `grandparentArt` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | | `grandparentTheme` | *string* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 |
| `grandparentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | | `grandparentArt` | *string* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 |
| `media` | [operations.GetLibraryItemsMedia](../../../sdk/models/operations/getlibraryitemsmedia.md)[] | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.<br/> | | | `parentTitle` | *string* | :heavy_minus_sign: | The title of the parent media item. | Caprica |
| `genre` | [operations.GetLibraryItemsGenre](../../../sdk/models/operations/getlibraryitemsgenre.md)[] | :heavy_minus_sign: | N/A | | | `parentIndex` | *number* | :heavy_minus_sign: | The index position of the parent media item. | 1 |
| `country` | [operations.GetLibraryItemsCountry](../../../sdk/models/operations/getlibraryitemscountry.md)[] | :heavy_minus_sign: | N/A | | | `parentThumb` | *string* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 |
| `director` | [operations.GetLibraryItemsDirector](../../../sdk/models/operations/getlibraryitemsdirector.md)[] | :heavy_minus_sign: | N/A | | | `ratingImage` | *string* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe |
| `writer` | [operations.GetLibraryItemsWriter](../../../sdk/models/operations/getlibraryitemswriter.md)[] | :heavy_minus_sign: | N/A | | | `viewCount` | *number* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 |
| `collection` | [operations.GetLibraryItemsCollection](../../../sdk/models/operations/getlibraryitemscollection.md)[] | :heavy_minus_sign: | N/A | | | `viewOffset` | *number* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 |
| `role` | [operations.GetLibraryItemsRole](../../../sdk/models/operations/getlibraryitemsrole.md)[] | :heavy_minus_sign: | N/A | | | `skipCount` | *number* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 |
| `location` | [operations.GetLibraryItemsLocation](../../../sdk/models/operations/getlibraryitemslocation.md)[] | :heavy_minus_sign: | N/A | | | `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 |
| `mediaGuid` | [operations.MediaGuid](../../../sdk/models/operations/mediaguid.md)[] | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.<br/> | | | `lastRatedAt` | *number* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 |
| `ultraBlurColors` | [operations.GetLibraryItemsUltraBlurColors](../../../sdk/models/operations/getlibraryitemsultrablurcolors.md) | :heavy_minus_sign: | N/A | | | `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 |
| `metaDataRating` | [operations.MetaDataRating](../../../sdk/models/operations/metadatarating.md)[] | :heavy_minus_sign: | N/A | | | `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 |
| `image` | [operations.GetLibraryItemsImage](../../../sdk/models/operations/getlibraryitemsimage.md)[] | :heavy_minus_sign: | N/A | | | `lastViewedAt` | *number* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 |
| `titleSort` | *string* | :heavy_minus_sign: | N/A | Whale | | `userRating` | *number* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 |
| `viewCount` | *number* | :heavy_minus_sign: | N/A | 1 | | `image` | [operations.GetLibraryItemsImage](../../../sdk/models/operations/getlibraryitemsimage.md)[] | :heavy_minus_sign: | N/A | |
| `lastViewedAt` | *number* | :heavy_minus_sign: | N/A | 1682752242 | | `ultraBlurColors` | [operations.GetLibraryItemsUltraBlurColors](../../../sdk/models/operations/getlibraryitemsultrablurcolors.md) | :heavy_minus_sign: | N/A | |
| `originalTitle` | *string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 | | `guids` | [operations.GetLibraryItemsGuids](../../../sdk/models/operations/getlibraryitemsguids.md)[] | :heavy_minus_sign: | N/A | |
| `viewOffset` | *number* | :heavy_minus_sign: | N/A | 5222500 | | `librarySectionID` | *number* | :heavy_minus_sign: | The identifier for the library section. | 1 |
| `skipCount` | *number* | :heavy_minus_sign: | N/A | 1 | | `librarySectionTitle` | *string* | :heavy_minus_sign: | The title of the library section. | Movies |
| `index` | *number* | :heavy_minus_sign: | N/A | 1 | | `librarySectionKey` | *string* | :heavy_minus_sign: | The key corresponding to the library section. | /library/sections/1 |
| `theme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 | | `showOrdering` | [operations.ShowOrdering](../../../sdk/models/operations/showordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show.<br/>Options:<br/> - None = Library default<br/> - tmdbAiring = The Movie Database (Aired)<br/> - aired = TheTVDB (Aired)<br/> - dvd = TheTVDB (DVD)<br/> - absolute = TheTVDB (Absolute)<br/> | absolute |
| `leafCount` | *number* | :heavy_minus_sign: | N/A | 14 | | `flattenSeasons` | [operations.FlattenSeasons](../../../sdk/models/operations/flattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).<br/> | 1 |
| `viewedLeafCount` | *number* | :heavy_minus_sign: | N/A | 0 | | `skipChildren` | *boolean* | :heavy_minus_sign: | Indicates whether child items should be skipped. | false |
| `childCount` | *number* | :heavy_minus_sign: | N/A | 1 | | `media` | [operations.GetLibraryItemsMedia](../../../sdk/models/operations/getlibraryitemsmedia.md)[] | :heavy_minus_sign: | N/A | |
| `hasPremiumExtras` | *string* | :heavy_minus_sign: | N/A | 1 | | `genre` | [operations.GetLibraryItemsGenre](../../../sdk/models/operations/getlibraryitemsgenre.md)[] | :heavy_minus_sign: | N/A | |
| `hasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 | | `country` | [operations.GetLibraryItemsCountry](../../../sdk/models/operations/getlibraryitemscountry.md)[] | :heavy_minus_sign: | N/A | |
| `parentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent item.<br/> | 66 | | `director` | [operations.GetLibraryItemsDirector](../../../sdk/models/operations/getlibraryitemsdirector.md)[] | :heavy_minus_sign: | N/A | |
| `parentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | | `writer` | [operations.GetLibraryItemsWriter](../../../sdk/models/operations/getlibraryitemswriter.md)[] | :heavy_minus_sign: | N/A | |
| `parentStudio` | *string* | :heavy_minus_sign: | N/A | UCP | | `producer` | [operations.GetLibraryItemsProducer](../../../sdk/models/operations/getlibraryitemsproducer.md)[] | :heavy_minus_sign: | N/A | |
| `parentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 | | `collection` | [operations.GetLibraryItemsCollection](../../../sdk/models/operations/getlibraryitemscollection.md)[] | :heavy_minus_sign: | N/A | |
| `parentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica | | `role` | [operations.GetLibraryItemsRole](../../../sdk/models/operations/getlibraryitemsrole.md)[] | :heavy_minus_sign: | N/A | |
| `parentIndex` | *number* | :heavy_minus_sign: | N/A | 1 | | `ratings` | [operations.Ratings](../../../sdk/models/operations/ratings.md)[] | :heavy_minus_sign: | N/A | |
| `parentYear` | *number* | :heavy_minus_sign: | N/A | 2010 | | `similar` | [operations.GetLibraryItemsSimilar](../../../sdk/models/operations/getlibraryitemssimilar.md)[] | :heavy_minus_sign: | N/A | |
| `parentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | | `location` | [operations.GetLibraryItemsLocation](../../../sdk/models/operations/getlibraryitemslocation.md)[] | :heavy_minus_sign: | N/A | |
| `parentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | | `chapter` | [operations.Chapter](../../../sdk/models/operations/chapter.md)[] | :heavy_minus_sign: | N/A | |
| `marker` | [operations.Marker](../../../sdk/models/operations/marker.md)[] | :heavy_minus_sign: | N/A | |
| `extras` | [operations.Extras](../../../sdk/models/operations/extras.md) | :heavy_minus_sign: | N/A | |

View File

@@ -1,17 +1,19 @@
# GetLibraryItemsOptimizedForStreaming # GetLibraryItemsOptimizedForStreaming
## Example Usage Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
## Supported Types
### `operations.OptimizedForStreaming1`
```typescript ```typescript
import { GetLibraryItemsOptimizedForStreaming } from "@lukehagar/plexjs/sdk/models/operations"; const value: operations.OptimizedForStreaming1 = OptimizedForStreaming1.One;
let value: GetLibraryItemsOptimizedForStreaming =
GetLibraryItemsOptimizedForStreaming.Enable;
``` ```
## Values ### `boolean`
```typescript
const value: boolean = true;
```
| Name | Value |
| --------- | --------- |
| `Disable` | 0 |
| `Enable` | 1 |

View File

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

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