Compare commits

...

10 Commits

Author SHA1 Message Date
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
speakeasybot
7a950ea773 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.531.4 2025-04-14 00:12:56 +00:00
speakeasybot
379a408d74 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.529.1 2025-04-06 00:12:51 +00:00
speakeasybot
2712820397 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.528.1 2025-04-03 00:12:07 +00:00
speakeasybot
c895213ae8 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.526.6 2025-03-31 19:44:01 +00:00
Luke Hagar
c473c9d326 Update workflow.yaml 2025-03-31 14:41:40 -05:00
speakeasybot
3c13bba9de ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.526.6 2025-03-31 19:35:21 +00:00
466 changed files with 11952 additions and 11100 deletions

4
.gitignore vendored
View File

@@ -1,3 +1,7 @@
.DS_Store
**/.speakeasy/temp/
**/.speakeasy/logs/
.DS_Store
/mcp-server /mcp-server
/bin /bin
/.eslintcache /.eslintcache

File diff suppressed because one or more lines are too long

View File

@@ -4,6 +4,7 @@ generation:
maintainOpenAPIOrder: true maintainOpenAPIOrder: true
usageSnippets: usageSnippets:
optionalPropertyRendering: withExample optionalPropertyRendering: withExample
sdkInitStyle: constructor
useClassNamesForArrayFields: true useClassNamesForArrayFields: true
fixes: fixes:
nameResolutionDec2023: true nameResolutionDec2023: true
@@ -11,11 +12,12 @@ generation:
parameterOrderingFeb2024: true parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true requestResponseComponentNamesFeb2024: true
securityFeb2025: false securityFeb2025: false
sharedErrorComponentsApr2025: false
auth: auth:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false oAuth2PasswordEnabled: false
typescript: typescript:
version: 0.35.2 version: 0.38.0
additionalDependencies: additionalDependencies:
dependencies: {} dependencies: {}
devDependencies: {} devDependencies: {}

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.526.6 speakeasyVersion: 1.555.2
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
@@ -9,20 +9,20 @@ sources:
- main - main
plexapi: plexapi:
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:cffb18feaa0523b300655a6f0073caad99133b143f5a420fddbb1e1efe47bcaf sourceRevisionDigest: sha256:78d07ad78ff60d0e9918696208d8c68a562e170d4e9c431797c02995fb8816d0
sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351 sourceBlobDigest: sha256:d38dd2a36c1b2fd73409267f7b30c2d5d45d709616141803ea01db424ec68ae4
tags: tags:
- latest - latest
- speakeasy-sdk-regen-1743438725 - speakeasy-sdk-regen-1748995899
- 0.0.3 - 0.0.3
targets: targets:
plexjs: plexjs:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:cffb18feaa0523b300655a6f0073caad99133b143f5a420fddbb1e1efe47bcaf sourceRevisionDigest: sha256:78d07ad78ff60d0e9918696208d8c68a562e170d4e9c431797c02995fb8816d0
sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351 sourceBlobDigest: sha256:d38dd2a36c1b2fd73409267f7b30c2d5d45d709616141803ea01db424ec68ae4
codeSamplesNamespace: code-samples-typescript-plexjs codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:1e82144ee5f8b57f2ee0633b982f4dd97305e92b7810d3ea83a6960fb89390cf codeSamplesRevisionDigest: sha256:132446d6299798fab8378bc875b16290ef126cdb50befe85a0a88bee8bf35799
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest
@@ -43,6 +43,5 @@ workflow:
output: codeSamples.yaml output: codeSamples.yaml
registry: registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
langOverride: TypeScript
labelOverride: labelOverride:
fixedValue: PlexJS fixedValue: PlexJS

View File

@@ -17,6 +17,5 @@ targets:
output: codeSamples.yaml output: codeSamples.yaml
registry: registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
langOverride: TypeScript
labelOverride: labelOverride:
fixedValue: PlexJS fixedValue: PlexJS

View File

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

305
README.md
View File

