Compare commits

...

16 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
speakeasybot
650c5043ef ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.526.6 2025-03-31 16:33:24 +00:00
Luke Hagar
0234804578 correcting label override key value 2025-03-31 11:30:53 -05:00
Luke Hagar
60d913c8f9 adjusting codesample labels 2025-03-28 16:58:29 -05:00
speakeasybot
8d9f4bbaf1 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.513.4 2025-03-09 00:10:48 +00:00
speakeasybot
5d57cd7c34 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.513.2 2025-03-07 00:11:26 +00:00
speakeasybot
1a8e227874 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.487.1 2025-02-10 00:11:39 +00:00
498 changed files with 23044 additions and 13937 deletions

6
.gitignore vendored
View File

@@ -1,3 +1,9 @@
.DS_Store
**/.speakeasy/temp/
**/.speakeasy/logs/
.DS_Store
/mcp-server
/bin
/.eslintcache
/.speakeasy/reports
/react-query

View File

@@ -4,6 +4,7 @@
!/REACT_QUERY.md
!/**/*.ts
!/**/*.js
!/**/*.mjs
!/**/*.json
!/**/*.map

File diff suppressed because one or more lines are too long

View File

@@ -4,16 +4,20 @@ generation:
maintainOpenAPIOrder: true
usageSnippets:
optionalPropertyRendering: withExample
sdkInitStyle: constructor
useClassNamesForArrayFields: true
fixes:
nameResolutionDec2023: true
nameResolutionFeb2025: false
parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true
securityFeb2025: false
sharedErrorComponentsApr2025: false
auth:
oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false
typescript:
version: 0.33.0
version: 0.38.0
additionalDependencies:
dependencies: {}
devDependencies: {}
@@ -23,6 +27,7 @@ typescript:
clientServerStatusCodesAsErrors: true
defaultErrorName: SDKError
enableCustomCodeRegions: false
enableMCPServer: true
enableReactQuery: false
enumFormat: enum
flattenGlobalSecurity: true
@@ -36,6 +41,7 @@ typescript:
shared: sdk/models/shared
webhooks: sdk/models/webhooks
inputModelSuffix: input
jsonpath: legacy
maxMethodParams: 4
methodArguments: require-security-and-request
moduleFormat: commonjs

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.487.0
speakeasyVersion: 1.555.2
sources:
my-source:
sourceNamespace: my-source
@@ -9,20 +9,20 @@ sources:
- main
plexapi:
sourceNamespace: plexapi
sourceRevisionDigest: sha256:49536684a97842ea7c069f909012b31a22a046d8277aee47b50a334494bf2c64
sourceBlobDigest: sha256:eac671ea32ce31e1e558839153f7effef39bb35b4e461c6e95661d0eaf4ce1c8
sourceRevisionDigest: sha256:78d07ad78ff60d0e9918696208d8c68a562e170d4e9c431797c02995fb8816d0
sourceBlobDigest: sha256:d38dd2a36c1b2fd73409267f7b30c2d5d45d709616141803ea01db424ec68ae4
tags:
- latest
- speakeasy-sdk-regen-1738886999
- speakeasy-sdk-regen-1748995899
- 0.0.3
targets:
plexjs:
source: plexapi
sourceNamespace: plexapi
sourceRevisionDigest: sha256:49536684a97842ea7c069f909012b31a22a046d8277aee47b50a334494bf2c64
sourceBlobDigest: sha256:eac671ea32ce31e1e558839153f7effef39bb35b4e461c6e95661d0eaf4ce1c8
sourceRevisionDigest: sha256:78d07ad78ff60d0e9918696208d8c68a562e170d4e9c431797c02995fb8816d0
sourceBlobDigest: sha256:d38dd2a36c1b2fd73409267f7b30c2d5d45d709616141803ea01db424ec68ae4
codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:cc0edeb64bf898493d4f7f9e628ac369bb39b63de609919e22052c030a54edec
codeSamplesRevisionDigest: sha256:132446d6299798fab8378bc875b16290ef126cdb50befe85a0a88bee8bf35799
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
@@ -43,3 +43,5 @@ workflow:
output: codeSamples.yaml
registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
labelOverride:
fixedValue: PlexJS

View File

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

View File

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

333
README.md
View File

