Compare commits

...

6 Commits

Author SHA1 Message Date
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
speakeasybot
6bd12d8759 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.542.1 2025-05-05 00:13:14 +00:00
speakeasybot
891a7d39a1 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.541.2 2025-05-01 00:13:53 +00:00
speakeasybot
763aa8e800 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.535.1 2025-04-19 00:12:04 +00:00
572 changed files with 19085 additions and 19543 deletions

8
.gitignore vendored
View File

@@ -1,3 +1,11 @@
/examples/node_modules
.env
.env.local
.env.*.local
.DS_Store
**/.speakeasy/temp/
**/.speakeasy/logs/
.DS_Store
/mcp-server
/bin
/.eslintcache

File diff suppressed because one or more lines are too long

View File

@@ -4,6 +4,7 @@ generation:
maintainOpenAPIOrder: true
usageSnippets:
optionalPropertyRendering: withExample
sdkInitStyle: constructor
useClassNamesForArrayFields: true
fixes:
nameResolutionDec2023: true
@@ -11,18 +12,25 @@ generation:
parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true
securityFeb2025: false
sharedErrorComponentsApr2025: false
auth:
oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false
tests:
generateTests: true
generateNewTests: false
skipResponseBodyAssertions: false
typescript:
version: 0.36.2
version: 0.40.0
additionalDependencies:
dependencies: {}
devDependencies: {}
peerDependencies: {}
additionalPackageJSON: {}
author: LukeHagar
baseErrorName: PlexAPIError
clientServerStatusCodesAsErrors: true
constFieldsAlwaysOptional: true
defaultErrorName: SDKError
enableCustomCodeRegions: false
enableMCPServer: true
@@ -30,6 +38,7 @@ typescript:
enumFormat: enum
flattenGlobalSecurity: true
flatteningOrder: body-first
generateExamples: true
imports:
option: openapi
paths:

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.531.4
speakeasyVersion: 1.580.1
sources:
my-source:
sourceNamespace: my-source
@@ -9,20 +9,20 @@ sources:
- main
plexapi:
sourceNamespace: plexapi
sourceRevisionDigest: sha256:db75a06885b897418dcb580679b5f744348573ad317155172346d32442420e5e
sourceBlobDigest: sha256:ac0a3c3a6df002378b3522325c2330ba4309fbbbfa503a04b8267398f20033f5
sourceRevisionDigest: sha256:b4fa89a3571fbdcb4228800772a5fe1c292170babcd3e055161ae54402f89577
sourceBlobDigest: sha256:f84dd2bfdaea4074454cea3c7fbc6c9e05515c5e9e961abb4923b77f8faf48f1
tags:
- latest
- speakeasy-sdk-regen-1744589502
- speakeasy-sdk-regen-1752106317
- 0.0.3
targets:
plexjs:
source: plexapi
sourceNamespace: plexapi
sourceRevisionDigest: sha256:db75a06885b897418dcb580679b5f744348573ad317155172346d32442420e5e
sourceBlobDigest: sha256:ac0a3c3a6df002378b3522325c2330ba4309fbbbfa503a04b8267398f20033f5
sourceRevisionDigest: sha256:b4fa89a3571fbdcb4228800772a5fe1c292170babcd3e055161ae54402f89577
sourceBlobDigest: sha256:f84dd2bfdaea4074454cea3c7fbc6c9e05515c5e9e961abb4923b77f8faf48f1
codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:2542621903a932e966c28b4970e8b3a9e7f8b459e42d63ebebdc3940e551cd76
codeSamplesRevisionDigest: sha256:a4ed38eeac4610af5ac9189665922e6cad283ce730eb8b1a20dd4857afda3fd3
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest

View File

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

264
README.md
View File

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

View File