@@ -54,6 +54,7 @@ The following SDKs are generated from the OpenAPI Specification. They are automa
* [Authentication](#authentication) * [Authentication](#authentication)
* [Requirements](#requirements) * [Requirements](#requirements)
* [Standalone functions](#standalone-functions) * [Standalone functions](#standalone-functions)
* [File uploads](#file-uploads)
* [Retries](#retries) * [Retries](#retries)
* [Debugging](#debugging) * [Debugging](#debugging)
* [Development](#development) * [Development](#development)
@@ -110,7 +111,6 @@ const plexAPI = new PlexAPI({
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} }
@@ -159,7 +159,7 @@ run();
* [getLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details * [getLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
* [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section * [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
* [getLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items * [getLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
* [getAllMediaLibrary](docs/sdks/library/README.md#getallmedialibrary) - Get all media of library * [getLibrarySectionsAll](docs/sdks/library/README.md#getlibrarysectionsall) - Get Library section media by tag ALL
* [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library * [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
* [getSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library * [getSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library
* [getGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media * [getGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media
@@ -167,6 +167,10 @@ run();
* [getActorsLibrary](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media * [getActorsLibrary](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media
* [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries * [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
* [getMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata * [getMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata
* [getMediaArts](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork
* [postMediaArts](docs/sdks/library/README.md#postmediaarts) - Upload Media Background Artwork
* [getMediaPosters](docs/sdks/library/README.md#getmediaposters) - Get Media Posters
* [postMediaPoster](docs/sdks/library/README.md#postmediaposter) - Upload Media Poster
* [getMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children * [getMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
* [getTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content * [getTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
@@ -263,59 +267,46 @@ run();
<!-- Start Error Handling [errors] --> <!-- Start Error Handling [errors] -->
## Error Handling ## Error Handling
Some methods specify known errors which can be thrown. All the known errors are enumerated in the `sdk/models/errors/errors.ts` module. The known errors for a method are documented under the *Errors* tables in SDK docs. For example, the `getServerCapabilities` method may throw the following errors: This table shows properties which are common on error classes. For full details see [error classes](#error-classes).
| Error Type | Status Code | Content Type | | Property | Type | Description |
| ---------------------------------------- | ----------- | ---------------- | | ------------------- | ---------- | --------------------------------------------------------------------------------------- |
| errors.GetServerCapabilitiesBadRequest | 400 | application/json | | `error.name` | `string` | Error class name eg `SDKError` |
| errors.GetServerCapabilitiesUnauthorized | 401 | application/json | | `error.message` | `string` | Error message |
| errors.SDKError | 4XX, 5XX | \*/\* | | `error.statusCode` | `number` | HTTP status code eg `404` |
| `error.contentType` | `string` | HTTP content type eg `application/json` |
If the method throws an error and it is not captured by the known errors, it will default to throwing a `SDKError`. | `error.body` | `string` | HTTP body. Can be empty string if no body is returned. |
| `error.rawResponse` | `Response` | Raw HTTP response. Access to headers and more. |
| `error.data$` | | Optional. Some errors may contain structured data. [See Error Classes](#error-classes). |
### Example
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { import * as errors from "@lukehagar/plexjs/sdk/models/errors";
GetServerCapabilitiesBadRequest,
GetServerCapabilitiesUnauthorized,
SDKValidationError,
} from "@lukehagar/plexjs/sdk/models/errors";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
let result;
try { try {
result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} catch (err) { } catch (error) {
switch (true) { // Depending on the method different errors may be thrown
// The server response does not match the expected SDK schema if (error instanceof errors.GetServerCapabilitiesBadRequest) {
case (err instanceof SDKValidationError): { console.log(error.message);
// Pretty-print will provide a human-readable multi-line error message console.log(error.data$.errors); // Errors[]
console.error(err.pretty()); console.log(error.data$.rawResponse); // Response
// Raw value may also be inspected }
console.error(err.rawValue);
return; // Fallback error class, if no other more specific error class is matched
} if (error instanceof errors.SDKError) {
case (err instanceof GetServerCapabilitiesBadRequest): { console.log(error.message);
// Handle err.data$: GetServerCapabilitiesBadRequestData console.log(error.statusCode);
console.error(err); console.log(error.body);
return; console.log(error.rawResponse.headers);
}
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;
}
} }
} }
} }
@@ -324,17 +315,178 @@ 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
* `SDKError`: The fallback error class, if no other more specific error class is matched.
* `SDKValidationError`: Type mismatch between the data returned from the server and the structure expected by the SDK. This can also be thrown for invalid method arguments. See `error.rawValue` for the raw value and `error.pretty()` for a nicely formatted multi-line string.
* Network errors:
* `ConnectionError`: HTTP client was unable to make a request to a server.
* `RequestTimeoutError`: HTTP request timed out due to an AbortSignal signal.
* `RequestAbortedError`: HTTP request was aborted by the client.
* `InvalidRequestError`: Any input used to create a request is invalid.
* `UnexpectedClientError`: Unrecognised or unexpected error.
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, applicable to a subset of methods (156)</summary>
| HTTP Client Error | Description | * [`GetServerCapabilitiesBadRequest`](docs/sdk/models/errors/getservercapabilitiesbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
| ---------------------------------------------------- | ---------------------------------------------------- | * [`GetServerPreferencesBadRequest`](docs/sdk/models/errors/getserverpreferencesbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
| RequestAbortedError | HTTP request was aborted by the client | * [`GetAvailableClientsBadRequest`](docs/sdk/models/errors/getavailableclientsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
| RequestTimeoutError | HTTP request timed out due to an AbortSignal signal | * [`GetDevicesBadRequest`](docs/sdk/models/errors/getdevicesbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
| ConnectionError | HTTP client was unable to make a request to a server | * [`GetMyPlexAccountBadRequest`](docs/sdk/models/errors/getmyplexaccountbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
| InvalidRequestError | Any input used to create a request is invalid | * [`GetResizedPhotoBadRequest`](docs/sdk/models/errors/getresizedphotobadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
| UnexpectedClientError | Unrecognised or unexpected error | * [`GetMediaProvidersBadRequest`](docs/sdk/models/errors/getmediaprovidersbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetServerListBadRequest`](docs/sdk/models/errors/getserverlistbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`MarkPlayedBadRequest`](docs/sdk/models/errors/markplayedbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`MarkUnplayedBadRequest`](docs/sdk/models/errors/markunplayedbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`UpdatePlayProgressBadRequest`](docs/sdk/models/errors/updateplayprogressbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetBannerImageBadRequest`](docs/sdk/models/errors/getbannerimagebadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetThumbImageBadRequest`](docs/sdk/models/errors/getthumbimagebadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetTimelineBadRequest`](docs/sdk/models/errors/gettimelinebadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`StartUniversalTranscodeBadRequest`](docs/sdk/models/errors/startuniversaltranscodebadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetServerActivitiesBadRequest`](docs/sdk/models/errors/getserveractivitiesbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`CancelServerActivitiesBadRequest`](docs/sdk/models/errors/cancelserveractivitiesbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetButlerTasksBadRequest`](docs/sdk/models/errors/getbutlertasksbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`StartAllTasksBadRequest`](docs/sdk/models/errors/startalltasksbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`StopAllTasksBadRequest`](docs/sdk/models/errors/stopalltasksbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`StartTaskBadRequest`](docs/sdk/models/errors/starttaskbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`StopTaskBadRequest`](docs/sdk/models/errors/stoptaskbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetCompanionsDataBadRequest`](docs/sdk/models/errors/getcompanionsdatabadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetUserFriendsBadRequest`](docs/sdk/models/errors/getuserfriendsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetGeoDataBadRequest`](docs/sdk/models/errors/getgeodatabadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetHomeDataBadRequest`](docs/sdk/models/errors/gethomedatabadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetServerResourcesBadRequest`](docs/sdk/models/errors/getserverresourcesbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetPinBadRequest`](docs/sdk/models/errors/getpinbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetTokenByPinIdBadRequest`](docs/sdk/models/errors/gettokenbypinidbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetGlobalHubsBadRequest`](docs/sdk/models/errors/getglobalhubsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetLibraryHubsBadRequest`](docs/sdk/models/errors/getlibraryhubsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`PerformSearchBadRequest`](docs/sdk/models/errors/performsearchbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`PerformVoiceSearchBadRequest`](docs/sdk/models/errors/performvoicesearchbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetSearchResultsBadRequest`](docs/sdk/models/errors/getsearchresultsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetFileHashBadRequest`](docs/sdk/models/errors/getfilehashbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetRecentlyAddedLibraryBadRequest`](docs/sdk/models/errors/getrecentlyaddedlibrarybadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetAllLibrariesBadRequest`](docs/sdk/models/errors/getalllibrariesbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetLibraryDetailsBadRequest`](docs/sdk/models/errors/getlibrarydetailsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`DeleteLibraryBadRequest`](docs/sdk/models/errors/deletelibrarybadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetLibraryItemsBadRequest`](docs/sdk/models/errors/getlibraryitemsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetLibrarySectionsAllBadRequest`](docs/sdk/models/errors/getlibrarysectionsallbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetRefreshLibraryMetadataBadRequest`](docs/sdk/models/errors/getrefreshlibrarymetadatabadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetSearchLibraryBadRequest`](docs/sdk/models/errors/getsearchlibrarybadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetGenresLibraryBadRequest`](docs/sdk/models/errors/getgenreslibrarybadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetCountriesLibraryBadRequest`](docs/sdk/models/errors/getcountrieslibrarybadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetActorsLibraryBadRequest`](docs/sdk/models/errors/getactorslibrarybadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetSearchAllLibrariesBadRequest`](docs/sdk/models/errors/getsearchalllibrariesbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetMediaMetaDataBadRequest`](docs/sdk/models/errors/getmediametadatabadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetMetadataChildrenBadRequest`](docs/sdk/models/errors/getmetadatachildrenbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetTopWatchedContentBadRequest`](docs/sdk/models/errors/gettopwatchedcontentbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetWatchListBadRequest`](docs/sdk/models/errors/getwatchlistbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`LogLineBadRequest`](docs/sdk/models/errors/loglinebadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`LogMultiLineBadRequest`](docs/sdk/models/errors/logmultilinebadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`EnablePaperTrailBadRequest`](docs/sdk/models/errors/enablepapertrailbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`CreatePlaylistBadRequest`](docs/sdk/models/errors/createplaylistbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetPlaylistsBadRequest`](docs/sdk/models/errors/getplaylistsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetPlaylistBadRequest`](docs/sdk/models/errors/getplaylistbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`DeletePlaylistBadRequest`](docs/sdk/models/errors/deleteplaylistbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`UpdatePlaylistBadRequest`](docs/sdk/models/errors/updateplaylistbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetPlaylistContentsBadRequest`](docs/sdk/models/errors/getplaylistcontentsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`ClearPlaylistContentsBadRequest`](docs/sdk/models/errors/clearplaylistcontentsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`AddPlaylistContentsBadRequest`](docs/sdk/models/errors/addplaylistcontentsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`UploadPlaylistBadRequest`](docs/sdk/models/errors/uploadplaylistbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetTransientTokenBadRequest`](docs/sdk/models/errors/gettransienttokenbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetSourceConnectionInformationBadRequest`](docs/sdk/models/errors/getsourceconnectioninformationbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetTokenDetailsBadRequest`](docs/sdk/models/errors/gettokendetailsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`PostUsersSignInDataBadRequest`](docs/sdk/models/errors/postuserssignindatabadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetStatisticsBadRequest`](docs/sdk/models/errors/getstatisticsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetResourcesStatisticsBadRequest`](docs/sdk/models/errors/getresourcesstatisticsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetBandwidthStatisticsBadRequest`](docs/sdk/models/errors/getbandwidthstatisticsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetSessionsBadRequest`](docs/sdk/models/errors/getsessionsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetSessionHistoryBadRequest`](docs/sdk/models/errors/getsessionhistorybadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetTranscodeSessionsBadRequest`](docs/sdk/models/errors/gettranscodesessionsbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`StopTranscodeSessionBadRequest`](docs/sdk/models/errors/stoptranscodesessionbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetUpdateStatusBadRequest`](docs/sdk/models/errors/getupdatestatusbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`CheckForUpdatesBadRequest`](docs/sdk/models/errors/checkforupdatesbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`ApplyUpdatesBadRequest`](docs/sdk/models/errors/applyupdatesbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetUsersBadRequest`](docs/sdk/models/errors/getusersbadrequest.md): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
* [`GetServerCapabilitiesUnauthorized`](docs/sdk/models/errors/getservercapabilitiesunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetServerPreferencesUnauthorized`](docs/sdk/models/errors/getserverpreferencesunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetAvailableClientsUnauthorized`](docs/sdk/models/errors/getavailableclientsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetDevicesUnauthorized`](docs/sdk/models/errors/getdevicesunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetMyPlexAccountUnauthorized`](docs/sdk/models/errors/getmyplexaccountunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetResizedPhotoUnauthorized`](docs/sdk/models/errors/getresizedphotounauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetMediaProvidersUnauthorized`](docs/sdk/models/errors/getmediaprovidersunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetServerListUnauthorized`](docs/sdk/models/errors/getserverlistunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`MarkPlayedUnauthorized`](docs/sdk/models/errors/markplayedunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`MarkUnplayedUnauthorized`](docs/sdk/models/errors/markunplayedunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`UpdatePlayProgressUnauthorized`](docs/sdk/models/errors/updateplayprogressunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetBannerImageUnauthorized`](docs/sdk/models/errors/getbannerimageunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetThumbImageUnauthorized`](docs/sdk/models/errors/getthumbimageunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetTimelineUnauthorized`](docs/sdk/models/errors/gettimelineunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`StartUniversalTranscodeUnauthorized`](docs/sdk/models/errors/startuniversaltranscodeunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetServerActivitiesUnauthorized`](docs/sdk/models/errors/getserveractivitiesunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`CancelServerActivitiesUnauthorized`](docs/sdk/models/errors/cancelserveractivitiesunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetButlerTasksUnauthorized`](docs/sdk/models/errors/getbutlertasksunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`StartAllTasksUnauthorized`](docs/sdk/models/errors/startalltasksunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`StopAllTasksUnauthorized`](docs/sdk/models/errors/stopalltasksunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`StartTaskUnauthorized`](docs/sdk/models/errors/starttaskunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`StopTaskUnauthorized`](docs/sdk/models/errors/stoptaskunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetCompanionsDataUnauthorized`](docs/sdk/models/errors/getcompanionsdataunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetUserFriendsUnauthorized`](docs/sdk/models/errors/getuserfriendsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetGeoDataUnauthorized`](docs/sdk/models/errors/getgeodataunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetHomeDataUnauthorized`](docs/sdk/models/errors/gethomedataunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetServerResourcesUnauthorized`](docs/sdk/models/errors/getserverresourcesunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetGlobalHubsUnauthorized`](docs/sdk/models/errors/getglobalhubsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetLibraryHubsUnauthorized`](docs/sdk/models/errors/getlibraryhubsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`PerformSearchUnauthorized`](docs/sdk/models/errors/performsearchunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`PerformVoiceSearchUnauthorized`](docs/sdk/models/errors/performvoicesearchunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetSearchResultsUnauthorized`](docs/sdk/models/errors/getsearchresultsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetFileHashUnauthorized`](docs/sdk/models/errors/getfilehashunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetRecentlyAddedLibraryUnauthorized`](docs/sdk/models/errors/getrecentlyaddedlibraryunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetAllLibrariesUnauthorized`](docs/sdk/models/errors/getalllibrariesunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetLibraryDetailsUnauthorized`](docs/sdk/models/errors/getlibrarydetailsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`DeleteLibraryUnauthorized`](docs/sdk/models/errors/deletelibraryunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetLibraryItemsUnauthorized`](docs/sdk/models/errors/getlibraryitemsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetLibrarySectionsAllUnauthorized`](docs/sdk/models/errors/getlibrarysectionsallunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetRefreshLibraryMetadataUnauthorized`](docs/sdk/models/errors/getrefreshlibrarymetadataunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetSearchLibraryUnauthorized`](docs/sdk/models/errors/getsearchlibraryunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetGenresLibraryUnauthorized`](docs/sdk/models/errors/getgenreslibraryunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetCountriesLibraryUnauthorized`](docs/sdk/models/errors/getcountrieslibraryunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetActorsLibraryUnauthorized`](docs/sdk/models/errors/getactorslibraryunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetSearchAllLibrariesUnauthorized`](docs/sdk/models/errors/getsearchalllibrariesunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetMediaMetaDataUnauthorized`](docs/sdk/models/errors/getmediametadataunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetMetadataChildrenUnauthorized`](docs/sdk/models/errors/getmetadatachildrenunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetTopWatchedContentUnauthorized`](docs/sdk/models/errors/gettopwatchedcontentunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetWatchListUnauthorized`](docs/sdk/models/errors/getwatchlistunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`LogLineUnauthorized`](docs/sdk/models/errors/loglineunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`LogMultiLineUnauthorized`](docs/sdk/models/errors/logmultilineunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`EnablePaperTrailUnauthorized`](docs/sdk/models/errors/enablepapertrailunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`CreatePlaylistUnauthorized`](docs/sdk/models/errors/createplaylistunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetPlaylistsUnauthorized`](docs/sdk/models/errors/getplaylistsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetPlaylistUnauthorized`](docs/sdk/models/errors/getplaylistunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`DeletePlaylistUnauthorized`](docs/sdk/models/errors/deleteplaylistunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`UpdatePlaylistUnauthorized`](docs/sdk/models/errors/updateplaylistunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetPlaylistContentsUnauthorized`](docs/sdk/models/errors/getplaylistcontentsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`ClearPlaylistContentsUnauthorized`](docs/sdk/models/errors/clearplaylistcontentsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`AddPlaylistContentsUnauthorized`](docs/sdk/models/errors/addplaylistcontentsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`UploadPlaylistUnauthorized`](docs/sdk/models/errors/uploadplaylistunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetTransientTokenUnauthorized`](docs/sdk/models/errors/gettransienttokenunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetSourceConnectionInformationUnauthorized`](docs/sdk/models/errors/getsourceconnectioninformationunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetTokenDetailsUnauthorized`](docs/sdk/models/errors/gettokendetailsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`PostUsersSignInDataUnauthorized`](docs/sdk/models/errors/postuserssignindataunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetStatisticsUnauthorized`](docs/sdk/models/errors/getstatisticsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetResourcesStatisticsUnauthorized`](docs/sdk/models/errors/getresourcesstatisticsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetBandwidthStatisticsUnauthorized`](docs/sdk/models/errors/getbandwidthstatisticsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetSessionsUnauthorized`](docs/sdk/models/errors/getsessionsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetSessionHistoryUnauthorized`](docs/sdk/models/errors/getsessionhistoryunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetTranscodeSessionsUnauthorized`](docs/sdk/models/errors/gettranscodesessionsunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`StopTranscodeSessionUnauthorized`](docs/sdk/models/errors/stoptranscodesessionunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetUpdateStatusUnauthorized`](docs/sdk/models/errors/getupdatestatusunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`CheckForUpdatesUnauthorized`](docs/sdk/models/errors/checkforupdatesunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`ApplyUpdatesUnauthorized`](docs/sdk/models/errors/applyupdatesunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetUsersUnauthorized`](docs/sdk/models/errors/getusersunauthorized.md): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
* [`GetTokenByPinIdResponseBody`](docs/sdk/models/errors/gettokenbypinidresponsebody.md): Not Found or Expired. Status code `404`. Applicable to 1 of 84 methods.*
* [`GetServerIdentityRequestTimeout`](docs/sdk/models/errors/getserveridentityrequesttimeout.md): Request Timeout. Status code `408`. Applicable to 1 of 84 methods.*
</details>
\* Check [the method documentation](#available-resources-and-operations) to see if the error is applicable.
<!-- End Error Handling [errors] --> <!-- End Error Handling [errors] -->
<!-- Start Server Selection [server] --> <!-- Start Server Selection [server] -->
@@ -357,15 +509,14 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
protocol: "https", protocol: "https",
ip: "e0c3:bcc0:6bac:dccc:c4ec:34b1:ca98:4cb9", ip: "4982:bc2a:b4f8:efb5:2394:5bc3:ab4f:0e6d",
port: "40311", port: "44765",
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} }
@@ -387,7 +538,6 @@ const plexAPI = new PlexAPI({
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} }
@@ -410,7 +560,6 @@ async function run() {
serverURL: "https://plex.tv/api/v2", serverURL: "https://plex.tv/api/v2",
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -490,7 +639,6 @@ const plexAPI = new PlexAPI({
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} }
@@ -537,19 +685,23 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
- [`libraryDeleteLibrary`](docs/sdks/library/README.md#deletelibrary) - Delete Library Section - [`libraryDeleteLibrary`](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
- [`libraryGetActorsLibrary`](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media - [`libraryGetActorsLibrary`](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media
- [`libraryGetAllLibraries`](docs/sdks/library/README.md#getalllibraries) - Get All Libraries - [`libraryGetAllLibraries`](docs/sdks/library/README.md#getalllibraries) - Get All Libraries
- [`libraryGetAllMediaLibrary`](docs/sdks/library/README.md#getallmedialibrary) - Get all media of library
- [`libraryGetCountriesLibrary`](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media - [`libraryGetCountriesLibrary`](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media
- [`libraryGetFileHash`](docs/sdks/library/README.md#getfilehash) - Get Hash Value - [`libraryGetFileHash`](docs/sdks/library/README.md#getfilehash) - Get Hash Value
- [`libraryGetGenresLibrary`](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media - [`libraryGetGenresLibrary`](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media
- [`libraryGetLibraryDetails`](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details - [`libraryGetLibraryDetails`](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
- [`libraryGetLibraryItems`](docs/sdks/library/README.md#getlibraryitems) - Get Library Items - [`libraryGetLibraryItems`](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
- [`libraryGetLibrarySectionsAll`](docs/sdks/library/README.md#getlibrarysectionsall) - Get Library section media by tag ALL
- [`libraryGetMediaArts`](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork
- [`libraryGetMediaMetaData`](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata - [`libraryGetMediaMetaData`](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata
- [`libraryGetMediaPosters`](docs/sdks/library/README.md#getmediaposters) - Get Media Posters
- [`libraryGetMetadataChildren`](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children - [`libraryGetMetadataChildren`](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
- [`libraryGetRecentlyAddedLibrary`](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added - [`libraryGetRecentlyAddedLibrary`](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added
- [`libraryGetRefreshLibraryMetadata`](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library - [`libraryGetRefreshLibraryMetadata`](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
- [`libraryGetSearchAllLibraries`](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries - [`libraryGetSearchAllLibraries`](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
- [`libraryGetSearchLibrary`](docs/sdks/library/README.md#getsearchlibrary) - Search Library - [`libraryGetSearchLibrary`](docs/sdks/library/README.md#getsearchlibrary) - Search Library
- [`libraryGetTopWatchedContent`](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content - [`libraryGetTopWatchedContent`](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
- [`libraryPostMediaArts`](docs/sdks/library/README.md#postmediaarts) - Upload Media Background Artwork
- [`libraryPostMediaPoster`](docs/sdks/library/README.md#postmediaposter) - Upload Media Poster
- [`logEnablePaperTrail`](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail - [`logEnablePaperTrail`](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail
- [`logLogLine`](docs/sdks/log/README.md#logline) - Logging a single line message. - [`logLogLine`](docs/sdks/log/README.md#logline) - Logging a single line message.
- [`logLogMultiLine`](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message - [`logLogMultiLine`](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message
@@ -604,6 +756,41 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
</details> </details>
<!-- End Standalone functions [standalone-funcs] --> <!-- End Standalone functions [standalone-funcs] -->
<!-- Start File uploads [file-upload] -->
## File uploads
Certain SDK methods accept files as part of a multi-part request. It is possible and typically recommended to upload files as a stream rather than reading the entire contents into memory. This avoids excessive memory consumption and potentially crashing with out-of-memory errors when working with very large files. The following example demonstrates how to attach a file stream to a request.
> [!TIP]
>
> Depending on your JavaScript runtime, there are convenient utilities that return a handle to a file without reading the entire contents into memory:
>
> - **Node.js v20+:** Since v20, Node.js comes with a native `openAsBlob` function in [`node:fs`](https://nodejs.org/docs/latest-v20.x/api/fs.html#fsopenasblobpath-options).
> - **Bun:** The native [`Bun.file`](https://bun.sh/docs/api/file-io#reading-files-bun-file) function produces a file handle that can be used for streaming file uploads.
> - **Browsers:** All supported browsers return an instance to a [`File`](https://developer.mozilla.org/en-US/docs/Web/API/File) when reading the value from an `<input type="file">` element.
> - **Node.js v18:** A file stream can be created using the `fileFrom` helper from [`fetch-blob/from.js`](https://www.npmjs.com/package/fetch-blob).
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
async function run() {
const result = await plexAPI.library.postMediaArts(
2268,
"https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b",
);
console.log(result);
}
run();
```
<!-- End File uploads [file-upload] -->
<!-- Start Retries [retries] --> <!-- Start Retries [retries] -->
## Retries ## Retries
@@ -631,7 +818,6 @@ async function run() {
}, },
}); });
// Handle the result
console.log(result); console.log(result);
} }
@@ -660,7 +846,6 @@ const plexAPI = new PlexAPI({
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result); console.log(result);
} }

View File

@@ -1259,3 +1259,93 @@ Based on:
- [typescript v0.35.2] . - [typescript v0.35.2] .
### Releases ### Releases
- [NPM v0.35.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.2 - . - [NPM v0.35.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.2 - .
## 2025-03-31 19:33:46
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.3] .
### Releases
- [NPM v0.35.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.3 - .
## 2025-03-31 19:42:25
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.4] .
### Releases
- [NPM v0.35.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.4 - .
## 2025-04-03 00:10:29
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.528.1 (2.565.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.36.0] .
### Releases
- [NPM v0.36.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.0 - .
## 2025-04-06 00:11:19
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.529.1 (2.566.5) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.36.1] .
### Releases
- [NPM v0.36.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.1 - .
## 2025-04-14 00:11:23
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.531.4 (2.570.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.36.2] .
### Releases
- [NPM v0.36.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.2 - .
## 2025-04-19 00:10:19
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.535.1 (2.585.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.37.0] .
### Releases
- [NPM v0.37.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.0 - .
## 2025-05-01 00:12:16
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.541.2 (2.595.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.37.1] .
### Releases
- [NPM v0.37.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.1 - .
## 2025-05-05 00:11:37
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.542.1 (2.597.9) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.37.2] .
### Releases
- [NPM v0.37.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.2 - .
## 2025-06-04 00:11:21
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.555.2 (2.620.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.38.0] .
### Releases
- [NPM v0.38.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.38.0 - .

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

@@ -1,11 +1,11 @@
# GetAllMediaLibraryErrors # GetLibrarySectionsAllErrors
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllMediaLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors"; import { GetLibrarySectionsAllErrors } from "@lukehagar/plexjs/sdk/models/errors";
let value: GetAllMediaLibraryErrors = { let value: GetLibrarySectionsAllErrors = {
code: 1000, code: 1000,
message: "X-Plex-Client-Identifier is missing", message: "X-Plex-Client-Identifier is missing",
status: 400, status: 400,

View File

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

View File

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

View File

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

View File

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

View File

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

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 = { let value: Billing = {
internalPaymentMethod: {}, internalPaymentMethod: {},
paymentMethodId: 903720, paymentMethodId: 575569,
}; };
``` ```

View File

@@ -5,13 +5,7 @@
```typescript ```typescript
import { CancelServerActivitiesResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { CancelServerActivitiesResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: CancelServerActivitiesResponse = { let value: CancelServerActivitiesResponse = {};
contentType: "<value>",
statusCode: 417,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
};
``` ```
## Fields ## Fields

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

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

View File

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

View File

@@ -5,13 +5,7 @@
```typescript ```typescript
import { ClearPlaylistContentsResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { ClearPlaylistContentsResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: ClearPlaylistContentsResponse = { let value: ClearPlaylistContentsResponse = {};
contentType: "<value>",
statusCode: 204,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
};
``` ```
## Fields ## Fields

View File

@@ -7,12 +7,12 @@ import { Connections, Protocol } from "@lukehagar/plexjs/sdk/models/operations";
let value: Connections = { let value: Connections = {
protocol: Protocol.Http, protocol: Protocol.Http,
address: "21611 Schuster Cliffs", address: "84577 W 9th Street",
port: 54915, port: 610910,
uri: "https://wobbly-instance.org/", uri: "https://dearest-custom.net",
local: false, local: true,
relay: false, relay: true,
iPv6: false, iPv6: true,
}; };
``` ```

View File

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

View File

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

View File

@@ -8,8 +8,8 @@ import { CreatePlaylistQueryParamType, CreatePlaylistRequest, Smart } from "@luk
let value: CreatePlaylistRequest = { let value: CreatePlaylistRequest = {
title: "<value>", title: "<value>",
type: CreatePlaylistQueryParamType.Audio, type: CreatePlaylistQueryParamType.Audio,
smart: Smart.One, smart: Smart.Zero,
uri: "https://ajar-reward.biz/", uri: "https://courageous-futon.net",
}; };
``` ```

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -13,7 +13,10 @@ let value: EnableCreditsMarkerGeneration =
## Values ## Values
| Name | Value | This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| ---------------- | ---------------- |
| `LibraryDefault` | -1 | | Name | Value |
| `Disabled` | 0 | | ---------------------- | ---------------------- |
| `LibraryDefault` | -1 |
| `Disabled` | 0 |
| - | `Unrecognized<string>` |

View File

@@ -5,13 +5,7 @@
```typescript ```typescript
import { EnablePaperTrailResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { EnablePaperTrailResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: EnablePaperTrailResponse = { let value: EnablePaperTrailResponse = {};
contentType: "<value>",
statusCode: 304,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
};
``` ```
## Fields ## Fields

View File

@@ -12,8 +12,11 @@ let value: EpisodeSort = EpisodeSort.OldestFirst;
## Values ## Values
| Name | Value | This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| ---------------- | ---------------- |
| `LibraryDefault` | -1 | | Name | Value |
| `OldestFirst` | 0 | | ---------------------- | ---------------------- |
| `NewestFirst` | 1 | | `LibraryDefault` | -1 |
| `OldestFirst` | 0 |
| `NewestFirst` | 1 |
| - | `Unrecognized<string>` |

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

@@ -7,13 +7,16 @@ Filter
```typescript ```typescript
import { Filter } from "@lukehagar/plexjs/sdk/models/operations"; import { Filter } from "@lukehagar/plexjs/sdk/models/operations";
let value: Filter = Filter.Released; let value: Filter = Filter.Available;
``` ```
## Values ## Values
| Name | Value | This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| ----------- | ----------- |
| `All` | all | | Name | Value |
| `Available` | available | | ---------------------- | ---------------------- |
| `Released` | released | | `All` | all |
| `Available` | available |
| `Released` | released |
| - | `Unrecognized<string>` |

View File

@@ -12,8 +12,11 @@ let value: FlattenSeasons = FlattenSeasons.Show;
## Values ## Values
| Name | Value | This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| ---------------- | ---------------- |
| `LibraryDefault` | -1 | | Name | Value |
| `Hide` | 0 | | ---------------------- | ---------------------- |
| `Show` | 1 | | `LibraryDefault` | -1 |
| `Hide` | 0 |
| `Show` | 1 |
| - | `Unrecognized<string>` |

View File

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

View File

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

View File

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

View File

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

View File

@@ -5,38 +5,7 @@
```typescript ```typescript
import { GetActorsLibraryResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { GetActorsLibraryResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetActorsLibraryResponse = { let value: GetActorsLibraryResponse = {};
contentType: "<value>",
statusCode: 300,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 50,
allowSync: false,
art: "/:/resources/show-fanart.jpg",
identifier: "com.plexapp.plugins.library",
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1734362201,
nocache: true,
thumb: "/:/resources/show.png",
title1: "TV Series",
title2: "By Starring Actor",
viewGroup: "secondary",
viewMode: "131131",
directory: [
{
fastKey: "/library/sections/2/all?actor=134671",
thumb:
"https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg",
key: "134671",
title: "Aaron Paul",
},
],
},
},
};
``` ```
## Fields ## Fields

View File

@@ -3,60 +3,55 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllLibrariesDirectory } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllLibrariesDirectory, GetAllLibrariesType, Hidden } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllLibrariesDirectory = { let value: GetAllLibrariesDirectory = {
allowSync: true, allowSync: false,
art: "/:/resources/movie-fanart.jpg", art: "/:/resources/show-fanart.jpg",
composite: "/library/sections/1/composite/1705615584", composite: "/library/sections/1/composite/1743824484",
filters: true, filters: true,
refreshing: false, refreshing: true,
thumb: "/:/resources/movie.png", thumb: "/:/resources/show.png",
key: "1", key: "1",
type: "movie", type: GetAllLibrariesType.Movie,
title: "Movies", title: "Movies",
agent: "tv.plex.agents.movie", agent: "tv.plex.agents.movie",
scanner: "Plex Movie", scanner: "Plex Movie",
language: "en-US", language: "en-US",
uuid: "322a231a-b7f7-49f5-920f-14c61199cd30", uuid: "e69655a2-ef48-4aba-bb19-01e7d3cc34d6",
updatedAt: 1556281940, updatedAt: 1556281940,
createdAt: 1556281940, createdAt: 1556281940,
scannedAt: 1556281940, scannedAt: 1556281940,
content: true, content: true,
directory: true, directory: true,
contentChangedAt: 1556281940, contentChangedAt: 9173960,
hidden: 0, hidden: Hidden.ExcludeHomeScreen,
location: [ location: [],
{
id: 1,
path: "/movies",
},
],
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `allowSync` | *boolean* | :heavy_check_mark: | N/A | true | | `allowSync` | *boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `art` | *string* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | | `art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `composite` | *string* | :heavy_check_mark: | N/A | /library/sections/1/composite/1705615584 | | `composite` | *string* | :heavy_check_mark: | The relative path to the composite media item. | /library/sections/1/composite/1743824484 |
| `filters` | *boolean* | :heavy_check_mark: | N/A | true | | `filters` | *boolean* | :heavy_check_mark: | UNKNOWN | true |
| `refreshing` | *boolean* | :heavy_check_mark: | N/A | false | | `refreshing` | *boolean* | :heavy_check_mark: | Indicates whether the library is currently being refreshed or updated | true |
| `thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/movie.png | | `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `key` | *string* | :heavy_check_mark: | N/A | 1 | | `key` | *string* | :heavy_check_mark: | The library key representing the unique identifier | 1 |
| `type` | *string* | :heavy_check_mark: | N/A | movie | | `type` | [operations.GetAllLibrariesType](../../../sdk/models/operations/getalllibrariestype.md) | :heavy_check_mark: | N/A | movie |
| `title` | *string* | :heavy_check_mark: | N/A | Movies | | `title` | *string* | :heavy_check_mark: | The title of the library | Movies |
| `agent` | *string* | :heavy_check_mark: | N/A | tv.plex.agents.movie | | `agent` | *string* | :heavy_check_mark: | The Plex agent used to match and retrieve media metadata. | tv.plex.agents.movie |
| `scanner` | *string* | :heavy_check_mark: | N/A | Plex Movie | | `scanner` | *string* | :heavy_check_mark: | UNKNOWN | Plex Movie |
| `language` | *string* | :heavy_check_mark: | N/A | en-US | | `language` | *string* | :heavy_check_mark: | The Plex library language that has been set | en-US |
| `uuid` | *string* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | | `uuid` | *string* | :heavy_check_mark: | The universally unique identifier for the library. | e69655a2-ef48-4aba-bb19-01e7d3cc34d6 |
| `updatedAt` | *number* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `updatedAt` | *number* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `createdAt` | *number* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `createdAt` | *number* | :heavy_minus_sign: | N/A | 1556281940 |
| `scannedAt` | *number* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `scannedAt` | *number* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `content` | *boolean* | :heavy_check_mark: | N/A | true | | `content` | *boolean* | :heavy_check_mark: | UNKNOWN | true |
| `directory` | *boolean* | :heavy_check_mark: | N/A | true | | `directory` | *boolean* | :heavy_check_mark: | UNKNOWN | true |
| `contentChangedAt` | *number* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `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` | *number* | :heavy_check_mark: | N/A | 0 | | `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 | | | `location` | [operations.GetAllLibrariesLocation](../../../sdk/models/operations/getalllibrarieslocation.md)[] | :heavy_check_mark: | N/A | |

View File

@@ -7,13 +7,13 @@ import { GetAllLibrariesLocation } from "@lukehagar/plexjs/sdk/models/operations
let value: GetAllLibrariesLocation = { let value: GetAllLibrariesLocation = {
id: 1, id: 1,
path: "/movies", path: "/Movies",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | | --------------------------- | --------------------------- | --------------------------- | --------------------------- | --------------------------- |
| `id` | *number* | :heavy_check_mark: | N/A | 1 | | `id` | *number* | :heavy_check_mark: | The ID of the location. | 1 |
| `path` | *string* | :heavy_check_mark: | N/A | /movies | | `path` | *string* | :heavy_check_mark: | The path to the media item. | /Movies |

View File

@@ -3,38 +3,38 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllLibrariesMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllLibrariesMediaContainer, GetAllLibrariesType, Hidden } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllLibrariesMediaContainer = { let value: GetAllLibrariesMediaContainer = {
size: 5, size: 50,
allowSync: false, allowSync: false,
title1: "Plex Library", title1: "TV Series",
directory: [ directory: [
{ {
allowSync: true, allowSync: false,
art: "/:/resources/movie-fanart.jpg", art: "/:/resources/show-fanart.jpg",
composite: "/library/sections/1/composite/1705615584", composite: "/library/sections/1/composite/1743824484",
filters: true, filters: true,
refreshing: false, refreshing: true,
thumb: "/:/resources/movie.png", thumb: "/:/resources/show.png",
key: "1", key: "1",
type: "movie", type: GetAllLibrariesType.Movie,
title: "Movies", title: "Movies",
agent: "tv.plex.agents.movie", agent: "tv.plex.agents.movie",
scanner: "Plex Movie", scanner: "Plex Movie",
language: "en-US", language: "en-US",
uuid: "322a231a-b7f7-49f5-920f-14c61199cd30", uuid: "e69655a2-ef48-4aba-bb19-01e7d3cc34d6",
updatedAt: 1556281940, updatedAt: 1556281940,
createdAt: 1556281940, createdAt: 1556281940,
scannedAt: 1556281940, scannedAt: 1556281940,
content: true, content: true,
directory: true, directory: true,
contentChangedAt: 1556281940, contentChangedAt: 9173960,
hidden: 0, hidden: Hidden.ExcludeHomeScreen,
location: [ location: [
{ {
id: 1, id: 1,
path: "/movies", path: "/Movies",
}, },
], ],
}, },
@@ -46,7 +46,7 @@ let value: GetAllLibrariesMediaContainer = {
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `size` | *number* | :heavy_check_mark: | N/A | 5 | | `size` | *number* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `allowSync` | *boolean* | :heavy_check_mark: | N/A | false | | `allowSync` | *boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `title1` | *string* | :heavy_check_mark: | N/A | Plex Library | | `title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
| `directory` | [operations.GetAllLibrariesDirectory](../../../sdk/models/operations/getalllibrariesdirectory.md)[] | :heavy_check_mark: | N/A | | | `directory` | [operations.GetAllLibrariesDirectory](../../../sdk/models/operations/getalllibrariesdirectory.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -5,50 +5,7 @@
```typescript ```typescript
import { GetAllLibrariesResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllLibrariesResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllLibrariesResponse = { let value: GetAllLibrariesResponse = {};
contentType: "<value>",
statusCode: 508,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 5,
allowSync: false,
title1: "Plex Library",
directory: [
{
allowSync: true,
art: "/:/resources/movie-fanart.jpg",
composite: "/library/sections/1/composite/1705615584",
filters: true,
refreshing: false,
thumb: "/:/resources/movie.png",
key: "1",
type: "movie",
title: "Movies",
agent: "tv.plex.agents.movie",
scanner: "Plex Movie",
language: "en-US",
uuid: "322a231a-b7f7-49f5-920f-14c61199cd30",
updatedAt: 1556281940,
createdAt: 1556281940,
scannedAt: 1556281940,
content: true,
directory: true,
contentChangedAt: 1556281940,
hidden: 0,
location: [
{
id: 1,
path: "/movies",
},
],
},
],
},
},
};
``` ```
## Fields ## Fields

View File

@@ -5,39 +5,39 @@ The libraries available on the Server
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllLibrariesResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllLibrariesResponseBody, GetAllLibrariesType, Hidden } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllLibrariesResponseBody = { let value: GetAllLibrariesResponseBody = {
mediaContainer: { mediaContainer: {
size: 5, size: 50,
allowSync: false, allowSync: false,
title1: "Plex Library", title1: "TV Series",
directory: [ directory: [
{ {
allowSync: true, allowSync: false,
art: "/:/resources/movie-fanart.jpg", art: "/:/resources/show-fanart.jpg",
composite: "/library/sections/1/composite/1705615584", composite: "/library/sections/1/composite/1743824484",
filters: true, filters: true,
refreshing: false, refreshing: true,
thumb: "/:/resources/movie.png", thumb: "/:/resources/show.png",
key: "1", key: "1",
type: "movie", type: GetAllLibrariesType.Movie,
title: "Movies", title: "Movies",
agent: "tv.plex.agents.movie", agent: "tv.plex.agents.movie",
scanner: "Plex Movie", scanner: "Plex Movie",
language: "en-US", language: "en-US",
uuid: "322a231a-b7f7-49f5-920f-14c61199cd30", uuid: "e69655a2-ef48-4aba-bb19-01e7d3cc34d6",
updatedAt: 1556281940, updatedAt: 1556281940,
createdAt: 1556281940, createdAt: 1556281940,
scannedAt: 1556281940, scannedAt: 1556281940,
content: true, content: true,
directory: true, directory: true,
contentChangedAt: 1556281940, contentChangedAt: 9173960,
hidden: 0, hidden: Hidden.ExcludeHomeScreen,
location: [ location: [
{ {
id: 1, id: 1,
path: "/movies", path: "/Movies",
}, },
], ],
}, },
@@ -50,4 +50,4 @@ let value: GetAllLibrariesResponseBody = {
| Field | Type | Required | Description | | Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `mediaContainer` | [operations.GetAllLibrariesMediaContainer](../../../sdk/models/operations/getalllibrariesmediacontainer.md) | :heavy_check_mark: | N/A | | `mediaContainer` | [operations.GetAllLibrariesMediaContainer](../../../sdk/models/operations/getalllibrariesmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

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

View File

@@ -1,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

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

View File

@@ -5,49 +5,7 @@
```typescript ```typescript
import { GetBandwidthStatisticsResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { GetBandwidthStatisticsResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetBandwidthStatisticsResponse = { let value: GetBandwidthStatisticsResponse = {};
contentType: "<value>",
statusCode: 205,
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,
},
],
},
},
};
``` ```
## Fields ## Fields

View File

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

View File

@@ -5,23 +5,7 @@
```typescript ```typescript
import { GetCompanionsDataResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { GetCompanionsDataResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetCompanionsDataResponse = { let value: GetCompanionsDataResponse = {};
contentType: "<value>",
statusCode: 308,
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>",
},
],
};
``` ```
## Fields ## Fields

View File

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

View File

@@ -5,36 +5,7 @@
```typescript ```typescript
import { GetCountriesLibraryResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { GetCountriesLibraryResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetCountriesLibraryResponse = { 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",
},
],
},
},
};
``` ```
## Fields ## Fields

View File

@@ -5,27 +5,7 @@
```typescript ```typescript
import { GetDevicesResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { GetDevicesResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetDevicesResponse = { let value: GetDevicesResponse = {};
contentType: "<value>",
statusCode: 308,
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,
},
],
},
},
};
``` ```
## Fields ## Fields

View File

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

View File

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

View File

@@ -5,37 +5,7 @@
```typescript ```typescript
import { GetGenresLibraryResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { GetGenresLibraryResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetGenresLibraryResponse = { let value: GetGenresLibraryResponse = {};
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",
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",
},
],
},
},
};
``` ```
## Fields ## Fields

View File

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

View File

@@ -5,23 +5,7 @@
```typescript ```typescript
import { GetGeoDataResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { GetGeoDataResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetGeoDataResponse = { let value: GetGeoDataResponse = {};
contentType: "<value>",
statusCode: 102,
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",
},
};
``` ```
## Fields ## Fields

View File

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

View File

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

View File

@@ -12,7 +12,7 @@ let value: GetLibraryDetailsRequest = {
## Fields ## Fields
| Field | Type | Required | Description | Example | | 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/> | | | `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 | | `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

@@ -5,84 +5,7 @@
```typescript ```typescript
import { GetLibraryDetailsResponse } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryDetailsResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryDetailsResponse = { let value: GetLibraryDetailsResponse = {};
contentType: "<value>",
statusCode: 103,
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",
},
],
},
],
},
},
};
``` ```
## Fields ## Fields

View File

@@ -6,7 +6,7 @@
import { GetLibraryHubsRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryHubsRequest } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryHubsRequest = { let value: GetLibraryHubsRequest = {
sectionId: 2900.77, sectionId: 7247.75,
}; };
``` ```

View File

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

View File

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

View File

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

View File

@@ -11,9 +11,12 @@ let value: GetLibraryItemsLibraryResponse200Type =
## Values ## Values
| Name | Value | This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| ------------- | ------------- |
| `CoverPoster` | coverPoster | | Name | Value |
| `Background` | background | | ---------------------- | ---------------------- |
| `Snapshot` | snapshot | | `CoverPoster` | coverPoster |
| `ClearLogo` | clearLogo | | `Background` | background |
| `Snapshot` | snapshot |
| `ClearLogo` | clearLogo |
| - | `Unrecognized<string>` |

View File

@@ -1,6 +1,6 @@
# GetLibraryItemsLibraryType # GetLibraryItemsLibraryType
The type of media content The type of media content in the Plex library. This can represent videos, music, or photos.
## Example Usage ## Example Usage
@@ -13,11 +13,18 @@ let value: GetLibraryItemsLibraryType = GetLibraryItemsLibraryType.Movie;
## Values ## Values
| Name | Value | This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| --------- | --------- |
| `Movie` | movie | | Name | Value |
| `TvShow` | show | | ---------------------- | ---------------------- |
| `Season` | season | | `Movie` | movie |
| `Episode` | episode | | `TvShow` | show |
| `Artist` | artist | | `Season` | season |
| `Album` | album | | `Episode` | episode |
| `Artist` | artist |
| `Album` | album |
| `Track` | track |
| `PhotoAlbum` | photoalbum |
| `Photo` | photo |
| `Collection` | collection |
| - | `Unrecognized<string>` |

View File

@@ -3,7 +3,7 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetLibraryItemsMedia } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryItemsMedia, GetLibraryItemsOptimizedForStreaming } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsMedia = { let value: GetLibraryItemsMedia = {
id: 119534, id: 119534,
@@ -21,65 +21,9 @@ let value: GetLibraryItemsMedia = {
videoFrameRate: "24p", videoFrameRate: "24p",
videoProfile: "main 10", videoProfile: "main 10",
hasVoiceActivity: false, hasVoiceActivity: false,
optimizedForStreaming: GetLibraryItemsOptimizedForStreaming.Enable,
has64bitOffsets: false, has64bitOffsets: false,
part: [ part: [],
{
id: 119542,
key: "/library/parts/119542/1680457526/file.mkv",
duration: 11558112,
file:
"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
size: 36158371307,
container: "mkv",
audioProfile: "dts",
has64bitOffsets: false,
optimizedForStreaming: false,
videoProfile: "main 10",
indexes: "sd",
stream: [
{
id: 272796,
streamType: 1,
default: true,
selected: true,
codec: "h264",
index: 0,
bitrate: 6273,
colorPrimaries: "bt709",
colorRange: "tv",
colorSpace: "bt709",
colorTrc: "bt709",
bitDepth: 8,
chromaLocation: "left",
streamIdentifier: "2",
chromaSubsampling: "4:2:0",
codedHeight: 1088,
codedWidth: 1920,
frameRate: 29.97,
hasScalingMatrix: false,
hearingImpaired: false,
closedCaptions: false,
embeddedInVideo: "1",
height: 1080,
level: 40,
profile: "main",
refFrames: 4,
scanType: "progressive",
width: 1920,
displayTitle: "1080p (H.264)",
extendedDisplayTitle: "1080p (H.264)",
channels: 2,
language: "English",
languageTag: "en",
languageCode: "eng",
audioChannelLayout: "stereo",
samplingRate: 48000,
title: "English",
canAutoSync: false,
},
],
},
],
}; };
``` ```

View File

@@ -13,6 +13,7 @@ import {
GetLibraryItemsLibraryResponse200Type, GetLibraryItemsLibraryResponse200Type,
GetLibraryItemsLibraryType, GetLibraryItemsLibraryType,
GetLibraryItemsMediaContainer, GetLibraryItemsMediaContainer,
GetLibraryItemsOptimizedForStreaming,
ShowOrdering, ShowOrdering,
} from "@lukehagar/plexjs/sdk/models/operations"; } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -58,12 +59,7 @@ let value: GetLibraryItemsMediaContainer = {
fieldType: [ fieldType: [
{ {
type: "tag", type: "tag",
operator: [ operator: [],
{
key: "=",
title: "is",
},
],
}, },
], ],
size: 70, size: 70,
@@ -148,65 +144,9 @@ let value: GetLibraryItemsMediaContainer = {
videoFrameRate: "24p", videoFrameRate: "24p",
videoProfile: "main 10", videoProfile: "main 10",
hasVoiceActivity: false, hasVoiceActivity: false,
optimizedForStreaming: GetLibraryItemsOptimizedForStreaming.Enable,
has64bitOffsets: false, has64bitOffsets: false,
part: [ part: [],
{
id: 119542,
key: "/library/parts/119542/1680457526/file.mkv",
duration: 11558112,
file:
"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
size: 36158371307,
container: "mkv",
audioProfile: "dts",
has64bitOffsets: false,
optimizedForStreaming: false,
videoProfile: "main 10",
indexes: "sd",
stream: [
{
id: 272796,
streamType: 1,
default: true,
selected: true,
codec: "h264",
index: 0,
bitrate: 6273,
colorPrimaries: "bt709",
colorRange: "tv",
colorSpace: "bt709",
colorTrc: "bt709",
bitDepth: 8,
chromaLocation: "left",
streamIdentifier: "2",
chromaSubsampling: "4:2:0",
codedHeight: 1088,
codedWidth: 1920,
frameRate: 29.97,
hasScalingMatrix: false,
hearingImpaired: false,
closedCaptions: false,
embeddedInVideo: "1",
height: 1080,
level: 40,
profile: "main",
refFrames: 4,
scanType: "progressive",
width: 1920,
displayTitle: "1080p (H.264)",
extendedDisplayTitle: "1080p (H.264)",
channels: 2,
language: "English",
languageTag: "en",
languageCode: "eng",
audioChannelLayout: "stereo",
samplingRate: 48000,
title: "English",
canAutoSync: false,
},
],
},
],
}, },
], ],
genre: [ genre: [
@@ -338,12 +278,7 @@ let value: GetLibraryItemsMediaContainer = {
fieldType: [ fieldType: [
{ {
type: "tag", type: "tag",
operator: [ operator: [],
{
key: "=",
title: "is",
},
],
}, },
], ],
}, },

View File

@@ -47,12 +47,7 @@ let value: GetLibraryItemsMeta = {
fieldType: [ fieldType: [
{ {
type: "tag", type: "tag",
operator: [ operator: [],
{
key: "=",
title: "is",
},
],
}, },
], ],
}; };

View File

@@ -10,6 +10,7 @@ import {
GetLibraryItemsLibraryResponse200Type, GetLibraryItemsLibraryResponse200Type,
GetLibraryItemsLibraryType, GetLibraryItemsLibraryType,
GetLibraryItemsMetadata, GetLibraryItemsMetadata,
GetLibraryItemsOptimizedForStreaming,
ShowOrdering, ShowOrdering,
} from "@lukehagar/plexjs/sdk/models/operations"; } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -75,65 +76,9 @@ let value: GetLibraryItemsMetadata = {
videoFrameRate: "24p", videoFrameRate: "24p",
videoProfile: "main 10", videoProfile: "main 10",
hasVoiceActivity: false, hasVoiceActivity: false,
optimizedForStreaming: GetLibraryItemsOptimizedForStreaming.Enable,
has64bitOffsets: false, has64bitOffsets: false,
part: [ part: [],
{
id: 119542,
key: "/library/parts/119542/1680457526/file.mkv",
duration: 11558112,
file:
"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
size: 36158371307,
container: "mkv",
audioProfile: "dts",
has64bitOffsets: false,
optimizedForStreaming: false,
videoProfile: "main 10",
indexes: "sd",
stream: [
{
id: 272796,
streamType: 1,
default: true,
selected: true,
codec: "h264",
index: 0,
bitrate: 6273,
colorPrimaries: "bt709",
colorRange: "tv",
colorSpace: "bt709",
colorTrc: "bt709",
bitDepth: 8,
chromaLocation: "left",
streamIdentifier: "2",
chromaSubsampling: "4:2:0",
codedHeight: 1088,
codedWidth: 1920,
frameRate: 29.97,
hasScalingMatrix: false,
hearingImpaired: false,
closedCaptions: false,
embeddedInVideo: "1",
height: 1080,
level: 40,
profile: "main",
refFrames: 4,
scanType: "progressive",
width: 1920,
displayTitle: "1080p (H.264)",
extendedDisplayTitle: "1080p (H.264)",
channels: 2,
language: "English",
languageTag: "en",
languageCode: "eng",
audioChannelLayout: "stereo",
samplingRate: 48000,
title: "English",
canAutoSync: false,
},
],
},
],
}, },
], ],
genre: [ genre: [
@@ -239,7 +184,7 @@ let value: GetLibraryItemsMetadata = {
| `librarySectionID` | *number* | :heavy_minus_sign: | N/A | 1 | | `librarySectionID` | *number* | :heavy_minus_sign: | N/A | 1 |
| `librarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | | `librarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies |
| `librarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | | `librarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 |
| `type` | [operations.GetLibraryItemsLibraryType](../../../sdk/models/operations/getlibraryitemslibrarytype.md) | :heavy_check_mark: | The type of media content<br/> | movie | | `type` | [operations.GetLibraryItemsLibraryType](../../../sdk/models/operations/getlibraryitemslibrarytype.md) | :heavy_check_mark: | The type of media content in the Plex library. This can represent videos, music, or photos.<br/> | movie |
| `title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water | | `title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water |
| `slug` | *string* | :heavy_minus_sign: | N/A | 4-for-texas | | `slug` | *string* | :heavy_minus_sign: | N/A | 4-for-texas |
| `contentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | | `contentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 |

View File

@@ -3,7 +3,7 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetLibraryItemsPart } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryItemsHasThumbnail, GetLibraryItemsPart } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsPart = { let value: GetLibraryItemsPart = {
id: 119542, id: 119542,
@@ -18,6 +18,7 @@ let value: GetLibraryItemsPart = {
optimizedForStreaming: false, optimizedForStreaming: false,
videoProfile: "main 10", videoProfile: "main 10",
indexes: "sd", indexes: "sd",
hasThumbnail: GetLibraryItemsHasThumbnail.True,
stream: [ stream: [
{ {
id: 272796, id: 272796,

View File

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

View File

@@ -3,12 +3,20 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetLibraryItemsQueryParamType, GetLibraryItemsRequest, Tag } from "@lukehagar/plexjs/sdk/models/operations"; import {
GetLibraryItemsQueryParamIncludeMeta,
GetLibraryItemsQueryParamType,
GetLibraryItemsRequest,
IncludeGuids,
Tag,
} from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsRequest = { let value: GetLibraryItemsRequest = {
tag: Tag.FirstCharacter, tag: Tag.OnDeck,
includeGuids: IncludeGuids.Enable,
type: GetLibraryItemsQueryParamType.TvShow, type: GetLibraryItemsQueryParamType.TvShow,
sectionKey: 9518, sectionKey: 9518,
includeMeta: GetLibraryItemsQueryParamIncludeMeta.Enable,
}; };
``` ```

View File

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

View File

@@ -11,6 +11,7 @@ import {
FlattenSeasons, FlattenSeasons,
GetLibraryItemsLibraryResponse200Type, GetLibraryItemsLibraryResponse200Type,
GetLibraryItemsLibraryType, GetLibraryItemsLibraryType,
GetLibraryItemsOptimizedForStreaming,
GetLibraryItemsResponseBody, GetLibraryItemsResponseBody,
ShowOrdering, ShowOrdering,
} from "@lukehagar/plexjs/sdk/models/operations"; } from "@lukehagar/plexjs/sdk/models/operations";
@@ -58,12 +59,7 @@ let value: GetLibraryItemsResponseBody = {
fieldType: [ fieldType: [
{ {
type: "tag", type: "tag",
operator: [ operator: [],
{
key: "=",
title: "is",
},
],
}, },
], ],
size: 70, size: 70,
@@ -148,65 +144,9 @@ let value: GetLibraryItemsResponseBody = {
videoFrameRate: "24p", videoFrameRate: "24p",
videoProfile: "main 10", videoProfile: "main 10",
hasVoiceActivity: false, hasVoiceActivity: false,
optimizedForStreaming: GetLibraryItemsOptimizedForStreaming.Enable,
has64bitOffsets: false, has64bitOffsets: false,
part: [ part: [],
{
id: 119542,
key: "/library/parts/119542/1680457526/file.mkv",
duration: 11558112,
file:
"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
size: 36158371307,
container: "mkv",
audioProfile: "dts",
has64bitOffsets: false,
optimizedForStreaming: false,
videoProfile: "main 10",
indexes: "sd",
stream: [
{
id: 272796,
streamType: 1,
default: true,
selected: true,
codec: "h264",
index: 0,
bitrate: 6273,
colorPrimaries: "bt709",
colorRange: "tv",
colorSpace: "bt709",
colorTrc: "bt709",
bitDepth: 8,
chromaLocation: "left",
streamIdentifier: "2",
chromaSubsampling: "4:2:0",
codedHeight: 1088,
codedWidth: 1920,
frameRate: 29.97,
hasScalingMatrix: false,
hearingImpaired: false,
closedCaptions: false,
embeddedInVideo: "1",
height: 1080,
level: 40,
profile: "main",
refFrames: 4,
scanType: "progressive",
width: 1920,
displayTitle: "1080p (H.264)",
extendedDisplayTitle: "1080p (H.264)",
channels: 2,
language: "English",
languageTag: "en",
languageCode: "eng",
audioChannelLayout: "stereo",
samplingRate: 48000,
title: "English",
canAutoSync: false,
},
],
},
],
}, },
], ],
genre: [ genre: [
@@ -338,12 +278,7 @@ let value: GetLibraryItemsResponseBody = {
fieldType: [ fieldType: [
{ {
type: "tag", type: "tag",
operator: [ operator: [],
{
key: "=",
title: "is",
},
],
}, },
], ],
}, },

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