@@ -54,6 +54,7 @@ The following SDKs are generated from the OpenAPI Specification. They are automa
* [Authentication](#authentication)
* [Requirements](#requirements)
* [Standalone functions](#standalone-functions)
* [File uploads](#file-uploads)
* [Retries](#retries)
* [Debugging](#debugging)
* [Development](#development)
@@ -110,7 +111,6 @@ const plexAPI = new PlexAPI({
async function run() {
const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result);
}
@@ -159,6 +159,7 @@ run();
* [getLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
* [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
* [getLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
* [getLibrarySectionsAll](docs/sdks/library/README.md#getlibrarysectionsall) - Get Library section media by tag ALL
* [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
* [getSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library
* [getGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media
@@ -166,9 +167,12 @@ run();
* [getActorsLibrary](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media
* [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
* [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
* [getTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
* [getOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck
### [log](docs/sdks/log/README.md)
@@ -263,59 +267,46 @@ run();
<!-- Start Error Handling [errors] -->
## Error Handling
Some methods specify known errors which can be thrown. All the known errors are enumerated in the `sdk/models/errors/errors.ts` module. The known errors for a method are documented under the *Errors* tables in SDK docs. For example, the `getServerCapabilities` method may throw the following errors:
This table shows properties which are common on error classes. For full details see [error classes](#error-classes).
| Error Type | Status Code | Content Type |
| ---------------------------------------- | ----------- | ---------------- |
| errors.GetServerCapabilitiesBadRequest | 400 | application/json |
| errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
| errors.SDKError | 4XX, 5XX | \*/\* |
If the method throws an error and it is not captured by the known errors, it will default to throwing a `SDKError`.
| Property | Type | Description |
| ------------------- | ---------- | --------------------------------------------------------------------------------------- |
| `error.name` | `string` | Error class name eg `SDKError` |
| `error.message` | `string` | Error message |
| `error.statusCode` | `number` | HTTP status code eg `404` |
| `error.contentType` | `string` | HTTP content type eg `application/json` |
| `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
import { PlexAPI } from "@lukehagar/plexjs";
import {
GetServerCapabilitiesBadRequest,
GetServerCapabilitiesUnauthorized,
SDKValidationError,
} from "@lukehagar/plexjs/sdk/models/errors";
import * as errors from "@lukehagar/plexjs/sdk/models/errors";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
});
async function run() {
let result;
try {
result = await plexAPI.server.getServerCapabilities();
const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result);
} catch (err) {
switch (true) {
// The server response does not match the expected SDK schema
case (err instanceof SDKValidationError): {
// Pretty-print will provide a human-readable multi-line error message
console.error(err.pretty());
// Raw value may also be inspected
console.error(err.rawValue);
return;
}
case (err instanceof GetServerCapabilitiesBadRequest): {
// Handle err.data$: GetServerCapabilitiesBadRequestData
console.error(err);
return;
}
case (err instanceof GetServerCapabilitiesUnauthorized): {
// Handle err.data$: GetServerCapabilitiesUnauthorizedData
console.error(err);
return;
}
default: {
// Other errors such as network errors, see HTTPClientErrors for more details
throw err;
}
} catch (error) {
// Depending on the method different errors may be thrown
if (error instanceof errors.GetServerCapabilitiesBadRequest) {
console.log(error.message);
console.log(error.data$.errors); // Errors[]
console.log(error.data$.rawResponse); // Response
}
// Fallback error class, if no other more specific error class is matched
if (error instanceof errors.SDKError) {
console.log(error.message);
console.log(error.statusCode);
console.log(error.body);
console.log(error.rawResponse.headers);
}
}
}
@@ -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 |
| ---------------------------------------------------- | ---------------------------------------------------- |
| RequestAbortedError | HTTP request was aborted by the client |
| RequestTimeoutError | HTTP request timed out due to an AbortSignal signal |
| ConnectionError | HTTP client was unable to make a request to a server |
| InvalidRequestError | Any input used to create a request is invalid |
| UnexpectedClientError | Unrecognised or unexpected error |
* [`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.*
* [`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.*
* [`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.*
* [`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.*
* [`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.*
* [`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] -->
<!-- Start Server Selection [server] -->
@@ -343,13 +495,38 @@ In some rare cases, the SDK can fail to get a response from the server or even m
### Server Variables
The default server `{protocol}://{ip}:{port}` contains variables and is set to `https://10.10.10.47:32400` by default. To override default values, the following parameters are available when initializing the SDK client instance:
* `protocol: models.ServerProtocol`
* `ip: string`
* `port: string`
| Variable | Parameter | Supported Values | Default | Description |
| ---------- | --------------------------------- | -------------------------- | --------------- | ---------------------------------------------- |
| `protocol` | `protocol: models.ServerProtocol` | - `"http"`<br/>- `"https"` | `"https"` | The protocol to use for the server connection |
| `ip` | `ip: string` | string | `"10.10.10.47"` | The IP address or hostname of your Plex Server |
| `port` | `port: string` | string | `"32400"` | The port of your Plex Server |
#### Example
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
protocol: "https",
ip: "4982:bc2a:b4f8:efb5:2394:5bc3:ab4f:0e6d",
port: "44765",
accessToken: "<YOUR_API_KEY_HERE>",
});
async function run() {
const result = await plexAPI.server.getServerCapabilities();
console.log(result);
}
run();
```
### Override Server URL Per-Client
The default server can also be overridden globally by passing a URL to the `serverURL: string` optional parameter when initializing the SDK client instance. For example:
The default server can be overridden globally by passing a URL to the `serverURL: string` optional parameter when initializing the SDK client instance. For example:
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
@@ -361,7 +538,6 @@ const plexAPI = new PlexAPI({
async function run() {
const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result);
}
@@ -384,7 +560,6 @@ async function run() {
serverURL: "https://plex.tv/api/v2",
});
// Handle the result
console.log(result);
}
@@ -464,7 +639,6 @@ const plexAPI = new PlexAPI({
async function run() {
const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result);
}
@@ -516,14 +690,18 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
- [`libraryGetGenresLibrary`](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media
- [`libraryGetLibraryDetails`](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
- [`libraryGetLibraryItems`](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
- [`libraryGetLibrarySectionsAll`](docs/sdks/library/README.md#getlibrarysectionsall) - Get Library section media by tag ALL
- [`libraryGetMediaArts`](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork
- [`libraryGetMediaMetaData`](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata
- [`libraryGetMediaPosters`](docs/sdks/library/README.md#getmediaposters) - Get Media Posters
- [`libraryGetMetadataChildren`](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
- [`libraryGetOnDeck`](docs/sdks/library/README.md#getondeck) - Get On Deck
- [`libraryGetRecentlyAddedLibrary`](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added
- [`libraryGetRefreshLibraryMetadata`](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
- [`libraryGetSearchAllLibraries`](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
- [`libraryGetSearchLibrary`](docs/sdks/library/README.md#getsearchlibrary) - Search Library
- [`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
- [`logLogLine`](docs/sdks/log/README.md#logline) - Logging a single line message.
- [`logLogMultiLine`](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message
@@ -578,6 +756,41 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
</details>
<!-- 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] -->
## Retries
@@ -605,7 +818,6 @@ async function run() {
},
});
// Handle the result
console.log(result);
}
@@ -634,7 +846,6 @@ const plexAPI = new PlexAPI({
async function run() {
const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result);
}

View File

@@ -1218,4 +1218,134 @@ Based on:
### Generated
- [typescript v0.33.0] .
### Releases
- [NPM v0.33.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.33.0 - .
- [NPM v0.33.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.33.0 - .
## 2025-02-10 00:10:04
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.487.1 (2.506.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.34.0] .
### Releases
- [NPM v0.34.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.34.0 - .
## 2025-03-07 00:09:55
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.513.2 (2.545.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.0] .
### Releases
- [NPM v0.35.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.0 - .
## 2025-03-09 00:09:12
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.513.4 (2.545.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.1] .
### Releases
- [NPM v0.35.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.1 - .
## 2025-03-31 16:31:46
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.2] .
### Releases
- [NPM v0.35.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.2 - .
## 2025-03-31 19:33:46
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.3] .
### Releases
- [NPM v0.35.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.3 - .
## 2025-03-31 19:42:25
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.4] .
### Releases
- [NPM v0.35.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.4 - .
## 2025-04-03 00:10:29
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.528.1 (2.565.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.36.0] .
### Releases
- [NPM v0.36.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.0 - .
## 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() {
const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result);
}

File diff suppressed because it is too large Load Diff

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 @@
# GetOnDeckErrors
# GetLibrarySectionsAllErrors
## Example Usage
```typescript
import { GetOnDeckErrors } from "@lukehagar/plexjs/sdk/models/errors";
import { GetLibrarySectionsAllErrors } from "@lukehagar/plexjs/sdk/models/errors";
let value: GetOnDeckErrors = {
let value: GetLibrarySectionsAllErrors = {
code: 1000,
message: "X-Plex-Client-Identifier is missing",
status: 400,

View File

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

View File

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

View File

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

View File

@@ -1,18 +0,0 @@
# GetOnDeckUnauthorized
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetOnDeckUnauthorized } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `errors` | [errors.GetOnDeckLibraryErrors](../../../sdk/models/errors/getondecklibraryerrors.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";
let value: AddPlaylistContentsRequest = {
playlistID: 6874.88,
playlistID: 1207.42,
uri: "server://12345/com.plexapp.plugins.library/library/metadata/1",
playQueueID: 123,
};

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,17 +1,23 @@
# Country
The filter query string for country media items.
## Example Usage
```typescript
import { Country } from "@lukehagar/plexjs/sdk/models/operations";
let value: Country = {
id: 259,
tag: "United States of America",
filter: "country=19",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ |
| `tag` | *string* | :heavy_minus_sign: | N/A | United States of America |
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | The unique identifier for the country.<br/>NOTE: This is different for each Plex server and is not globally unique.<br/> | 259 |
| `tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America |
| `filter` | *string* | :heavy_check_mark: | N/A | country=19 |

View File

@@ -7,13 +7,16 @@ type of playlist to create
```typescript
import { CreatePlaylistQueryParamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: CreatePlaylistQueryParamType = CreatePlaylistQueryParamType.Audio;
let value: CreatePlaylistQueryParamType = CreatePlaylistQueryParamType.Photo;
```
## Values
| Name | Value |
| ------- | ------- |
| `Audio` | audio |
| `Video` | video |
| `Photo` | photo |
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Audio` | audio |
| `Video` | video |
| `Photo` | photo |
| - | `Unrecognized<string>` |

View File

@@ -7,9 +7,9 @@ import { CreatePlaylistQueryParamType, CreatePlaylistRequest, Smart } from "@luk
let value: CreatePlaylistRequest = {
title: "<value>",
type: CreatePlaylistQueryParamType.Video,
type: CreatePlaylistQueryParamType.Audio,
smart: Smart.Zero,
uri: "https://humble-confusion.com",
uri: "https://courageous-futon.net",
};
```

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -12,8 +12,11 @@ let value: Filter = Filter.Available;
## Values
| Name | Value |
| ----------- | ----------- |
| `All` | all |
| `Available` | available |
| `Released` | released |
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `All` | all |
| `Available` | available |
| `Released` | released |
| - | `Unrecognized<string>` |

View File

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

View File

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

View File

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

View File

@@ -34,7 +34,7 @@ let value: GetActorsLibraryMediaContainer = {
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `size` | *number* | :heavy_check_mark: | N/A | 50 |
| `size` | *number* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `allowSync` | *boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

@@ -7,16 +7,16 @@ import { GetCountriesLibraryMediaContainer } from "@lukehagar/plexjs/sdk/models/
let value: GetCountriesLibraryMediaContainer = {
size: 50,
identifier: "com.plexapp.plugins.library",
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 Country",
title2: "By Starring Actor",
viewGroup: "secondary",
directory: [
{
@@ -32,18 +32,16 @@ let value: GetCountriesLibraryMediaContainer = {
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `size` | *number* | :heavy_check_mark: | N/A | 50 |
| `offset` | *number* | :heavy_minus_sign: | N/A | |
| `totalSize` | *number* | :heavy_minus_sign: | N/A | |
| `identifier` | *string* | :heavy_check_mark: | N/A | com.plexapp.plugins.library |
| `allowSync` | *boolean* | :heavy_check_mark: | N/A | false |
| `art` | *string* | :heavy_check_mark: | N/A | /:/resources/show-fanart.jpg |
| `content` | *string* | :heavy_check_mark: | N/A | secondary |
| `mediaTagPrefix` | *string* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ |
| `mediaTagVersion` | *number* | :heavy_check_mark: | N/A | 1734362201 |
| `nocache` | *boolean* | :heavy_check_mark: | N/A | true |
| `thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/show.png |
| `title1` | *string* | :heavy_check_mark: | N/A | TV Series |
| `title2` | *string* | :heavy_check_mark: | N/A | By Country |
| `viewGroup` | *string* | :heavy_check_mark: | N/A | secondary |
| `size` | *number* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `allowSync` | *boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `content` | *string* | :heavy_check_mark: | The content type or mode. | secondary |
| `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
| `mediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
| `mediaTagVersion` | *number* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
| `nocache` | *boolean* | :heavy_check_mark: | Specifies whether caching is disabled. | true |
| `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
| `title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
| `viewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
| `directory` | [operations.GetCountriesLibraryDirectory](../../../sdk/models/operations/getcountrieslibrarydirectory.md)[] | :heavy_minus_sign: | N/A | |

View File

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

View File

@@ -5,36 +5,7 @@
```typescript
import { GetCountriesLibraryResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetCountriesLibraryResponse = {
contentType: "<value>",
statusCode: 300,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 50,
identifier: "com.plexapp.plugins.library",
allowSync: false,
art: "/:/resources/show-fanart.jpg",
content: "secondary",
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1734362201,
nocache: true,
thumb: "/:/resources/show.png",
title1: "TV Series",
title2: "By Country",
viewGroup: "secondary",
directory: [
{
fastKey: "/library/sections/2/all?country=15491",
key: "15491",
title: "Japan",
},
],
},
},
};
let value: GetCountriesLibraryResponse = {};
```
## Fields

View File

@@ -10,16 +10,16 @@ import { GetCountriesLibraryResponseBody } from "@lukehagar/plexjs/sdk/models/op
let value: GetCountriesLibraryResponseBody = {
mediaContainer: {
size: 50,
identifier: "com.plexapp.plugins.library",
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 Country",
title2: "By Starring Actor",
viewGroup: "secondary",
directory: [
{

View File

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

View File

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

View File

@@ -7,16 +7,16 @@ import { GetGenresLibraryMediaContainer } from "@lukehagar/plexjs/sdk/models/ope
let value: GetGenresLibraryMediaContainer = {
size: 50,
identifier: "com.plexapp.plugins.library",
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 Shows (Reality)",
title2: "By Genre",
title1: "TV Series",
title2: "By Starring Actor",
viewGroup: "secondary",
directory: [
{
@@ -33,18 +33,16 @@ let value: GetGenresLibraryMediaContainer = {
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `size` | *number* | :heavy_check_mark: | N/A | 50 |
| `offset` | *number* | :heavy_minus_sign: | N/A | |
| `totalSize` | *number* | :heavy_minus_sign: | N/A | |
| `identifier` | *string* | :heavy_check_mark: | N/A | com.plexapp.plugins.library |
| `allowSync` | *boolean* | :heavy_check_mark: | N/A | false |
| `art` | *string* | :heavy_check_mark: | N/A | /:/resources/show-fanart.jpg |
| `content` | *string* | :heavy_check_mark: | N/A | secondary |
| `mediaTagPrefix` | *string* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ |
| `mediaTagVersion` | *number* | :heavy_check_mark: | N/A | 1734362201 |
| `nocache` | *boolean* | :heavy_check_mark: | N/A | true |
| `thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/show.png |
| `title1` | *string* | :heavy_check_mark: | N/A | TV Shows (Reality) |
| `title2` | *string* | :heavy_check_mark: | N/A | By Genre |
| `viewGroup` | *string* | :heavy_check_mark: | N/A | secondary |
| `size` | *number* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `allowSync` | *boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `content` | *string* | :heavy_check_mark: | The content type or mode. | secondary |
| `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
| `mediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ |
| `mediaTagVersion` | *number* | :heavy_check_mark: | The version number for media tags. | 1734362201 |
| `nocache` | *boolean* | :heavy_check_mark: | Specifies whether caching is disabled. | true |
| `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
| `title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor |
| `viewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary |
| `directory` | [operations.GetGenresLibraryDirectory](../../../sdk/models/operations/getgenreslibrarydirectory.md)[] | :heavy_minus_sign: | N/A | |

View File

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

View File

@@ -5,37 +5,7 @@
```typescript
import { GetGenresLibraryResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetGenresLibraryResponse = {
contentType: "<value>",
statusCode: 506,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 50,
identifier: "com.plexapp.plugins.library",
allowSync: false,
art: "/:/resources/show-fanart.jpg",
content: "secondary",
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1734362201,
nocache: true,
thumb: "/:/resources/show.png",
title1: "TV Shows (Reality)",
title2: "By Genre",
viewGroup: "secondary",
directory: [
{
fastKey: "/library/sections/10/all?genre=89",
key: "89",
title: "Action",
type: "genre",
},
],
},
},
};
let value: GetGenresLibraryResponse = {};
```
## Fields

View File

@@ -10,16 +10,16 @@ import { GetGenresLibraryResponseBody } from "@lukehagar/plexjs/sdk/models/opera
let value: GetGenresLibraryResponseBody = {
mediaContainer: {
size: 50,
identifier: "com.plexapp.plugins.library",
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 Shows (Reality)",
title2: "By Genre",
title1: "TV Series",
title2: "By Starring Actor",
viewGroup: "secondary",
directory: [
{

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
# GetLibraryItemsLibraryType
The type of media content
The type of media content in the Plex library. This can represent videos, music, or photos.
## Example Usage
@@ -13,9 +13,18 @@ let value: GetLibraryItemsLibraryType = GetLibraryItemsLibraryType.Movie;
## Values
| Name | Value |
| --------- | --------- |
| `Movie` | movie |
| `TvShow` | show |
| `Season` | season |
| `Episode` | episode |
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

@@ -3,7 +3,7 @@
## Example Usage
```typescript
import { GetLibraryItemsMedia } from "@lukehagar/plexjs/sdk/models/operations";
import { GetLibraryItemsMedia, GetLibraryItemsOptimizedForStreaming } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsMedia = {
id: 119534,
@@ -21,65 +21,9 @@ let value: GetLibraryItemsMedia = {
videoFrameRate: "24p",
videoProfile: "main 10",
hasVoiceActivity: false,
optimizedForStreaming: GetLibraryItemsOptimizedForStreaming.Enable,
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,
},
],
},
],
part: [],
};
```

View File

@@ -7,13 +7,14 @@ The Meta object is only included in the response if the `includeMeta` parameter
```typescript
import {
GetLibraryItemsEnableCreditsMarkerGeneration,
GetLibraryItemsEpisodeSort,
GetLibraryItemsFlattenSeasons,
EnableCreditsMarkerGeneration,
EpisodeSort,
FlattenSeasons,
GetLibraryItemsLibraryResponse200Type,
GetLibraryItemsLibraryType,
GetLibraryItemsMediaContainer,
GetLibraryItemsShowOrdering,
GetLibraryItemsOptimizedForStreaming,
ShowOrdering,
} from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -21,7 +22,8 @@ let value: GetLibraryItemsMediaContainer = {
type: [
{
key: "/library/sections/2/all?type=2",
type: "show",
type: "filter",
subtype: "clip",
title: "TV Shows",
active: false,
filter: [
@@ -31,6 +33,7 @@ let value: GetLibraryItemsMediaContainer = {
key: "/library/sections/2/genre?type=2",
title: "Genre",
type: "filter",
advanced: true,
},
],
sort: [
@@ -56,12 +59,7 @@ let value: GetLibraryItemsMediaContainer = {
fieldType: [
{
type: "tag",
operator: [
{
key: "=",
title: "is",
},
],
operator: [],
},
],
size: 70,
@@ -104,11 +102,11 @@ let value: GetLibraryItemsMediaContainer = {
year: 2022,
seasonCount: 2022,
tagline: "Return to Pandora.",
flattenSeasons: GetLibraryItemsFlattenSeasons.Show,
episodeSort: GetLibraryItemsEpisodeSort.OldestFirst,
flattenSeasons: FlattenSeasons.Show,
episodeSort: EpisodeSort.OldestFirst,
enableCreditsMarkerGeneration:
GetLibraryItemsEnableCreditsMarkerGeneration.LibraryDefault,
showOrdering: GetLibraryItemsShowOrdering.TvdbAbsolute,
EnableCreditsMarkerGeneration.LibraryDefault,
showOrdering: ShowOrdering.TvdbAbsolute,
thumb: "/library/metadata/58683/thumb/1703239236",
art: "/library/metadata/58683/art/1703239236",
banner: "/library/metadata/58683/banner/1703239236",
@@ -146,65 +144,9 @@ let value: GetLibraryItemsMediaContainer = {
videoFrameRate: "24p",
videoProfile: "main 10",
hasVoiceActivity: false,
optimizedForStreaming: GetLibraryItemsOptimizedForStreaming.Enable,
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,
},
],
},
],
part: [],
},
],
genre: [
@@ -336,12 +278,7 @@ let value: GetLibraryItemsMediaContainer = {
fieldType: [
{
type: "tag",
operator: [
{
key: "=",
title: "is",
},
],
operator: [],
},
],
},

View File

@@ -1,17 +0,0 @@
# GetLibraryItemsMediaGuid
## Example Usage
```typescript
import { GetLibraryItemsMediaGuid } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsMediaGuid = {
id: "imdb://tt13015952",
};
```
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `id` | *string* | :heavy_check_mark: | Can be one of the following formats:<br/>imdb://tt13015952, tmdb://2434012, tvdb://7945991<br/> | imdb://tt13015952 |

View File

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

View File

@@ -4,13 +4,14 @@
```typescript
import {
GetLibraryItemsEnableCreditsMarkerGeneration,
GetLibraryItemsEpisodeSort,
GetLibraryItemsFlattenSeasons,
EnableCreditsMarkerGeneration,
EpisodeSort,
FlattenSeasons,
GetLibraryItemsLibraryResponse200Type,
GetLibraryItemsLibraryType,
GetLibraryItemsMetadata,
GetLibraryItemsShowOrdering,
GetLibraryItemsOptimizedForStreaming,
ShowOrdering,
} from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -34,11 +35,10 @@ let value: GetLibraryItemsMetadata = {
year: 2022,
seasonCount: 2022,
tagline: "Return to Pandora.",
flattenSeasons: GetLibraryItemsFlattenSeasons.Show,
episodeSort: GetLibraryItemsEpisodeSort.OldestFirst,
enableCreditsMarkerGeneration:
GetLibraryItemsEnableCreditsMarkerGeneration.LibraryDefault,
showOrdering: GetLibraryItemsShowOrdering.TvdbAbsolute,
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",
@@ -76,65 +76,9 @@ let value: GetLibraryItemsMetadata = {
videoFrameRate: "24p",
videoProfile: "main 10",
hasVoiceActivity: false,
optimizedForStreaming: GetLibraryItemsOptimizedForStreaming.Enable,
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,
},
],
},
],
part: [],
},
],
genre: [
@@ -240,7 +184,7 @@ let value: GetLibraryItemsMetadata = {
| `librarySectionID` | *number* | :heavy_minus_sign: | N/A | 1 |
| `librarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies |
| `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 |
| `slug` | *string* | :heavy_minus_sign: | N/A | 4-for-texas |
| `contentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 |
@@ -250,10 +194,10 @@ let value: GetLibraryItemsMetadata = {
| `year` | *number* | :heavy_minus_sign: | N/A | 2022 |
| `seasonCount` | *number* | :heavy_minus_sign: | N/A | 2022 |
| `tagline` | *string* | :heavy_minus_sign: | N/A | Return to Pandora. |
| `flattenSeasons` | [operations.GetLibraryItemsFlattenSeasons](../../../sdk/models/operations/getlibraryitemsflattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). | 1 |
| `episodeSort` | [operations.GetLibraryItemsEpisodeSort](../../../sdk/models/operations/getlibraryitemsepisodesort.md) | :heavy_minus_sign: | Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). | 0 |
| `enableCreditsMarkerGeneration` | [operations.GetLibraryItemsEnableCreditsMarkerGeneration](../../../sdk/models/operations/getlibraryitemsenablecreditsmarkergeneration.md) | :heavy_minus_sign: | Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). | -1 |
| `showOrdering` | [operations.GetLibraryItemsShowOrdering](../../../sdk/models/operations/getlibraryitemsshowordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show.<br/>None = Library default,<br/>tmdbAiring = The Movie Database (Aired),<br/>aired = TheTVDB (Aired),<br/>dvd = TheTVDB (DVD),<br/>absolute = TheTVDB (Absolute)).<br/> | absolute |
| `flattenSeasons` | [operations.FlattenSeasons](../../../sdk/models/operations/flattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). | 1 |
| `episodeSort` | [operations.EpisodeSort](../../../sdk/models/operations/episodesort.md) | :heavy_minus_sign: | Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). | 0 |
| `enableCreditsMarkerGeneration` | [operations.EnableCreditsMarkerGeneration](../../../sdk/models/operations/enablecreditsmarkergeneration.md) | :heavy_minus_sign: | Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). | -1 |
| `showOrdering` | [operations.ShowOrdering](../../../sdk/models/operations/showordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show.<br/>None = Library default,<br/>tmdbAiring = The Movie Database (Aired),<br/>aired = TheTVDB (Aired),<br/>dvd = TheTVDB (DVD),<br/>absolute = TheTVDB (Absolute)).<br/> | absolute |
| `thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 |
| `art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 |
| `banner` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 |
@@ -282,9 +226,9 @@ let value: GetLibraryItemsMetadata = {
| `collection` | [operations.GetLibraryItemsCollection](../../../sdk/models/operations/getlibraryitemscollection.md)[] | :heavy_minus_sign: | N/A | |
| `role` | [operations.GetLibraryItemsRole](../../../sdk/models/operations/getlibraryitemsrole.md)[] | :heavy_minus_sign: | N/A | |
| `location` | [operations.GetLibraryItemsLocation](../../../sdk/models/operations/getlibraryitemslocation.md)[] | :heavy_minus_sign: | N/A | |
| `mediaGuid` | [operations.GetLibraryItemsMediaGuid](../../../sdk/models/operations/getlibraryitemsmediaguid.md)[] | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.<br/> | |
| `mediaGuid` | [operations.MediaGuid](../../../sdk/models/operations/mediaguid.md)[] | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.<br/> | |
| `ultraBlurColors` | [operations.GetLibraryItemsUltraBlurColors](../../../sdk/models/operations/getlibraryitemsultrablurcolors.md) | :heavy_minus_sign: | N/A | |
| `metaDataRating` | [operations.GetLibraryItemsMetaDataRating](../../../sdk/models/operations/getlibraryitemsmetadatarating.md)[] | :heavy_minus_sign: | N/A | |
| `metaDataRating` | [operations.MetaDataRating](../../../sdk/models/operations/metadatarating.md)[] | :heavy_minus_sign: | N/A | |
| `image` | [operations.GetLibraryItemsImage](../../../sdk/models/operations/getlibraryitemsimage.md)[] | :heavy_minus_sign: | N/A | |
| `titleSort` | *string* | :heavy_minus_sign: | N/A | Whale |
| `viewCount` | *number* | :heavy_minus_sign: | N/A | 1 |

View File

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

View File

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

View File

@@ -3,12 +3,20 @@
## Example Usage
```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 = {
tag: Tag.Folder,
tag: Tag.OnDeck,
includeGuids: IncludeGuids.Enable,
type: GetLibraryItemsQueryParamType.TvShow,
sectionKey: 9518,
includeMeta: GetLibraryItemsQueryParamIncludeMeta.Enable,
};
```

View File

@@ -3,355 +3,9 @@
## Example Usage
```typescript
import {
GetLibraryItemsEnableCreditsMarkerGeneration,
GetLibraryItemsEpisodeSort,
GetLibraryItemsFlattenSeasons,
GetLibraryItemsLibraryResponse200Type,
GetLibraryItemsLibraryType,
GetLibraryItemsResponse,
GetLibraryItemsShowOrdering,
} from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
import { GetLibraryItemsResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsResponse = {
contentType: "<value>",
statusCode: 451,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
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",
},
],
},
],
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: GetLibraryItemsFlattenSeasons.Show,
episodeSort: GetLibraryItemsEpisodeSort.OldestFirst,
enableCreditsMarkerGeneration:
GetLibraryItemsEnableCreditsMarkerGeneration.LibraryDefault,
showOrdering: GetLibraryItemsShowOrdering.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",
},
],
},
],
},
},
},
};
let value: GetLibraryItemsResponse = {};
```
## Fields

View File

@@ -6,13 +6,14 @@ The contents of the library by section and tag
```typescript
import {
GetLibraryItemsEnableCreditsMarkerGeneration,
GetLibraryItemsEpisodeSort,
GetLibraryItemsFlattenSeasons,
EnableCreditsMarkerGeneration,
EpisodeSort,
FlattenSeasons,
GetLibraryItemsLibraryResponse200Type,
GetLibraryItemsLibraryType,
GetLibraryItemsOptimizedForStreaming,
GetLibraryItemsResponseBody,
GetLibraryItemsShowOrdering,
ShowOrdering,
} from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -21,7 +22,8 @@ let value: GetLibraryItemsResponseBody = {
type: [
{
key: "/library/sections/2/all?type=2",
type: "show",
type: "filter",
subtype: "clip",
title: "TV Shows",
active: false,
filter: [
@@ -31,6 +33,7 @@ let value: GetLibraryItemsResponseBody = {
key: "/library/sections/2/genre?type=2",
title: "Genre",
type: "filter",
advanced: true,
},
],
sort: [
@@ -56,12 +59,7 @@ let value: GetLibraryItemsResponseBody = {
fieldType: [
{
type: "tag",
operator: [
{
key: "=",
title: "is",
},
],
operator: [],
},
],
size: 70,
@@ -104,11 +102,11 @@ let value: GetLibraryItemsResponseBody = {
year: 2022,
seasonCount: 2022,
tagline: "Return to Pandora.",
flattenSeasons: GetLibraryItemsFlattenSeasons.Show,
episodeSort: GetLibraryItemsEpisodeSort.OldestFirst,
flattenSeasons: FlattenSeasons.Show,
episodeSort: EpisodeSort.OldestFirst,
enableCreditsMarkerGeneration:
GetLibraryItemsEnableCreditsMarkerGeneration.LibraryDefault,
showOrdering: GetLibraryItemsShowOrdering.TvdbAbsolute,
EnableCreditsMarkerGeneration.LibraryDefault,
showOrdering: ShowOrdering.TvdbAbsolute,
thumb: "/library/metadata/58683/thumb/1703239236",
art: "/library/metadata/58683/art/1703239236",
banner: "/library/metadata/58683/banner/1703239236",
@@ -146,65 +144,9 @@ let value: GetLibraryItemsResponseBody = {
videoFrameRate: "24p",
videoProfile: "main 10",
hasVoiceActivity: false,
optimizedForStreaming: GetLibraryItemsOptimizedForStreaming.Enable,
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,
},
],
},
],
part: [],
},
],
genre: [
@@ -336,12 +278,7 @@ let value: GetLibraryItemsResponseBody = {
fieldType: [
{
type: "tag",
operator: [
{
key: "=",
title: "is",
},
],
operator: [],
},
],
},

View File

@@ -1,28 +0,0 @@
# GetLibraryItemsShowOrdering
Setting that indicates the episode ordering for the show.
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
## Example Usage
```typescript
import { GetLibraryItemsShowOrdering } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsShowOrdering =
GetLibraryItemsShowOrdering.TvdbAbsolute;
```
## Values
| Name | Value |
| -------------- | -------------- |
| `None` | None |
| `TmdbAiring` | tmdbAiring |
| `TvdbAired` | aired |
| `TvdbDvd` | dvd |
| `TvdbAbsolute` | absolute |

View File

@@ -7,7 +7,8 @@ import { GetLibraryItemsType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsType = {
key: "/library/sections/2/all?type=2",
type: "show",
type: "filter",
subtype: "clip",
title: "TV Shows",
active: false,
filter: [
@@ -17,6 +18,7 @@ let value: GetLibraryItemsType = {
key: "/library/sections/2/genre?type=2",
title: "Genre",
type: "filter",
advanced: true,
},
],
sort: [
@@ -45,7 +47,8 @@ let value: GetLibraryItemsType = {
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 |
| `type` | *string* | :heavy_check_mark: | N/A | show |
| `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.GetLibraryItemsFilter](../../../sdk/models/operations/getlibraryitemsfilter.md)[] | :heavy_minus_sign: | N/A | |

View File

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

View File

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

View File

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

View File

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

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