@@ -1308,4 +1308,64 @@ Based on:
### Generated
- [typescript v0.36.2] .
### Releases
- [NPM v0.36.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.2 - .
- [NPM v0.36.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.2 - .
## 2025-04-19 00:10:19
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.535.1 (2.585.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.37.0] .
### Releases
- [NPM v0.37.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.0 - .
## 2025-05-01 00:12:16
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.541.2 (2.595.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.37.1] .
### Releases
- [NPM v0.37.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.1 - .
## 2025-05-05 00:11:37
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.542.1 (2.597.9) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.37.2] .
### Releases
- [NPM v0.37.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.2 - .
## 2025-06-04 00:11:21
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.555.2 (2.620.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.38.0] .
### Releases
- [NPM v0.38.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.38.0 - .
## 2025-06-09 00:12:06
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.557.0 (2.623.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.39.0] .
### Releases
- [NPM v0.39.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.39.0 - .
## 2025-07-10 00:11:39
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.580.1 (2.656.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.40.0] .
### Releases
- [NPM v0.40.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.40.0 - .

View File

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

View File

@@ -18,7 +18,6 @@ actions:
async function run() {
const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result);
}
@@ -38,7 +37,6 @@ actions:
async function run() {
const result = await plexAPI.server.getServerPreferences();
// Handle the result
console.log(result);
}
@@ -58,7 +56,6 @@ actions:
async function run() {
const result = await plexAPI.media.updatePlayProgress("<key>", 90000, "played");
// Handle the result
console.log(result);
}
@@ -78,7 +75,6 @@ actions:
async function run() {
const result = await plexAPI.media.markPlayed(59398);
// Handle the result
console.log(result);
}
@@ -110,7 +106,6 @@ actions:
row: 1,
});
// Handle the result
console.log(result);
}
@@ -130,7 +125,6 @@ actions:
async function run() {
const result = await plexAPI.media.markUnplayed(59398);
// Handle the result
console.log(result);
}
@@ -150,7 +144,6 @@ actions:
async function run() {
const result = await plexAPI.activities.getServerActivities();
// Handle the result
console.log(result);
}
@@ -170,7 +163,6 @@ actions:
async function run() {
const result = await plexAPI.activities.cancelServerActivities("25b71ed5-0f9d-461c-baa7-d404e9e10d3e");
// Handle the result
console.log(result);
}
@@ -190,7 +182,6 @@ actions:
async function run() {
const result = await plexAPI.butler.stopAllTasks();
// Handle the result
console.log(result);
}
@@ -210,7 +201,6 @@ actions:
async function run() {
const result = await plexAPI.butler.getButlerTasks();
// Handle the result
console.log(result);
}
@@ -230,7 +220,6 @@ actions:
async function run() {
const result = await plexAPI.butler.startAllTasks();
// Handle the result
console.log(result);
}
@@ -249,9 +238,8 @@ actions:
});
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);
}
@@ -270,9 +258,8 @@ actions:
});
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);
}
@@ -292,7 +279,6 @@ actions:
async function run() {
const result = await plexAPI.server.getAvailableClients();
// Handle the result
console.log(result);
}
@@ -312,7 +298,6 @@ actions:
async function run() {
const result = await plexAPI.plex.getCompanionsData();
// Handle the result
console.log(result);
}
@@ -332,7 +317,6 @@ actions:
async function run() {
const result = await plexAPI.server.getDevices();
// Handle the result
console.log(result);
}
@@ -352,7 +336,6 @@ actions:
async function run() {
const result = await plexAPI.plex.getUserFriends();
// Handle the result
console.log(result);
}
@@ -370,7 +353,6 @@ actions:
async function run() {
const result = await plexAPI.plex.getGeoData();
// Handle the result
console.log(result);
}
@@ -390,7 +372,6 @@ actions:
async function run() {
const result = await plexAPI.plex.getHomeData();
// Handle the result
console.log(result);
}
@@ -410,7 +391,6 @@ actions:
async function run() {
const result = await plexAPI.hubs.getGlobalHubs();
// Handle the result
console.log(result);
}
@@ -422,7 +402,7 @@ actions:
label: PlexJS
source: |-
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({
accessToken: "<YOUR_API_KEY_HERE>",
@@ -430,12 +410,12 @@ actions:
async function run() {
const result = await plexAPI.hubs.getRecentlyAdded({
contentDirectoryID: 470161,
contentDirectoryID: 39486,
sectionID: 2,
type: Type.TvShow,
includeMeta: IncludeMeta.Enable,
});
// Handle the result
console.log(result);
}
@@ -453,9 +433,8 @@ actions:
});
async function run() {
const result = await plexAPI.search.performSearch("dylan");
const result = await plexAPI.search.performSearch("arnold");
// Handle the result
console.log(result);
}
@@ -475,7 +454,6 @@ actions:
async function run() {
const result = await plexAPI.search.performVoiceSearch("dead+poop");
// Handle the result
console.log(result);
}
@@ -493,9 +471,8 @@ actions:
});
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);
}
@@ -513,7 +490,6 @@ actions:
async function run() {
const result = await plexAPI.server.getServerIdentity();
// Handle the result
console.log(result);
}
@@ -532,9 +508,8 @@ actions:
});
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);
}
@@ -552,9 +527,8 @@ actions:
});
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);
}
@@ -573,7 +547,7 @@ actions:
async function run() {
const result = await plexAPI.library.getMediaMetaData({
ratingKey: 9518,
ratingKey: "21119,21617",
includeConcerts: true,
includeExtras: true,
includeOnDeck: true,
@@ -589,7 +563,6 @@ actions:
asyncRefreshLocalMediaAgent: true,
});
// Handle the result
console.log(result);
}
@@ -609,7 +582,6 @@ actions:
async function run() {
const result = await plexAPI.library.getMediaArts(16099);
// Handle the result
console.log(result);
}
@@ -629,7 +601,6 @@ actions:
async function run() {
const result = await plexAPI.library.postMediaArts(2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
// Handle the result
console.log(result);
}
@@ -656,7 +627,6 @@ actions:
xPlexToken: "CV5xoxjTpFKUzBTShsaf",
});
// Handle the result
console.log(result);
}
@@ -674,9 +644,8 @@ actions:
});
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);
}
@@ -696,7 +665,6 @@ actions:
async function run() {
const result = await plexAPI.library.getMediaPosters(16099);
// Handle the result
console.log(result);
}
@@ -716,7 +684,6 @@ actions:
async function run() {
const result = await plexAPI.library.postMediaPoster(2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
// Handle the result
console.log(result);
}
@@ -743,7 +710,6 @@ actions:
xPlexToken: "CV5xoxjTpFKUzBTShsaf",
});
// Handle the result
console.log(result);
}
@@ -755,7 +721,7 @@ actions:
label: PlexJS
source: |-
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({
accessToken: "<YOUR_API_KEY_HERE>",
@@ -780,9 +746,9 @@ actions:
],
sectionID: 2,
type: QueryParamType.TvShow,
includeMeta: QueryParamIncludeMeta.Enable,
});
// Handle the result
console.log(result);
}
@@ -794,7 +760,11 @@ actions:
label: PlexJS
source: |-
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({
accessToken: "<YOUR_API_KEY_HERE>",
@@ -807,9 +777,10 @@ actions:
searchTypes: [
SearchTypes.People,
],
includeCollections: GetSearchAllLibrariesQueryParamIncludeCollections.Enable,
includeExternalMedia: GetSearchAllLibrariesQueryParamIncludeExternalMedia.Enable,
});
// Handle the result
console.log(result);
}
@@ -829,7 +800,6 @@ actions:
async function run() {
const result = await plexAPI.library.getAllLibraries();
// Handle the result
console.log(result);
}
@@ -849,11 +819,10 @@ actions:
async function run() {
const result = await plexAPI.watchlist.getWatchList({
filter: Filter.Available,
filter: Filter.Released,
xPlexToken: "CV5xoxjTpFKUzBTShsaf",
});
// Handle the result
console.log(result);
}
@@ -873,7 +842,6 @@ actions:
async function run() {
const result = await plexAPI.library.deleteLibrary(9518);
// Handle the result
console.log(result);
}
@@ -893,7 +861,6 @@ actions:
async function run() {
const result = await plexAPI.library.getLibraryDetails(9518);
// Handle the result
console.log(result);
}
@@ -914,7 +881,6 @@ actions:
async function run() {
const result = await plexAPI.library.getActorsLibrary(9518, GetActorsLibraryQueryParamType.TvShow);
// Handle the result
console.log(result);
}
@@ -926,19 +892,30 @@ actions:
label: PlexJS
source: |-
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({
accessToken: "<YOUR_API_KEY_HERE>",
});
async function run() {
const result = await plexAPI.library.getAllMediaLibrary({
const result = await plexAPI.library.getLibrarySectionsAll({
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);
}
@@ -959,7 +936,6 @@ actions:
async function run() {
const result = await plexAPI.library.getCountriesLibrary(9518, GetCountriesLibraryQueryParamType.TvShow);
// Handle the result
console.log(result);
}
@@ -980,7 +956,6 @@ actions:
async function run() {
const result = await plexAPI.library.getGenresLibrary(9518, GetGenresLibraryQueryParamType.TvShow);
// Handle the result
console.log(result);
}
@@ -999,9 +974,8 @@ actions:
});
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);
}
@@ -1022,7 +996,6 @@ actions:
async function run() {
const result = await plexAPI.library.getSearchLibrary(9518, GetSearchLibraryQueryParamType.TvShow);
// Handle the result
console.log(result);
}
@@ -1034,7 +1007,12 @@ actions:
label: PlexJS
source: |-
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({
accessToken: "<YOUR_API_KEY_HERE>",
@@ -1042,12 +1020,13 @@ actions:
async function run() {
const result = await plexAPI.library.getLibraryItems({
tag: Tag.Edition,
tag: Tag.Newest,
includeGuids: IncludeGuids.Enable,
type: GetLibraryItemsQueryParamType.TvShow,
sectionKey: 9518,
includeMeta: GetLibraryItemsQueryParamIncludeMeta.Enable,
});
// Handle the result
console.log(result);
}
@@ -1068,7 +1047,6 @@ actions:
async function run() {
const result = await plexAPI.log.logLine(Level.Three, "Test log message", "Postman");
// Handle the result
console.log(result);
}
@@ -1090,7 +1068,6 @@ actions:
"level=3&message=Test%20message%202&source=postman\n" +
"level=1&message=Test%20message%203&source=postman");
// Handle the result
console.log(result);
}
@@ -1110,7 +1087,6 @@ actions:
async function run() {
const result = await plexAPI.log.enablePaperTrail();
// Handle the result
console.log(result);
}
@@ -1130,7 +1106,6 @@ actions:
async function run() {
const result = await plexAPI.server.getMediaProviders("CV5xoxjTpFKUzBTShsaf");
// Handle the result
console.log(result);
}
@@ -1150,7 +1125,6 @@ actions:
async function run() {
const result = await plexAPI.server.getMyPlexAccount();
// Handle the result
console.log(result);
}
@@ -1172,14 +1146,12 @@ actions:
const result = await plexAPI.server.getResizedPhoto({
width: 110,
height: 165,
opacity: 100,
blur: 0,
minSize: MinSize.One,
upscale: Upscale.One,
minSize: MinSize.Zero,
upscale: Upscale.Zero,
url: "/library/metadata/49564/thumb/1654258204",
});
// Handle the result
console.log(result);
}
@@ -1203,7 +1175,6 @@ actions:
platform: "Roku",
});
// Handle the result
console.log(result);
}
@@ -1220,7 +1191,7 @@ actions:
async function run() {
const result = await plexAPI.plex.getTokenByPinId({
pinID: 408895,
pinID: 232248,
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
clientName: "Plex for Roku",
deviceNickname: "Roku 3",
@@ -1228,7 +1199,6 @@ actions:
platform: "Roku",
});
// Handle the result
console.log(result);
}
@@ -1248,7 +1218,6 @@ actions:
async function run() {
const result = await plexAPI.playlists.getPlaylists();
// Handle the result
console.log(result);
}
@@ -1269,12 +1238,11 @@ actions:
async function run() {
const result = await plexAPI.playlists.createPlaylist({
title: "<value>",
type: CreatePlaylistQueryParamType.Photo,
type: CreatePlaylistQueryParamType.Audio,
smart: Smart.One,
uri: "https://hoarse-testing.info/",
uri: "https://short-term-disconnection.name/",
});
// Handle the result
console.log(result);
}
@@ -1293,9 +1261,8 @@ actions:
});
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);
}
@@ -1313,9 +1280,8 @@ actions:
});
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);
}
@@ -1333,9 +1299,8 @@ actions:
});
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);
}
@@ -1353,9 +1318,8 @@ actions:
});
async function run() {
const result = await plexAPI.playlists.updatePlaylist(3915);
const result = await plexAPI.playlists.updatePlaylist(1579.66);
// Handle the result
console.log(result);
}
@@ -1373,9 +1337,8 @@ actions:
});
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);
}
@@ -1394,9 +1357,8 @@ actions:
});
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);
}
@@ -1414,9 +1376,8 @@ actions:
});
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);
}
@@ -1436,7 +1397,6 @@ actions:
async function run() {
const result = await plexAPI.plex.getServerResources("3381b62b-9ab7-4e37-827b-203e9809eb58");
// Handle the result
console.log(result);
}
@@ -1456,7 +1416,6 @@ actions:
async function run() {
const result = await plexAPI.search.getSearchResults("110");
// Handle the result
console.log(result);
}
@@ -1474,9 +1433,8 @@ actions:
});
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);
}
@@ -1497,7 +1455,6 @@ actions:
async function run() {
const result = await plexAPI.authentication.getTransientToken(GetTransientTokenQueryParamType.Delegation, Scope.All);
// Handle the result
console.log(result);
}
@@ -1517,7 +1474,6 @@ actions:
async function run() {
const result = await plexAPI.server.getServerList();
// Handle the result
console.log(result);
}
@@ -1537,7 +1493,6 @@ actions:
async function run() {
const result = await plexAPI.statistics.getBandwidthStatistics(4);
// Handle the result
console.log(result);
}
@@ -1557,7 +1512,6 @@ actions:
async function run() {
const result = await plexAPI.statistics.getStatistics(4);
// Handle the result
console.log(result);
}
@@ -1577,7 +1531,6 @@ actions:
async function run() {
const result = await plexAPI.statistics.getResourcesStatistics(4);
// Handle the result
console.log(result);
}
@@ -1597,7 +1550,6 @@ actions:
async function run() {
const result = await plexAPI.sessions.getSessions();
// Handle the result
console.log(result);
}
@@ -1617,7 +1569,6 @@ actions:
async function run() {
const result = await plexAPI.sessions.getSessionHistory("viewedAt:desc", 1, {}, 12);
// Handle the result
console.log(result);
}
@@ -1637,7 +1588,6 @@ actions:
async function run() {
const result = await plexAPI.sessions.getTranscodeSessions();
// Handle the result
console.log(result);
}
@@ -1657,7 +1607,6 @@ actions:
async function run() {
const result = await plexAPI.sessions.stopTranscodeSession("zz7llzqlx8w9vnrsbnwhbmep");
// Handle the result
console.log(result);
}
@@ -1678,7 +1627,6 @@ actions:
async function run() {
const result = await plexAPI.updater.applyUpdates(Tonight.One, Skip.One);
// Handle the result
console.log(result);
}
@@ -1699,7 +1647,6 @@ actions:
async function run() {
const result = await plexAPI.updater.checkForUpdates(Download.One);
// Handle the result
console.log(result);
}
@@ -1719,7 +1666,6 @@ actions:
async function run() {
const result = await plexAPI.updater.getUpdateStatus();
// Handle the result
console.log(result);
}
@@ -1739,7 +1685,6 @@ actions:
async function run() {
const result = await plexAPI.authentication.getTokenDetails();
// Handle the result
console.log(result);
}
@@ -1771,7 +1716,6 @@ actions:
xPlexToken: "CV5xoxjTpFKUzBTShsaf",
});
// Handle the result
console.log(result);
}
@@ -1800,7 +1744,6 @@ actions:
},
});
// Handle the result
console.log(result);
}
@@ -1837,7 +1780,6 @@ actions:
autoAdjustQuality: 0,
});
// Handle the 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
```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,
message: "X-Plex-Client-Identifier is missing",
status: 400,

View File

@@ -1,11 +1,11 @@
# GetAllMediaLibraryLibraryErrors
# GetLibrarySectionsAllLibraryErrors
## Example Usage
```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,
message: "User could not be authenticated",
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 = {
contentType: "<value>",
statusCode: 207,
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,
},
],
},
},
statusCode: 736053,
};
```

View File

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

View File

@@ -0,0 +1,21 @@
# Attributes
Attributes associated with the marker.
## Example Usage
```typescript
import { Attributes } from "@lukehagar/plexjs/sdk/models/operations";
let value: Attributes = {
id: 306970,
version: 4,
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | The identifier for the attributes. | 306970 |
| `version` | *number* | :heavy_minus_sign: | The version number of the marker attributes. | 4 |

View File

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

View File

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

View File

@@ -0,0 +1,29 @@
# Chapter
The thumbnail for the chapter
## Example Usage
```typescript
import { Chapter } from "@lukehagar/plexjs/sdk/models/operations";
let value: Chapter = {
id: 4,
filter: "thumb=4",
index: 1,
startTimeOffset: 0,
endTimeOffset: 100100,
thumb: "/library/media/46883/chapterImages/1",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
| `id` | *number* | :heavy_check_mark: | N/A | 4 |
| `filter` | *string* | :heavy_check_mark: | N/A | thumb=4 |
| `index` | *number* | :heavy_check_mark: | N/A | 1 |
| `startTimeOffset` | *number* | :heavy_check_mark: | N/A | 0 |
| `endTimeOffset` | *number* | :heavy_check_mark: | N/A | 100100 |
| `thumb` | *string* | :heavy_check_mark: | N/A | /library/media/46883/chapterImages/1 |

View File

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

View File

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

View File

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

View File

@@ -16,8 +16,8 @@ let value: Country = {
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `id` | *number* | :heavy_check_mark: | N/A | 259 |
| `tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America |
| `filter` | *string* | :heavy_minus_sign: | N/A | country=19 |
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `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 |
| `filter` | *string* | :heavy_check_mark: | N/A | country=19 |

View File

@@ -12,8 +12,11 @@ let value: CreatePlaylistQueryParamType = CreatePlaylistQueryParamType.Photo;
## Values
| Name | Value |
| ------- | ------- |
| `Audio` | audio |
| `Video` | video |
| `Photo` | photo |
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Audio` | audio |
| `Video` | video |
| `Photo` | photo |
| - | `Unrecognized<string>` |

View File

@@ -7,36 +7,7 @@ import { CreatePlaylistResponse } from "@lukehagar/plexjs/sdk/models/operations"
let value: CreatePlaylistResponse = {
contentType: "<value>",
statusCode: 510,
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,
},
],
},
},
statusCode: 842539,
};
```

View File

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

View File

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

View File

@@ -6,12 +6,21 @@
import { Director } from "@lukehagar/plexjs/sdk/models/operations";
let value: Director = {
id: 126522,
filter: "director=235876",
tag: "Danny Boyle",
tagKey: "5d776831151a60001f24d031",
thumb:
"https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- |
| `tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle |
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `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,19 +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
| Name | Value |
| ---------------- | ---------------- |
| `LibraryDefault` | -1 |
| `Disabled` | 0 |

View File

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

View File

@@ -1,19 +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
| Name | Value |
| ---------------- | ---------------- |
| `LibraryDefault` | -1 |
| `OldestFirst` | 0 |
| `NewestFirst` | 1 |

View File

@@ -0,0 +1,17 @@
# Extras
## Example Usage
```typescript
import { Extras } from "@lukehagar/plexjs/sdk/models/operations";
let value: Extras = {
size: 1,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ----------------------- | ----------------------- | ----------------------- | ----------------------- | ----------------------- |
| `size` | *number* | :heavy_minus_sign: | The size of the extras. | 1 |

View File

@@ -12,8 +12,11 @@ let value: Filter = Filter.Available;
## Values
| Name | Value |
| ----------- | ----------- |
| `All` | all |
| `Available` | available |
| `Released` | released |
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `All` | all |
| `Available` | available |
| `Released` | released |
| - | `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).
## Example Usage
```typescript
@@ -12,8 +13,11 @@ let value: FlattenSeasons = FlattenSeasons.Show;
## Values
| Name | Value |
| ---------------- | ---------------- |
| `LibraryDefault` | -1 |
| `Hide` | 0 |
| `Show` | 1 |
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `LibraryDefault` | -1 |
| `Hide` | 0 |
| `Show` | 1 |
| - | `Unrecognized<string>` |

View File

@@ -16,8 +16,8 @@ let value: Genre = {
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- |
| `id` | *number* | :heavy_check_mark: | N/A | 259 |
| `filter` | *string* | :heavy_check_mark: | N/A | genre=19 |
| `tag` | *string* | :heavy_check_mark: | The genre name of this media-item<br/> | Crime |
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `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 |
| `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",
country: "United States Virgin Islands",
city: "Amsterdam",
europeanUnionMember: true,
timeZone: "America/St_Thomas",
postalCode: "802",
inPrivacyRestrictedCountry: true,
inPrivacyRestrictedRegion: true,
subdivisions: "Saint Thomas",
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 |
| `title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
| `viewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
| `viewMode` | *string* | :heavy_check_mark: | Identifier for the view mode. | 131131 |
| `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. | |

View File

@@ -19,12 +19,17 @@ let value: GetActorsLibraryQueryParamType =
## Values
| Name | Value |
| --------- | --------- |
| `Movie` | 1 |
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
| `Audio` | 8 |
| `Album` | 9 |
| `Track` | 10 |
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Movie` | 1 |
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
| `Artist` | 5 |
| `Album` | 6 |
| `Track` | 7 |
| `PhotoAlbum` | 8 |
| `Photo` | 9 |
| - | `Unrecognized<number>` |

View File

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

View File

@@ -3,7 +3,7 @@
## Example Usage
```typescript
import { GetAllLibrariesDirectory, GetAllLibrariesType } from "@lukehagar/plexjs/sdk/models/operations";
import { GetAllLibrariesDirectory, GetAllLibrariesType, Hidden } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllLibrariesDirectory = {
allowSync: false,
@@ -25,12 +25,8 @@ let value: GetAllLibrariesDirectory = {
content: true,
directory: true,
contentChangedAt: 9173960,
location: [
{
id: 1,
path: "/Movies",
},
],
hidden: Hidden.ExcludeHomeScreen,
location: [],
};
```
@@ -57,5 +53,5 @@ let value: GetAllLibrariesDirectory = {
| `content` | *boolean* | :heavy_check_mark: | UNKNOWN | true |
| `directory` | *boolean* | :heavy_check_mark: | UNKNOWN | true |
| `contentChangedAt` | *number* | :heavy_check_mark: | Timestamp (in seconds) representing the last time the content was modified.<br/>NOTE: Some Plex server have some absurd values for this field, like 8457612157633039800 so it should be int64<br/> | 9173960 |
| `hidden` | [operations.Hidden](../../../sdk/models/operations/hidden.md) | :heavy_minus_sign: | N/A | 1 |
| `hidden` | [operations.Hidden](../../../sdk/models/operations/hidden.md) | :heavy_minus_sign: | The Plex library visibility setting | 1 |
| `location` | [operations.GetAllLibrariesLocation](../../../sdk/models/operations/getalllibrarieslocation.md)[] | :heavy_check_mark: | N/A | |

View File

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

View File

@@ -3,50 +3,11 @@
## Example Usage
```typescript
import { GetAllLibrariesResponse, GetAllLibrariesType } from "@lukehagar/plexjs/sdk/models/operations";
import { GetAllLibrariesResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllLibrariesResponse = {
contentType: "<value>",
statusCode: 101,
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",
},
],
},
],
},
},
statusCode: 429079,
};
```

View File

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

View File

@@ -12,11 +12,18 @@ let value: GetAllLibrariesType = GetAllLibrariesType.Movie;
## Values
| Name | Value |
| --------- | --------- |
| `Movie` | movie |
| `TvShow` | show |
| `Season` | season |
| `Episode` | episode |
| `Artist` | artist |
| `Album` | album |
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Movie` | movie |
| `TvShow` | show |
| `Season` | season |
| `Episode` | episode |
| `Artist` | artist |
| `Album` | album |
| `Track` | track |
| `PhotoAlbum` | photoalbum |
| `Photo` | photo |
| `Collection` | collection |
| - | `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,19 +0,0 @@
# GetAllMediaLibraryLibraryResponseType
## Example Usage
```typescript
import { GetAllMediaLibraryLibraryResponseType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryLibraryResponseType =
GetAllMediaLibraryLibraryResponseType.Background;
```
## Values
| Name | Value |
| ------------- | ------------- |
| `CoverPoster` | coverPoster |
| `Background` | background |
| `Snapshot` | snapshot |
| `ClearLogo` | clearLogo |

View File

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

View File

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

View File

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

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

View File

@@ -1,301 +0,0 @@
# GetAllMediaLibraryResponse
## Example Usage
```typescript
import {
GetAllMediaLibraryLibraryResponseType,
GetAllMediaLibraryLibraryType,
GetAllMediaLibraryResponse,
} 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: 1,
default: true,
codec: "hevc",
index: 0,
bitrate: 24743,
language: "English",
languageTag: "en",
languageCode: "eng",
headerCompression: true,
doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitDepth: 10,
chromaLocation: "topleft",
chromaSubsampling: "4:2:0",
codedHeight: 1608,
codedWidth: 3840,
closedCaptions: true,
colorPrimaries: "bt2020",
colorRange: "tv",
colorSpace: "bt2020nc",
colorTrc: "smpte2084",
frameRate: 23.976,
height: 1602,
level: 150,
original: true,
hasScalingMatrix: false,
profile: "main 10",
scanType: "progressive",
embeddedInVideo: "progressive",
refFrames: 1,
width: 3840,
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
selected: true,
forced: true,
channels: 6,
audioChannelLayout: "5.1(side)",
samplingRate: 48000,
canAutoSync: false,
hearingImpaired: true,
dub: true,
title: "SDH",
},
],
},
],
},
],
genre: [
{
tag: "Crime",
},
],
country: [
{
tag: "United States of America",
},
],
director: [
{
tag: "Danny Boyle",
},
],
writer: [
{
tag: "Jamie P. Hanson",
},
],
role: [
{
tag: "Teller",
},
],
guids: [
{
id: "tvdb://2337",
},
],
collection: [
{
tag: "My Awesome Collection",
},
],
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `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,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 = {
contentType: "<value>",
statusCode: 308,
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",
},
],
},
},
statusCode: 927142,
};
```

View File

@@ -7,46 +7,7 @@ import { GetBandwidthStatisticsResponse } from "@lukehagar/plexjs/sdk/models/ope
let value: GetBandwidthStatisticsResponse = {
contentType: "<value>",
statusCode: 101,
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,
},
],
},
},
statusCode: 430843,
};
```

View File

@@ -7,23 +7,7 @@ import { GetButlerTasksResponse } from "@lukehagar/plexjs/sdk/models/operations"
let value: GetButlerTasksResponse = {
contentType: "<value>",
statusCode: 402,
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",
},
],
},
},
statusCode: 73689,
};
```

View File

@@ -7,20 +7,7 @@ import { GetCompanionsDataResponse } from "@lukehagar/plexjs/sdk/models/operatio
let value: GetCompanionsDataResponse = {
contentType: "<value>",
statusCode: 301,
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>",
},
],
statusCode: 133605,
};
```

View File

@@ -19,12 +19,17 @@ let value: GetCountriesLibraryQueryParamType =
## Values
| Name | Value |
| --------- | --------- |
| `Movie` | 1 |
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
| `Audio` | 8 |
| `Album` | 9 |
| `Track` | 10 |
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Movie` | 1 |
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
| `Artist` | 5 |
| `Album` | 6 |
| `Track` | 7 |
| `PhotoAlbum` | 8 |
| `Photo` | 9 |
| - | `Unrecognized<number>` |

View File

@@ -7,33 +7,7 @@ import { GetCountriesLibraryResponse } from "@lukehagar/plexjs/sdk/models/operat
let value: GetCountriesLibraryResponse = {
contentType: "<value>",
statusCode: 404,
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",
},
],
},
},
statusCode: 138249,
};
```

View File

@@ -7,24 +7,7 @@ import { GetDevicesResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetDevicesResponse = {
contentType: "<value>",
statusCode: 301,
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,
},
],
},
},
statusCode: 113704,
};
```

View File

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

View File

@@ -19,12 +19,17 @@ let value: GetGenresLibraryQueryParamType =
## Values
| Name | Value |
| --------- | --------- |
| `Movie` | 1 |
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
| `Audio` | 8 |
| `Album` | 9 |
| `Track` | 10 |
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Movie` | 1 |
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
| `Artist` | 5 |
| `Album` | 6 |
| `Track` | 7 |
| `PhotoAlbum` | 8 |
| `Photo` | 9 |
| - | `Unrecognized<number>` |

View File

@@ -7,34 +7,7 @@ import { GetGenresLibraryResponse } from "@lukehagar/plexjs/sdk/models/operation
let value: GetGenresLibraryResponse = {
contentType: "<value>",
statusCode: 301,
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",
},
],
},
},
statusCode: 150762,
};
```

View File

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

View File

@@ -7,20 +7,7 @@ import { GetGeoDataResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetGeoDataResponse = {
contentType: "<value>",
statusCode: 103,
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",
},
statusCode: 752880,
};
```

View File

@@ -7,54 +7,7 @@ import { GetGlobalHubsResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetGlobalHubsResponse = {
contentType: "<value>",
statusCode: 306,
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,
},
],
},
],
},
},
statusCode: 711048,
};
```

View File

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

View File

@@ -12,7 +12,7 @@ let value: GetLibraryDetailsRequest = {
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `includeDetails` | [operations.IncludeDetails](../../../sdk/models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts). <br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | |
| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `includeDetails` | [operations.IncludeDetails](../../../sdk/models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).<br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | |
| `sectionKey` | *number* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |

View File

@@ -7,81 +7,7 @@ import { GetLibraryDetailsResponse } from "@lukehagar/plexjs/sdk/models/operatio
let value: GetLibraryDetailsResponse = {
contentType: "<value>",
statusCode: 206,
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",
},
],
},
],
},
},
statusCode: 683537,
};
```

View File

@@ -4,133 +4,10 @@
```typescript
import { GetLibraryHubsResponse } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetLibraryHubsResponse = {
contentType: "<value>",
statusCode: 304,
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,
},
],
},
},
statusCode: 455564,
};
```

View File

@@ -6,12 +6,12 @@
import { GetLibraryItemsCollection } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsCollection = {
tag: "Working NL Subs",
tag: "My Awesome Collection",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `tag` | *string* | :heavy_minus_sign: | N/A | Working NL Subs |
| Field | Type | Required | Description | Example |
| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
| `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";
let value: GetLibraryItemsCountry = {
id: 259,
tag: "United States of America",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ |
| `tag` | *string* | :heavy_minus_sign: | N/A | United States of America |
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `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";
let value: GetLibraryItemsDirector = {
tag: "James Cameron",
id: 126522,
tag: "Danny Boyle",
thumb:
"https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `tag` | *string* | :heavy_minus_sign: | N/A | James Cameron |
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `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 = {
type: "tag",
operator: [
{
key: "=",
title: "is",
},
],
operator: [],
};
```

View File

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

View File

@@ -6,12 +6,14 @@
import { GetLibraryItemsGenre } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsGenre = {
tag: "Adventure",
id: 259,
tag: "Crime",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `tag` | *string* | :heavy_minus_sign: | N/A | Adventure |
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `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
Indicates if the part has a thumbnail.
## Example Usage
```typescript

View File

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

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

View File

@@ -5,49 +5,18 @@
```typescript
import { GetLibraryItemsLibraryResponseType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsLibraryResponseType = {
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",
},
],
};
let value: GetLibraryItemsLibraryResponseType =
GetLibraryItemsLibraryResponseType.Background;
```
## Fields
## Values
| 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 | show |
| `title` | *string* | :heavy_check_mark: | N/A | TV Shows |
| `active` | *boolean* | :heavy_check_mark: | N/A | false |
| `filter` | [operations.GetLibraryItemsLibraryFilter](../../../sdk/models/operations/getlibraryitemslibraryfilter.md)[] | :heavy_minus_sign: | N/A | |
| `sort` | [operations.GetLibraryItemsLibrarySort](../../../sdk/models/operations/getlibraryitemslibrarysort.md)[] | :heavy_minus_sign: | N/A | |
| `field` | [operations.GetLibraryItemsLibraryField](../../../sdk/models/operations/getlibraryitemslibraryfield.md)[] | :heavy_minus_sign: | N/A | |
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

@@ -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,23 +1,53 @@
# GetLibraryItemsLibraryType
The type of media content
## Example Usage
```typescript
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
| Name | Value |
| --------- | --------- |
| `Movie` | movie |
| `TvShow` | show |
| `Season` | season |
| `Episode` | episode |
| `Artist` | artist |
| `Album` | album |
| 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 | show |
| `title` | *string* | :heavy_check_mark: | N/A | TV Shows |
| `active` | *boolean* | :heavy_check_mark: | N/A | false |
| `filter` | [operations.GetLibraryItemsFilter](../../../sdk/models/operations/getlibraryitemsfilter.md)[] | :heavy_minus_sign: | N/A | |
| `sort` | [operations.GetLibraryItemsSort](../../../sdk/models/operations/getlibraryitemssort.md)[] | :heavy_minus_sign: | N/A | |
| `field` | [operations.GetLibraryItemsField](../../../sdk/models/operations/getlibraryitemsfield.md)[] | :heavy_minus_sign: | N/A | |

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