Compare commits

...

20 Commits

Author SHA1 Message Date
speakeasybot
cdcdc0ca8e ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.474.0 2025-01-24 00:11:07 +00:00
speakeasybot
b03cc6a609 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.459.2 2024-12-22 00:12:06 +00:00
speakeasybot
4e989e0de3 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.456.1 2024-12-20 16:02:41 +00:00
Luke Hagar
c10e011a68 adjusted workflow 2024-12-20 09:59:40 -06:00
speakeasybot
7e3dca8466 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.6 2024-12-16 22:20:26 +00:00
speakeasybot
8a2d3e04ab ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.6 2024-11-14 00:11:57 +00:00
speakeasybot
6c8a73ae84 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.6 2024-11-11 20:30:45 +00:00
speakeasybot
c839d9f6c7 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.406.0 2024-10-03 12:29:09 +00:00
speakeasybot
77b0ef9507 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.406.0 2024-10-03 00:11:46 +00:00
speakeasybot
1cfbd17f28 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.6 2024-10-02 02:30:07 +00:00
speakeasybot
2492807c65 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.6 2024-10-01 15:37:08 +00:00
speakeasybot
ead0a8773c ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.6 2024-10-01 00:12:18 +00:00
speakeasybot
e254f82e06 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.398.0 2024-09-17 00:10:26 +00:00
Luke Hagar
a4369c999a Update workflow.yaml 2024-09-16 13:14:07 -05:00
speakeasybot
c50b85f29a ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.397.2 2024-09-16 18:01:31 +00:00
Luke Hagar
496ebda695 Update workflow.yaml 2024-09-16 12:57:23 -05:00
speakeasybot
d436fc3452 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.396.9 2024-09-16 00:11:44 +00:00
speakeasybot
99cdf6effe ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.396.9 2024-09-15 00:12:31 +00:00
speakeasybot
fa2ba82f62 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.396.9 2024-09-14 00:10:58 +00:00
speakeasybot
fd8095a8df ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.396.6 2024-09-13 00:11:18 +00:00
599 changed files with 35375 additions and 8097 deletions

2
.gitignore vendored
View File

@@ -1,3 +1,5 @@
/.speakeasy/reports
/react-query
/sdk/models/errors
/sdk/types
/__tests__

View File

@@ -1,6 +1,10 @@
**/*
!/FUNCTIONS.md
!/RUNTIMES.md
!/REACT_QUERY.md
!/**/*.ts
!/**/*.js
!/**/*.json
!/**/*.map
/.eslintrc.js

File diff suppressed because one or more lines are too long

View File

@@ -11,8 +11,9 @@ generation:
requestResponseComponentNamesFeb2024: true
auth:
oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false
typescript:
version: 0.22.2
version: 0.32.2
additionalDependencies:
dependencies: {}
devDependencies: {}
@@ -20,8 +21,12 @@ typescript:
additionalPackageJSON: {}
author: LukeHagar
clientServerStatusCodesAsErrors: true
defaultErrorName: SDKError
enableCustomCodeRegions: false
enableReactQuery: false
enumFormat: enum
flattenGlobalSecurity: true
flatteningOrder: body-first
imports:
option: openapi
paths:

View File

@@ -1,36 +1,45 @@
speakeasyVersion: 1.396.2
speakeasyVersion: 1.474.0
sources:
my-source:
sourceNamespace: my-source
sourceRevisionDigest: sha256:1f43c28112982f7603d8fed99ad5b2d14de397325c20863fb693a4f89f96e3c6
sourceRevisionDigest: sha256:1b8840d540c66b58d1009ec2581fb18464158ec9aa00464eac05ba737f31207e
sourceBlobDigest: sha256:f7e2709f52370dff16c1851a7a4e44a89f2e978e9cae335bffc10625950b3bd9
tags:
- latest
- main
plexapi:
sourceNamespace: plexapi
sourceRevisionDigest: sha256:b146684d2d813daa8ba29e432a12334838753d0b20183beca8178a74ec4d895a
sourceBlobDigest: sha256:58f51c4319fcda931d63950fd926e8650e20a2e1375e356bf3a930111e246a58
tags:
- latest
- speakeasy-sdk-regen-1737677393
- 0.0.3
targets:
plexjs:
source: my-source
sourceNamespace: my-source
sourceRevisionDigest: sha256:1f43c28112982f7603d8fed99ad5b2d14de397325c20863fb693a4f89f96e3c6
sourceBlobDigest: sha256:f7e2709f52370dff16c1851a7a4e44a89f2e978e9cae335bffc10625950b3bd9
source: plexapi
sourceNamespace: plexapi
sourceRevisionDigest: sha256:b146684d2d813daa8ba29e432a12334838753d0b20183beca8178a74ec4d895a
sourceBlobDigest: sha256:58f51c4319fcda931d63950fd926e8650e20a2e1375e356bf3a930111e246a58
codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:828feb501a2eb665fe7666da267e21509de3ac1c1d3333b14e7e88abf0d0cb71
outLocation: /github/workspace/repo
codeSamplesRevisionDigest: sha256:96ce210c9c8c0b5ae45ce5fe2e62d64d6914bb1b1b6c18eaee6e1e379fb40e13
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
sources:
my-source:
plexapi:
inputs:
- location: registry.speakeasyapi.dev/lukehagar/lukehagar/plex-api:main
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/refs/heads/main/output/plex-media-server-spec-dereferenced.yaml
registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi
targets:
plexjs:
target: typescript
source: my-source
source: plexapi
publish:
npm:
token: $npm_token
codeSamples:
output: codeSamples.yaml
registry:
location: registry.speakeasyapi.dev/lukehagar/lukehagar/code-samples-typescript-plexjs
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs

View File

@@ -1,17 +1,19 @@
workflowVersion: 1.0.0
speakeasyVersion: latest
sources:
my-source:
plexapi:
inputs:
- location: registry.speakeasyapi.dev/lukehagar/lukehagar/plex-api:main
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/refs/heads/main/output/plex-media-server-spec-dereferenced.yaml
registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi
targets:
plexjs:
target: typescript
source: my-source
source: plexapi
publish:
npm:
token: $npm_token
codeSamples:
output: codeSamples.yaml
registry:
location: registry.speakeasyapi.dev/lukehagar/lukehagar/code-samples-typescript-plexjs
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs

View File

@@ -27,7 +27,6 @@ import { SDKValidationError } from "@lukehagar/plexjs/sdk/models/errors/sdkvalid
// You can create one instance of it to use across an application.
const plexAPI = new PlexAPICore({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40",
});
async function run() {
@@ -53,7 +52,7 @@ async function run() {
const { value: result } = res;
// Handle the result
console.log(result)
console.log(result);
}
run();

460
README.md
View File

@@ -11,23 +11,55 @@
## Summary
Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server
# Plex Media Server OpenAPI Specification
An Open Source OpenAPI Specification for Plex Media Server
Automation and SDKs provided by [Speakeasy](https://speakeasyapi.dev/)
## Documentation
[API Documentation](https://plexapi.dev)
## SDKs
The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the [main specification Repository](https://github.com/LukeHagar/plex-api-spec).
| Language | Repository | Releases | Other |
| --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
| Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) | - |
| JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) | - |
| Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) |
| Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - |
| Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - |
| PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - |
| Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - |
| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | -
<!-- End Summary [summary] -->
<!-- Start Table of Contents [toc] -->
## Table of Contents
<!-- $toc-max-depth=2 -->
* [@lukehagar/plexjs](#lukehagarplexjs)
* [Plex Media Server OpenAPI Specification](#plex-media-server-openapi-specification)
* [Documentation](#documentation)
* [SDKs](#sdks)
* [SDK Installation](#sdk-installation)
* [SDK Example Usage](#sdk-example-usage)
* [Available Resources and Operations](#available-resources-and-operations)
* [Error Handling](#error-handling)
* [Server Selection](#server-selection)
* [Custom HTTP Client](#custom-http-client)
* [Authentication](#authentication)
* [Requirements](#requirements)
* [Standalone functions](#standalone-functions)
* [Retries](#retries)
* [Debugging](#debugging)
* [Development](#development)
* [Maturity](#maturity)
* [Contributions](#contributions)
* [SDK Installation](#sdk-installation)
* [Requirements](#requirements)
* [SDK Example Usage](#sdk-example-usage)
* [Available Resources and Operations](#available-resources-and-operations)
* [Standalone functions](#standalone-functions)
* [Global Parameters](#global-parameters)
* [Retries](#retries)
* [Error Handling](#error-handling)
* [Server Selection](#server-selection)
* [Custom HTTP Client](#custom-http-client)
* [Authentication](#authentication)
* [Debugging](#debugging)
<!-- End Table of Contents [toc] -->
<!-- Start SDK Installation [installation] -->
@@ -73,7 +105,6 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40",
});
async function run() {
@@ -91,36 +122,21 @@ run();
<!-- Start Available Resources and Operations [operations] -->
## Available Resources and Operations
### [server](docs/sdks/server/README.md)
* [getServerCapabilities](docs/sdks/server/README.md#getservercapabilities) - Get Server Capabilities
* [getServerPreferences](docs/sdks/server/README.md#getserverpreferences) - Get Server Preferences
* [getAvailableClients](docs/sdks/server/README.md#getavailableclients) - Get Available Clients
* [getDevices](docs/sdks/server/README.md#getdevices) - Get Devices
* [getServerIdentity](docs/sdks/server/README.md#getserveridentity) - Get Server Identity
* [getMyPlexAccount](docs/sdks/server/README.md#getmyplexaccount) - Get MyPlex Account
* [getResizedPhoto](docs/sdks/server/README.md#getresizedphoto) - Get a Resized Photo
* [getMediaProviders](docs/sdks/server/README.md#getmediaproviders) - Get Media Providers
* [getServerList](docs/sdks/server/README.md#getserverlist) - Get Server List
### [media](docs/sdks/media/README.md)
* [markPlayed](docs/sdks/media/README.md#markplayed) - Mark Media Played
* [markUnplayed](docs/sdks/media/README.md#markunplayed) - Mark Media Unplayed
* [updatePlayProgress](docs/sdks/media/README.md#updateplayprogress) - Update Media Play Progress
* [getBannerImage](docs/sdks/media/README.md#getbannerimage) - Get Banner Image
* [getThumbImage](docs/sdks/media/README.md#getthumbimage) - Get Thumb Image
### [video](docs/sdks/video/README.md)
* [getTimeline](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item
* [startUniversalTranscode](docs/sdks/video/README.md#startuniversaltranscode) - Start Universal Transcode
<details open>
<summary>Available methods</summary>
### [activities](docs/sdks/activities/README.md)
* [getServerActivities](docs/sdks/activities/README.md#getserveractivities) - Get Server Activities
* [cancelServerActivities](docs/sdks/activities/README.md#cancelserveractivities) - Cancel Server Activities
### [authentication](docs/sdks/authentication/README.md)
* [getTransientToken](docs/sdks/authentication/README.md#gettransienttoken) - Get a Transient Token
* [getSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information
* [getTokenDetails](docs/sdks/authentication/README.md#gettokendetails) - Get Token Details
* [postUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata) - Get User Sign In Data
### [butler](docs/sdks/butler/README.md)
* [getButlerTasks](docs/sdks/butler/README.md#getbutlertasks) - Get Butler tasks
@@ -129,52 +145,42 @@ run();
* [startTask](docs/sdks/butler/README.md#starttask) - Start a single Butler task
* [stopTask](docs/sdks/butler/README.md#stoptask) - Stop a single Butler task
### [plex](docs/sdks/plex/README.md)
* [getCompanionsData](docs/sdks/plex/README.md#getcompanionsdata) - Get Companions Data
* [getUserFriends](docs/sdks/plex/README.md#getuserfriends) - Get list of friends of the user logged in
* [getGeoData](docs/sdks/plex/README.md#getgeodata) - Get Geo Data
* [getHomeData](docs/sdks/plex/README.md#gethomedata) - Get Plex Home Data
* [getServerResources](docs/sdks/plex/README.md#getserverresources) - Get Server Resources
* [getPin](docs/sdks/plex/README.md#getpin) - Get a Pin
* [getTokenByPinId](docs/sdks/plex/README.md#gettokenbypinid) - Get Access Token by PinId
### [hubs](docs/sdks/hubs/README.md)
* [getGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs
* [getRecentlyAdded](docs/sdks/hubs/README.md#getrecentlyadded) - Get Recently Added
* [getLibraryHubs](docs/sdks/hubs/README.md#getlibraryhubs) - Get library specific hubs
### [search](docs/sdks/search/README.md)
* [performSearch](docs/sdks/search/README.md#performsearch) - Perform a search
* [performVoiceSearch](docs/sdks/search/README.md#performvoicesearch) - Perform a voice search
* [getSearchResults](docs/sdks/search/README.md#getsearchresults) - Get Search Results
### [library](docs/sdks/library/README.md)
* [getFileHash](docs/sdks/library/README.md#getfilehash) - Get Hash Value
* [getRecentlyAdded](docs/sdks/library/README.md#getrecentlyadded) - Get Recently Added
* [getRecentlyAddedLibrary](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added
* [getAllLibraries](docs/sdks/library/README.md#getalllibraries) - Get All Libraries
* [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
* [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
* [getSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library
* [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
* [getMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey) - Get Metadata by RatingKey
* [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
### [watchlist](docs/sdks/watchlist/README.md)
* [getWatchList](docs/sdks/watchlist/README.md#getwatchlist) - Get User Watchlist
### [log](docs/sdks/log/README.md)
* [logLine](docs/sdks/log/README.md#logline) - Logging a single line message.
* [logMultiLine](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message
* [enablePaperTrail](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail
### [media](docs/sdks/media/README.md)
* [markPlayed](docs/sdks/media/README.md#markplayed) - Mark Media Played
* [markUnplayed](docs/sdks/media/README.md#markunplayed) - Mark Media Unplayed
* [updatePlayProgress](docs/sdks/media/README.md#updateplayprogress) - Update Media Play Progress
* [getBannerImage](docs/sdks/media/README.md#getbannerimage) - Get Banner Image
* [getThumbImage](docs/sdks/media/README.md#getthumbimage) - Get Thumb Image
### [playlists](docs/sdks/playlists/README.md)
* [createPlaylist](docs/sdks/playlists/README.md#createplaylist) - Create a Playlist
@@ -187,18 +193,34 @@ run();
* [addPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist
* [uploadPlaylist](docs/sdks/playlists/README.md#uploadplaylist) - Upload Playlist
### [authentication](docs/sdks/authentication/README.md)
### [plex](docs/sdks/plex/README.md)
* [getTransientToken](docs/sdks/authentication/README.md#gettransienttoken) - Get a Transient Token
* [getSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information
* [getTokenDetails](docs/sdks/authentication/README.md#gettokendetails) - Get Token Details
* [postUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata) - Get User Sign In Data
* [getCompanionsData](docs/sdks/plex/README.md#getcompanionsdata) - Get Companions Data
* [getUserFriends](docs/sdks/plex/README.md#getuserfriends) - Get list of friends of the user logged in
* [getGeoData](docs/sdks/plex/README.md#getgeodata) - Get Geo Data
* [getHomeData](docs/sdks/plex/README.md#gethomedata) - Get Plex Home Data
* [getServerResources](docs/sdks/plex/README.md#getserverresources) - Get Server Resources
* [getPin](docs/sdks/plex/README.md#getpin) - Get a Pin
* [getTokenByPinId](docs/sdks/plex/README.md#gettokenbypinid) - Get Access Token by PinId
### [statistics](docs/sdks/statistics/README.md)
* [getStatistics](docs/sdks/statistics/README.md#getstatistics) - Get Media Statistics
* [getResourcesStatistics](docs/sdks/statistics/README.md#getresourcesstatistics) - Get Resources Statistics
* [getBandwidthStatistics](docs/sdks/statistics/README.md#getbandwidthstatistics) - Get Bandwidth Statistics
### [search](docs/sdks/search/README.md)
* [performSearch](docs/sdks/search/README.md#performsearch) - Perform a search
* [performVoiceSearch](docs/sdks/search/README.md#performvoicesearch) - Perform a voice search
* [getSearchResults](docs/sdks/search/README.md#getsearchresults) - Get Search Results
### [server](docs/sdks/server/README.md)
* [getServerCapabilities](docs/sdks/server/README.md#getservercapabilities) - Get Server Capabilities
* [getServerPreferences](docs/sdks/server/README.md#getserverpreferences) - Get Server Preferences
* [getAvailableClients](docs/sdks/server/README.md#getavailableclients) - Get Available Clients
* [getDevices](docs/sdks/server/README.md#getdevices) - Get Devices
* [getServerIdentity](docs/sdks/server/README.md#getserveridentity) - Get Server Identity
* [getMyPlexAccount](docs/sdks/server/README.md#getmyplexaccount) - Get MyPlex Account
* [getResizedPhoto](docs/sdks/server/README.md#getresizedphoto) - Get a Resized Photo
* [getMediaProviders](docs/sdks/server/README.md#getmediaproviders) - Get Media Providers
* [getServerList](docs/sdks/server/README.md#getserverlist) - Get Server List
### [sessions](docs/sdks/sessions/README.md)
@@ -207,26 +229,42 @@ run();
* [getTranscodeSessions](docs/sdks/sessions/README.md#gettranscodesessions) - Get Transcode Sessions
* [stopTranscodeSession](docs/sdks/sessions/README.md#stoptranscodesession) - Stop a Transcode Session
### [statistics](docs/sdks/statistics/README.md)
* [getStatistics](docs/sdks/statistics/README.md#getstatistics) - Get Media Statistics
* [getResourcesStatistics](docs/sdks/statistics/README.md#getresourcesstatistics) - Get Resources Statistics
* [getBandwidthStatistics](docs/sdks/statistics/README.md#getbandwidthstatistics) - Get Bandwidth Statistics
### [updater](docs/sdks/updater/README.md)
* [getUpdateStatus](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates
* [checkForUpdates](docs/sdks/updater/README.md#checkforupdates) - Checking for updates
* [applyUpdates](docs/sdks/updater/README.md#applyupdates) - Apply Updates
### [video](docs/sdks/video/README.md)
* [getTimeline](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item
* [startUniversalTranscode](docs/sdks/video/README.md#startuniversaltranscode) - Start Universal Transcode
### [watchlist](docs/sdks/watchlist/README.md)
* [getWatchList](docs/sdks/watchlist/README.md#getwatchlist) - Get User Watchlist
</details>
<!-- End Available Resources and Operations [operations] -->
<!-- Start Error Handling [errors] -->
## Error Handling
All SDK methods return a response object or throw an error. If Error objects are specified in your OpenAPI Spec, the SDK will throw the appropriate Error type.
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:
| Error Object | Status Code | Content Type |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| errors.GetServerCapabilitiesBadRequest | 400 | application/json |
| errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
| errors.SDKError | 4xx-5xx | */* |
Validation errors can also occur when either method arguments or data returned from the server do not match the expected format. The `SDKValidationError` that is thrown as a result will capture the raw value that failed validation in an attribute called `rawValue`. Additionally, a `pretty()` method is available on this error that can be used to log a nicely formatted string since validation errors can list many issues and the plain error string may be difficult read when debugging.
| 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`.
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
@@ -238,7 +276,6 @@ import {
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40",
});
async function run() {
@@ -250,8 +287,9 @@ async function run() {
console.log(result);
} catch (err) {
switch (true) {
// The server response does not match the expected SDK schema
case (err instanceof SDKValidationError): {
// Validation errors can be pretty-printed
// Pretty-print will provide a human-readable multi-line error message
console.error(err.pretty());
// Raw value may also be inspected
console.error(err.rawValue);
@@ -268,6 +306,7 @@ async function run() {
return;
}
default: {
// Other errors such as network errors, see HTTPClientErrors for more details
throw err;
}
}
@@ -277,57 +316,39 @@ async function run() {
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.
In some rare cases, the SDK can fail to get a response from the server or even make the request due to unexpected circumstances such as network conditions. These types of errors are captured in the `sdk/models/errors/httpclienterrors.ts` module:
| HTTP Client Error | Description |
| ---------------------------------------------------- | ---------------------------------------------------- |
| RequestAbortedError | HTTP request was aborted by the client |
| RequestTimeoutError | HTTP request timed out due to an AbortSignal signal |
| ConnectionError | HTTP client was unable to make a request to a server |
| InvalidRequestError | Any input used to create a request is invalid |
| UnexpectedClientError | Unrecognised or unexpected error |
<!-- End Error Handling [errors] -->
<!-- Start Server Selection [server] -->
## Server Selection
### Select Server by Index
### Server Variables
You can override the default server globally by passing a server index to the `serverIdx` optional parameter when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers:
| # | Server | Variables |
| - | ------ | --------- |
| 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `https`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) |
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
serverIdx: 0,
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40",
});
async function run() {
const result = await plexAPI.server.getServerCapabilities();
// Handle the result
console.log(result);
}
run();
```
#### Variables
Some of the server options above contain variables. If you want to set the values of those variables, the following optional parameters are available when initializing the SDK client instance:
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`
### Override Server URL Per-Client
The default server can also be overridden globally by passing a URL to the `serverURL` optional parameter when initializing the SDK client instance. For example:
The default server can also 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";
const plexAPI = new PlexAPI({
serverURL: "{protocol}://{ip}:{port}",
serverURL: "https://10.10.10.47:32400",
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40",
});
async function run() {
@@ -340,21 +361,20 @@ async function run() {
run();
```
### Override Server URL Per-Operation
The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example:
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40",
});
async function run() {
const result = await plexAPI.plex.getCompanionsData({
serverURL: "https://plex.tv/api/v2/",
serverURL: "https://plex.tv/api/v2",
});
// Handle the result
@@ -422,9 +442,9 @@ const sdk = new PlexAPI({ httpClient });
This SDK supports the following security scheme globally:
| Name | Type | Scheme |
| ------------- | ------------- | ------------- |
| `accessToken` | apiKey | API key |
| Name | Type | Scheme |
| ------------- | ------ | ------- |
| `accessToken` | apiKey | API key |
To authenticate with the API the `accessToken` parameter must be set when initializing the SDK client instance. For example:
```typescript
@@ -432,7 +452,6 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40",
});
async function run() {
@@ -468,137 +487,86 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
<summary>Available standalone functions</summary>
- [activitiesCancelServerActivities](docs/sdks/activities/README.md#cancelserveractivities)
- [activitiesGetServerActivities](docs/sdks/activities/README.md#getserveractivities)
- [authenticationGetSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation)
- [authenticationGetTokenDetails](docs/sdks/authentication/README.md#gettokendetails)
- [authenticationGetTransientToken](docs/sdks/authentication/README.md#gettransienttoken)
- [authenticationPostUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata)
- [butlerGetButlerTasks](docs/sdks/butler/README.md#getbutlertasks)
- [butlerStartAllTasks](docs/sdks/butler/README.md#startalltasks)
- [butlerStartTask](docs/sdks/butler/README.md#starttask)
- [butlerStopAllTasks](docs/sdks/butler/README.md#stopalltasks)
- [butlerStopTask](docs/sdks/butler/README.md#stoptask)
- [hubsGetGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs)
- [hubsGetLibraryHubs](docs/sdks/hubs/README.md#getlibraryhubs)
- [libraryDeleteLibrary](docs/sdks/library/README.md#deletelibrary)
- [libraryGetAllLibraries](docs/sdks/library/README.md#getalllibraries)
- [libraryGetFileHash](docs/sdks/library/README.md#getfilehash)
- [libraryGetLibraryDetails](docs/sdks/library/README.md#getlibrarydetails)
- [libraryGetLibraryItems](docs/sdks/library/README.md#getlibraryitems)
- [libraryGetMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey)
- [libraryGetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren)
- [libraryGetOnDeck](docs/sdks/library/README.md#getondeck)
- [libraryGetRecentlyAdded](docs/sdks/library/README.md#getrecentlyadded)
- [libraryGetRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata)
- [libraryGetSearchLibrary](docs/sdks/library/README.md#getsearchlibrary)
- [libraryGetTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent)
- [logEnablePaperTrail](docs/sdks/log/README.md#enablepapertrail)
- [logLogLine](docs/sdks/log/README.md#logline)
- [logLogMultiLine](docs/sdks/log/README.md#logmultiline)
- [mediaGetBannerImage](docs/sdks/media/README.md#getbannerimage)
- [mediaGetThumbImage](docs/sdks/media/README.md#getthumbimage)
- [mediaMarkPlayed](docs/sdks/media/README.md#markplayed)
- [mediaMarkUnplayed](docs/sdks/media/README.md#markunplayed)
- [mediaUpdatePlayProgress](docs/sdks/media/README.md#updateplayprogress)
- [playlistsAddPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents)
- [playlistsClearPlaylistContents](docs/sdks/playlists/README.md#clearplaylistcontents)
- [playlistsCreatePlaylist](docs/sdks/playlists/README.md#createplaylist)
- [playlistsDeletePlaylist](docs/sdks/playlists/README.md#deleteplaylist)
- [playlistsGetPlaylistContents](docs/sdks/playlists/README.md#getplaylistcontents)
- [playlistsGetPlaylist](docs/sdks/playlists/README.md#getplaylist)
- [playlistsGetPlaylists](docs/sdks/playlists/README.md#getplaylists)
- [playlistsUpdatePlaylist](docs/sdks/playlists/README.md#updateplaylist)
- [playlistsUploadPlaylist](docs/sdks/playlists/README.md#uploadplaylist)
- [plexGetCompanionsData](docs/sdks/plex/README.md#getcompanionsdata)
- [plexGetGeoData](docs/sdks/plex/README.md#getgeodata)
- [plexGetHomeData](docs/sdks/plex/README.md#gethomedata)
- [plexGetPin](docs/sdks/plex/README.md#getpin)
- [plexGetServerResources](docs/sdks/plex/README.md#getserverresources)
- [plexGetTokenByPinId](docs/sdks/plex/README.md#gettokenbypinid)
- [plexGetUserFriends](docs/sdks/plex/README.md#getuserfriends)
- [searchGetSearchResults](docs/sdks/search/README.md#getsearchresults)
- [searchPerformSearch](docs/sdks/search/README.md#performsearch)
- [searchPerformVoiceSearch](docs/sdks/search/README.md#performvoicesearch)
- [serverGetAvailableClients](docs/sdks/server/README.md#getavailableclients)
- [serverGetDevices](docs/sdks/server/README.md#getdevices)
- [serverGetMediaProviders](docs/sdks/server/README.md#getmediaproviders)
- [serverGetMyPlexAccount](docs/sdks/server/README.md#getmyplexaccount)
- [serverGetResizedPhoto](docs/sdks/server/README.md#getresizedphoto)
- [serverGetServerCapabilities](docs/sdks/server/README.md#getservercapabilities)
- [serverGetServerIdentity](docs/sdks/server/README.md#getserveridentity)
- [serverGetServerList](docs/sdks/server/README.md#getserverlist)
- [serverGetServerPreferences](docs/sdks/server/README.md#getserverpreferences)
- [sessionsGetSessionHistory](docs/sdks/sessions/README.md#getsessionhistory)
- [sessionsGetSessions](docs/sdks/sessions/README.md#getsessions)
- [sessionsGetTranscodeSessions](docs/sdks/sessions/README.md#gettranscodesessions)
- [sessionsStopTranscodeSession](docs/sdks/sessions/README.md#stoptranscodesession)
- [statisticsGetBandwidthStatistics](docs/sdks/statistics/README.md#getbandwidthstatistics)
- [statisticsGetResourcesStatistics](docs/sdks/statistics/README.md#getresourcesstatistics)
- [statisticsGetStatistics](docs/sdks/statistics/README.md#getstatistics)
- [updaterApplyUpdates](docs/sdks/updater/README.md#applyupdates)
- [updaterCheckForUpdates](docs/sdks/updater/README.md#checkforupdates)
- [updaterGetUpdateStatus](docs/sdks/updater/README.md#getupdatestatus)
- [videoGetTimeline](docs/sdks/video/README.md#gettimeline)
- [videoStartUniversalTranscode](docs/sdks/video/README.md#startuniversaltranscode)
- [watchlistGetWatchList](docs/sdks/watchlist/README.md#getwatchlist)
- [`activitiesCancelServerActivities`](docs/sdks/activities/README.md#cancelserveractivities) - Cancel Server Activities
- [`activitiesGetServerActivities`](docs/sdks/activities/README.md#getserveractivities) - Get Server Activities
- [`authenticationGetSourceConnectionInformation`](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information
- [`authenticationGetTokenDetails`](docs/sdks/authentication/README.md#gettokendetails) - Get Token Details
- [`authenticationGetTransientToken`](docs/sdks/authentication/README.md#gettransienttoken) - Get a Transient Token
- [`authenticationPostUsersSignInData`](docs/sdks/authentication/README.md#postuserssignindata) - Get User Sign In Data
- [`butlerGetButlerTasks`](docs/sdks/butler/README.md#getbutlertasks) - Get Butler tasks
- [`butlerStartAllTasks`](docs/sdks/butler/README.md#startalltasks) - Start all Butler tasks
- [`butlerStartTask`](docs/sdks/butler/README.md#starttask) - Start a single Butler task
- [`butlerStopAllTasks`](docs/sdks/butler/README.md#stopalltasks) - Stop all Butler tasks
- [`butlerStopTask`](docs/sdks/butler/README.md#stoptask) - Stop a single Butler task
- [`hubsGetGlobalHubs`](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs
- [`hubsGetLibraryHubs`](docs/sdks/hubs/README.md#getlibraryhubs) - Get library specific hubs
- [`hubsGetRecentlyAdded`](docs/sdks/hubs/README.md#getrecentlyadded) - Get Recently Added
- [`libraryDeleteLibrary`](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
- [`libraryGetAllLibraries`](docs/sdks/library/README.md#getalllibraries) - Get All Libraries
- [`libraryGetFileHash`](docs/sdks/library/README.md#getfilehash) - Get Hash Value
- [`libraryGetLibraryDetails`](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
- [`libraryGetLibraryItems`](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
- [`libraryGetMetaDataByRatingKey`](docs/sdks/library/README.md#getmetadatabyratingkey) - Get Metadata by RatingKey
- [`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
- [`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
- [`mediaGetBannerImage`](docs/sdks/media/README.md#getbannerimage) - Get Banner Image
- [`mediaGetThumbImage`](docs/sdks/media/README.md#getthumbimage) - Get Thumb Image
- [`mediaMarkPlayed`](docs/sdks/media/README.md#markplayed) - Mark Media Played
- [`mediaMarkUnplayed`](docs/sdks/media/README.md#markunplayed) - Mark Media Unplayed
- [`mediaUpdatePlayProgress`](docs/sdks/media/README.md#updateplayprogress) - Update Media Play Progress
- [`playlistsAddPlaylistContents`](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist
- [`playlistsClearPlaylistContents`](docs/sdks/playlists/README.md#clearplaylistcontents) - Delete Playlist Contents
- [`playlistsCreatePlaylist`](docs/sdks/playlists/README.md#createplaylist) - Create a Playlist
- [`playlistsDeletePlaylist`](docs/sdks/playlists/README.md#deleteplaylist) - Deletes a Playlist
- [`playlistsGetPlaylist`](docs/sdks/playlists/README.md#getplaylist) - Retrieve Playlist
- [`playlistsGetPlaylistContents`](docs/sdks/playlists/README.md#getplaylistcontents) - Retrieve Playlist Contents
- [`playlistsGetPlaylists`](docs/sdks/playlists/README.md#getplaylists) - Get All Playlists
- [`playlistsUpdatePlaylist`](docs/sdks/playlists/README.md#updateplaylist) - Update a Playlist
- [`playlistsUploadPlaylist`](docs/sdks/playlists/README.md#uploadplaylist) - Upload Playlist
- [`plexGetCompanionsData`](docs/sdks/plex/README.md#getcompanionsdata) - Get Companions Data
- [`plexGetGeoData`](docs/sdks/plex/README.md#getgeodata) - Get Geo Data
- [`plexGetHomeData`](docs/sdks/plex/README.md#gethomedata) - Get Plex Home Data
- [`plexGetPin`](docs/sdks/plex/README.md#getpin) - Get a Pin
- [`plexGetServerResources`](docs/sdks/plex/README.md#getserverresources) - Get Server Resources
- [`plexGetTokenByPinId`](docs/sdks/plex/README.md#gettokenbypinid) - Get Access Token by PinId
- [`plexGetUserFriends`](docs/sdks/plex/README.md#getuserfriends) - Get list of friends of the user logged in
- [`searchGetSearchResults`](docs/sdks/search/README.md#getsearchresults) - Get Search Results
- [`searchPerformSearch`](docs/sdks/search/README.md#performsearch) - Perform a search
- [`searchPerformVoiceSearch`](docs/sdks/search/README.md#performvoicesearch) - Perform a voice search
- [`serverGetAvailableClients`](docs/sdks/server/README.md#getavailableclients) - Get Available Clients
- [`serverGetDevices`](docs/sdks/server/README.md#getdevices) - Get Devices
- [`serverGetMediaProviders`](docs/sdks/server/README.md#getmediaproviders) - Get Media Providers
- [`serverGetMyPlexAccount`](docs/sdks/server/README.md#getmyplexaccount) - Get MyPlex Account
- [`serverGetResizedPhoto`](docs/sdks/server/README.md#getresizedphoto) - Get a Resized Photo
- [`serverGetServerCapabilities`](docs/sdks/server/README.md#getservercapabilities) - Get Server Capabilities
- [`serverGetServerIdentity`](docs/sdks/server/README.md#getserveridentity) - Get Server Identity
- [`serverGetServerList`](docs/sdks/server/README.md#getserverlist) - Get Server List
- [`serverGetServerPreferences`](docs/sdks/server/README.md#getserverpreferences) - Get Server Preferences
- [`sessionsGetSessionHistory`](docs/sdks/sessions/README.md#getsessionhistory) - Get Session History
- [`sessionsGetSessions`](docs/sdks/sessions/README.md#getsessions) - Get Active Sessions
- [`sessionsGetTranscodeSessions`](docs/sdks/sessions/README.md#gettranscodesessions) - Get Transcode Sessions
- [`sessionsStopTranscodeSession`](docs/sdks/sessions/README.md#stoptranscodesession) - Stop a Transcode Session
- [`statisticsGetBandwidthStatistics`](docs/sdks/statistics/README.md#getbandwidthstatistics) - Get Bandwidth Statistics
- [`statisticsGetResourcesStatistics`](docs/sdks/statistics/README.md#getresourcesstatistics) - Get Resources Statistics
- [`statisticsGetStatistics`](docs/sdks/statistics/README.md#getstatistics) - Get Media Statistics
- [`updaterApplyUpdates`](docs/sdks/updater/README.md#applyupdates) - Apply Updates
- [`updaterCheckForUpdates`](docs/sdks/updater/README.md#checkforupdates) - Checking for updates
- [`updaterGetUpdateStatus`](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates
- [`videoGetTimeline`](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item
- [`videoStartUniversalTranscode`](docs/sdks/video/README.md#startuniversaltranscode) - Start Universal Transcode
- [`watchlistGetWatchList`](docs/sdks/watchlist/README.md#getwatchlist) - Get User Watchlist
</details>
<!-- End Standalone functions [standalone-funcs] -->
<!-- Start Global Parameters [global-parameters] -->
## Global Parameters
A parameter is configured globally. This parameter may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, This global value will be used as the default on the operations that use it. When such operations are called, there is a place in each to override the global value, if needed.
For example, you can set `X-Plex-Client-Identifier` to `"gcgzw5rz2xovp84b4vha3a40"` at SDK initialization and then you do not have to pass the same value on calls to operations like `getServerResources`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration.
### Available Globals
The following global parameter is available.
| Name | Type | Required | Description |
| ---- | ---- |:--------:| ----------- |
| xPlexClientIdentifier | string | | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
|
### Example
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
import {
IncludeHttps,
IncludeIPv6,
IncludeRelay,
} from "@lukehagar/plexjs/sdk/models/operations";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40",
});
async function run() {
const result = await plexAPI.plex.getServerResources(
"gcgzw5rz2xovp84b4vha3a40",
IncludeHttps.One,
IncludeRelay.One,
IncludeIPv6.One,
);
// Handle the result
console.log(result);
}
run();
```
<!-- End Global Parameters [global-parameters] -->
<!-- Start Retries [retries] -->
## Retries
@@ -610,7 +578,6 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40",
});
async function run() {
@@ -651,7 +618,6 @@ const plexAPI = new PlexAPI({
retryConnectionErrors: false,
},
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40",
});
async function run() {

View File

@@ -1009,3 +1009,173 @@ Based on:
- [typescript v0.22.2] .
### Releases
- [NPM v0.22.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.22.2 - .
## 2024-09-13 00:09:09
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.396.6 (2.415.6) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.23.0] .
### Releases
- [NPM v0.23.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.23.0 - .
## 2024-09-14 00:08:56
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.396.9 (2.415.7) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.23.1] .
### Releases
- [NPM v0.23.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.23.1 - .
## 2024-09-15 00:10:25
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.396.9 (2.415.7) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.23.2] .
### Releases
- [NPM v0.23.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.23.2 - .
## 2024-09-16 00:09:42
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.396.9 (2.415.7) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.23.3] .
### Releases
- [NPM v0.23.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.23.3 - .
## 2024-09-16 17:59:12
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.397.2 (2.415.8) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.23.4] .
### Releases
- [NPM v0.23.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.23.4 - .
## 2024-09-17 00:08:25
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.398.0 (2.415.8) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.23.5] .
### Releases
- [NPM v0.23.5] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.23.5 - .
## 2024-10-01 00:10:47
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.405.6 (2.428.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.24.0] .
### Releases
- [NPM v0.24.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.24.0 - .
## 2024-10-01 15:35:33
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.405.6 (2.428.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.24.1] .
### Releases
- [NPM v0.24.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.24.1 - .
## 2024-10-02 02:28:25
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.405.6 (2.428.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.24.2] .
### Releases
- [NPM v0.24.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.24.2 - .
## 2024-10-03 00:09:30
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.406.0 (2.429.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.25.1] .
### Releases
- [NPM v0.25.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.25.1 - .
## 2024-10-03 12:26:50
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.406.0 (2.429.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.26.1] .
### Releases
- [NPM v0.26.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.26.1 - .
## 2024-11-11 20:28:21
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.405.6 (2.428.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.28.0] .
### Releases
- [NPM v0.28.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.28.0 - .
## 2024-11-14 00:09:39
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.405.6 (2.428.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.30.0] .
### Releases
- [NPM v0.30.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.30.0 - .
## 2024-12-16 22:17:52
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.405.6 (2.428.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.31.1] .
### Releases
- [NPM v0.31.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.31.1 - .
## 2024-12-20 16:01:16
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.456.1 (2.481.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.32.0] .
### Releases
- [NPM v0.32.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.0 - .
## 2024-12-22 00:10:48
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.459.2 (2.483.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.32.1] .
### Releases
- [NPM v0.32.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.1 - .
## 2025-01-24 00:09:35
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.474.0 (2.495.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.32.2] .
### Releases
- [NPM v0.32.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.2 - .

View File

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

View File

@@ -4,7 +4,6 @@ import { PlexAPI } from "@lukehagar/plexjs";
const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>",
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40",
});
async function run() {

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +0,0 @@
# GetRecentlyAddedBadRequest
Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage
```typescript
import { GetRecentlyAddedBadRequest } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `errors` | [errors.GetRecentlyAddedErrors](../../../sdk/models/errors/getrecentlyaddederrors.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 @@
# GetRecentlyAddedUnauthorized
# GetRecentlyAddedLibraryBadRequest
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage
```typescript
import { GetRecentlyAddedUnauthorized } from "@lukehagar/plexjs/sdk/models/errors";
import { GetRecentlyAddedLibraryBadRequest } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```

View File

@@ -6,16 +6,16 @@
import { GetRecentlyAddedLibraryErrors } from "@lukehagar/plexjs/sdk/models/errors";
let value: GetRecentlyAddedLibraryErrors = {
code: 1001,
message: "User could not be authenticated",
status: 401,
code: 1000,
message: "X-Plex-Client-Identifier is missing",
status: 400,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |
| Field | Type | Required | Description | Example |
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1000 |
| `message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing |
| `status` | *number* | :heavy_minus_sign: | N/A | 400 |

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -7,12 +7,12 @@ The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign aud
```typescript
import { AutoSelectSubtitle } from "@lukehagar/plexjs/sdk/models/operations";
let value: AutoSelectSubtitle = AutoSelectSubtitle.One;
let value: AutoSelectSubtitle = AutoSelectSubtitle.Enable;
```
## Values
| Name | Value |
| ------ | ------ |
| `Zero` | 0 |
| `One` | 1 |
| Name | Value |
| --------- | --------- |
| `Disable` | 0 |
| `Enable` | 1 |

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,17 @@
# Collection
## Example Usage
```typescript
import { Collection } from "@lukehagar/plexjs/sdk/models/operations";
let value: Collection = {
tag: "Working NL Subs",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `tag` | *string* | :heavy_minus_sign: | N/A | Working NL Subs |

View File

@@ -3,13 +3,13 @@
## Example Usage
```typescript
import { Connections } from "@lukehagar/plexjs/sdk/models/operations";
import { Connections, Protocol } from "@lukehagar/plexjs/sdk/models/operations";
let value: Connections = {
protocol: "<value>",
address: "971 Strosin Wall",
port: 4736.08,
uri: "https://starry-initialise.name",
protocol: Protocol.Http,
address: "21611 Schuster Cliffs",
port: 54915,
uri: "https://wobbly-instance.org/",
local: false,
relay: false,
iPv6: false,
@@ -18,12 +18,12 @@ let value: Connections = {
## Fields
| Field | Type | Required | Description |
| ------------------ | ------------------ | ------------------ | ------------------ |
| `protocol` | *string* | :heavy_check_mark: | N/A |
| `address` | *string* | :heavy_check_mark: | N/A |
| `port` | *number* | :heavy_check_mark: | N/A |
| `uri` | *string* | :heavy_check_mark: | N/A |
| `local` | *boolean* | :heavy_check_mark: | N/A |
| `relay` | *boolean* | :heavy_check_mark: | N/A |
| `iPv6` | *boolean* | :heavy_check_mark: | N/A |
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- |
| `protocol` | [operations.Protocol](../../../sdk/models/operations/protocol.md) | :heavy_check_mark: | The protocol used for the connection (http, https, etc) | http |
| `address` | *string* | :heavy_check_mark: | The (ip) address or domain name used for the connection | |
| `port` | *number* | :heavy_check_mark: | The port used for the connection | |
| `uri` | *string* | :heavy_check_mark: | The full URI of the connection | |
| `local` | *boolean* | :heavy_check_mark: | If the connection is local address | |
| `relay` | *boolean* | :heavy_check_mark: | If the connection is relayed through plex.direct | |
| `iPv6` | *boolean* | :heavy_check_mark: | If the connection is using IPv6 | |

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,18 +1,18 @@
# DefaultSubtitleAccessibility
The subtitles for the deaf or hard-of-hearing (SDH) searches mode (0 = Prefer non-SDH subtitles, 1 = Prefer SDH subtitles, 2 = Only show SDH subtitles, 3 = Only shown non-SDH subtitles)
The subtitles for the deaf or hard-of-hearing (SDH) searches mode (0 = Prefer non-SDH subtitles, 1 = Prefer SDH subtitles, 2 = Only show SDH subtitles, 3 = Only show non-SDH subtitles)
## Example Usage
```typescript
import { DefaultSubtitleAccessibility } from "@lukehagar/plexjs/sdk/models/operations";
let value: DefaultSubtitleAccessibility = DefaultSubtitleAccessibility.One;
let value: DefaultSubtitleAccessibility = DefaultSubtitleAccessibility.Enable;
```
## Values
| Name | Value |
| ------ | ------ |
| `Zero` | 0 |
| `One` | 1 |
| Name | Value |
| --------- | --------- |
| `Disable` | 0 |
| `Enable` | 1 |

View File

@@ -7,12 +7,12 @@ The forced subtitles searches mode (0 = Prefer non-forced subtitles, 1 = Prefer
```typescript
import { DefaultSubtitleForced } from "@lukehagar/plexjs/sdk/models/operations";
let value: DefaultSubtitleForced = DefaultSubtitleForced.One;
let value: DefaultSubtitleForced = DefaultSubtitleForced.Enable;
```
## Values
| Name | Value |
| ------ | ------ |
| `Zero` | 0 |
| `One` | 1 |
| Name | Value |
| --------- | --------- |
| `Disable` | 0 |
| `Enable` | 1 |

View File

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

View File

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

View File

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

View File

@@ -6,7 +6,7 @@
import { Director } from "@lukehagar/plexjs/sdk/models/operations";
let value: Director = {
tag: "Peyton Reed",
tag: "James Cameron",
};
```
@@ -14,4 +14,4 @@ let value: Director = {
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `tag` | *string* | :heavy_minus_sign: | N/A | Peyton Reed |
| `tag` | *string* | :heavy_minus_sign: | N/A | James Cameron |

View File

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

View File

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

View File

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

View File

@@ -5,13 +5,28 @@
```typescript
import { Feature } from "@lukehagar/plexjs/sdk/models/operations";
let value: Feature = {};
let value: Feature = {
type: "<value>",
flavor: "global",
scrobbleKey: "/:/scrobble/new",
unscrobbleKey: "/:/unscrobble/new",
action: [
{
id: "addToContinueWatching",
key: "/actions/addToContinueWatching",
},
],
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `key` | *string* | :heavy_minus_sign: | N/A |
| `type` | *string* | :heavy_minus_sign: | N/A |
| `directory` | [operations.GetMediaProvidersDirectory](../../../sdk/models/operations/getmediaprovidersdirectory.md)[] | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `key` | *string* | :heavy_minus_sign: | N/A | |
| `type` | *string* | :heavy_check_mark: | N/A | |
| `flavor` | *string* | :heavy_minus_sign: | N/A | global |
| `scrobbleKey` | *string* | :heavy_minus_sign: | N/A | /:/scrobble/new |
| `unscrobbleKey` | *string* | :heavy_minus_sign: | N/A | /:/unscrobble/new |
| `directory` | [operations.GetMediaProvidersDirectory](../../../sdk/models/operations/getmediaprovidersdirectory.md)[] | :heavy_minus_sign: | N/A | |
| `action` | [operations.Action](../../../sdk/models/operations/action.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -1,73 +0,0 @@
# Features
## Example Usage
```typescript
import { Features } from "@lukehagar/plexjs/sdk/models/operations";
let value: Features = Features.WatchTogetherInvite;
```
## Values
| Name | Value |
| --------------------------------------- | --------------------------------------- |
| `AndroidDolbyVision` | Android - Dolby Vision |
| `AndroidPiP` | Android - PiP |
| `CUSunset` | CU Sunset |
| `HRKEnableEUR` | HRK_enable_EUR |
| `TREBLEShowFeatures` | TREBLE-show-features |
| `AdCountdownTimer` | ad-countdown-timer |
| `AdaptiveBitrate` | adaptive_bitrate |
| `AmazonLoopDebug` | amazon-loop-debug |
| `AvodAdAnalysis` | avod-ad-analysis |
| `AvodNewMedia` | avod-new-media |
| `BlacklistGetSignin` | blacklist_get_signin |
| `ClientRadioStations` | client-radio-stations |
| `CloudflareTurnstileRequired` | cloudflare-turnstile-required |
| `Collections` | collections |
| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications |
| `CommunityAccessPlexTv` | community_access_plex_tv |
| `CompanionsSonos` | companions_sonos |
| `CustomHomeRemoval` | custom-home-removal |
| `DisableHomeUserFriendships` | disable_home_user_friendships |
| `DisableSharingFriendships` | disable_sharing_friendships |
| `DrmSupport` | drm_support |
| `ExcludeRestrictions` | exclude restrictions |
| `FederatedAuth` | federated-auth |
| `FriendRequestPushNotifications` | friend_request_push_notifications |
| `GuidedUpgrade` | guided-upgrade |
| `Home` | home |
| `IncreasePasswordComplexity` | increase-password-complexity |
| `Ios14PrivacyBanner` | ios14-privacy-banner |
| `IterableNotificationTokens` | iterable-notification-tokens |
| `KeepPaymentMethod` | keep-payment-method |
| `KevinBacon` | kevin-bacon |
| `KoreaConsent` | korea-consent |
| `LeIsrgRootX1` | le_isrg_root_x1 |
| `LetsEncrypt` | lets_encrypt |
| `LightningDvrPivot` | lightning-dvr-pivot |
| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments |
| `Livetv` | livetv |
| `MetadataSearch` | metadata_search |
| `NewPlexPassPrices` | new_plex_pass_prices |
| `NewsProviderSunsetModal` | news-provider-sunset-modal |
| `PhotosFavorites` | photos-favorites |
| `PhotosMetadataEdition` | photos-metadata-edition |
| `PmsHealth` | pms_health |
| `Radio` | radio |
| `RateLimitClientToken` | rate-limit-client-token |
| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv |
| `SharedServerNotification` | shared_server_notification |
| `SharedSourceNotification` | shared_source_notification |
| `SigninWithApple` | signin_with_apple |
| `SpringServeAdProvider` | spring_serve_ad_provider |
| `TranscoderCache` | transcoder_cache |
| `TunerSharing` | tuner-sharing |
| `TwoFactorAuthentication` | two-factor-authentication |
| `Unsupportedtuners` | unsupportedtuners |
| `Upgrade3ds2` | upgrade-3ds2 |
| `VodSchema` | vod-schema |
| `VodCloudflare` | vod_cloudflare |
| `WatchTogetherInvite` | watch-together-invite |
| `WebServerDashboard` | web_server_dashboard |

View File

@@ -6,10 +6,10 @@
import { Field } from "@lukehagar/plexjs/sdk/models/operations";
let value: Field = {
key: "label",
title: "Label",
type: "tag",
subType: "bitrate",
key: "show.title",
title: "Show Title",
type: "string",
subType: "rating",
};
```
@@ -17,7 +17,7 @@ let value: Field = {
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `key` | *string* | :heavy_minus_sign: | N/A | label |
| `title` | *string* | :heavy_minus_sign: | N/A | Label |
| `type` | *string* | :heavy_minus_sign: | N/A | tag |
| `subType` | *string* | :heavy_minus_sign: | N/A | bitrate |
| `key` | *string* | :heavy_check_mark: | N/A | show.title |
| `title` | *string* | :heavy_check_mark: | N/A | Show Title |
| `type` | *string* | :heavy_check_mark: | N/A | string |
| `subType` | *string* | :heavy_minus_sign: | N/A | rating |

View File

@@ -6,7 +6,7 @@
import { FieldType } from "@lukehagar/plexjs/sdk/models/operations";
let value: FieldType = {
type: "resolution",
type: "tag",
operator: [
{
key: "=",
@@ -20,5 +20,5 @@ let value: FieldType = {
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
| `type` | *string* | :heavy_minus_sign: | N/A | resolution |
| `operator` | [operations.Operator](../../../sdk/models/operations/operator.md)[] | :heavy_minus_sign: | N/A | |
| `type` | *string* | :heavy_check_mark: | N/A | tag |
| `operator` | [operations.Operator](../../../sdk/models/operations/operator.md)[] | :heavy_check_mark: | N/A | |

View File

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

View File

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

View File

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

View File

@@ -6,7 +6,7 @@
import { Genre } from "@lukehagar/plexjs/sdk/models/operations";
let value: Genre = {
tag: "Comedy",
tag: "Adventure",
};
```
@@ -14,4 +14,4 @@ let value: Genre = {
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `tag` | *string* | :heavy_minus_sign: | N/A | Comedy |
| `tag` | *string* | :heavy_minus_sign: | N/A | Adventure |

View File

@@ -14,7 +14,7 @@ let value: GeoData = {
city: "Amsterdam",
europeanUnionMember: true,
timeZone: "America/St_Thomas",
postalCode: 802,
postalCode: "802",
inPrivacyRestrictedCountry: true,
inPrivacyRestrictedRegion: true,
subdivisions: "Saint Thomas",
@@ -32,7 +32,7 @@ let value: GeoData = {
| `city` | *string* | :heavy_check_mark: | The name of the city. | Amsterdam |
| `europeanUnionMember` | *boolean* | :heavy_minus_sign: | Indicates if the country is a member of the European Union. | true |
| `timeZone` | *string* | :heavy_check_mark: | The time zone of the country. | America/St_Thomas |
| `postalCode` | *number* | :heavy_check_mark: | The postal code of the location. | 802 |
| `postalCode` | *string* | :heavy_check_mark: | The postal code of the location. | 802 |
| `inPrivacyRestrictedCountry` | *boolean* | :heavy_minus_sign: | Indicates if the country has privacy restrictions. | true |
| `inPrivacyRestrictedRegion` | *boolean* | :heavy_minus_sign: | Indicates if the region has privacy restrictions. | true |
| `subdivisions` | *string* | :heavy_check_mark: | The name of the primary administrative subdivision. | Saint Thomas |

View File

@@ -24,7 +24,7 @@ let value: GetAllLibrariesDirectory = {
scannedAt: 1556281940,
content: true,
directory: true,
contentChangedAt: 3192854,
contentChangedAt: 1556281940,
hidden: 0,
location: [
{
@@ -37,26 +37,26 @@ let value: GetAllLibrariesDirectory = {
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | true |
| `art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
| `composite` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/composite/1705615584 |
| `filters` | *boolean* | :heavy_minus_sign: | N/A | true |
| `refreshing` | *boolean* | :heavy_minus_sign: | N/A | false |
| `thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
| `key` | *string* | :heavy_minus_sign: | N/A | 1 |
| `type` | *string* | :heavy_minus_sign: | N/A | movie |
| `title` | *string* | :heavy_minus_sign: | N/A | Movies |
| `agent` | *string* | :heavy_minus_sign: | N/A | tv.plex.agents.movie |
| `scanner` | *string* | :heavy_minus_sign: | N/A | Plex Movie |
| `language` | *string* | :heavy_minus_sign: | N/A | en-US |
| `uuid` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
| `updatedAt` | *number* | :heavy_minus_sign: | Unix epoch datetime | 1556281940 |
| `createdAt` | *number* | :heavy_minus_sign: | Unix epoch datetime | 1556281940 |
| `scannedAt` | *number* | :heavy_minus_sign: | Unix epoch datetime | 1556281940 |
| `content` | *boolean* | :heavy_minus_sign: | N/A | true |
| `directory` | *boolean* | :heavy_minus_sign: | N/A | true |
| `contentChangedAt` | *number* | :heavy_minus_sign: | N/A | 3192854 |
| `hidden` | *number* | :heavy_minus_sign: | N/A | 0 |
| `location` | [operations.Location](../../../sdk/models/operations/location.md)[] | :heavy_minus_sign: | N/A | |
| 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 | |

View File

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

View File

@@ -29,7 +29,7 @@ let value: GetAllLibrariesMediaContainer = {
scannedAt: 1556281940,
content: true,
directory: true,
contentChangedAt: 3192854,
contentChangedAt: 1556281940,
hidden: 0,
location: [
{
@@ -49,4 +49,4 @@ let value: GetAllLibrariesMediaContainer = {
| `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_minus_sign: | N/A | |
| `directory` | [operations.GetAllLibrariesDirectory](../../../sdk/models/operations/getalllibrariesdirectory.md)[] | :heavy_check_mark: | N/A | |

View File

@@ -7,7 +7,7 @@ import { GetAllLibrariesResponse } from "@lukehagar/plexjs/sdk/models/operations
let value: GetAllLibrariesResponse = {
contentType: "<value>",
statusCode: 613064,
statusCode: 308,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
@@ -36,7 +36,7 @@ let value: GetAllLibrariesResponse = {
scannedAt: 1556281940,
content: true,
directory: true,
contentChangedAt: 3192854,
contentChangedAt: 1556281940,
hidden: 0,
location: [
{

View File

@@ -32,7 +32,7 @@ let value: GetAllLibrariesResponseBody = {
scannedAt: 1556281940,
content: true,
directory: true,
contentChangedAt: 3192854,
contentChangedAt: 1556281940,
hidden: 0,
location: [
{
@@ -50,4 +50,4 @@ let value: GetAllLibrariesResponseBody = {
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `mediaContainer` | [operations.GetAllLibrariesMediaContainer](../../../sdk/models/operations/getalllibrariesmediacontainer.md) | :heavy_minus_sign: | N/A |
| `mediaContainer` | [operations.GetAllLibrariesMediaContainer](../../../sdk/models/operations/getalllibrariesmediacontainer.md) | :heavy_check_mark: | N/A |

View File

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

View File

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

View File

@@ -24,4 +24,4 @@ let value: GetBannerImageRequest = {
| `height` | *number* | :heavy_check_mark: | N/A | 396 |
| `minSize` | *number* | :heavy_check_mark: | N/A | 1 |
| `upscale` | *number* | :heavy_check_mark: | N/A | 1 |
| `xPlexToken` | *string* | :heavy_check_mark: | Plex Authentication Token | CV5xoxjTpFKUzBTShsaf |
| `xPlexToken` | *string* | :heavy_check_mark: | An authentication token, obtained from plex.tv | CV5xoxjTpFKUzBTShsaf |

View File

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

View File

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

View File

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

View File

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

View File

@@ -14,7 +14,7 @@ let value: GetGeoDataGeoData = {
city: "Amsterdam",
europeanUnionMember: true,
timeZone: "America/St_Thomas",
postalCode: 802,
postalCode: "802",
inPrivacyRestrictedCountry: true,
inPrivacyRestrictedRegion: true,
subdivisions: "Saint Thomas",
@@ -32,7 +32,7 @@ let value: GetGeoDataGeoData = {
| `city` | *string* | :heavy_check_mark: | The name of the city. | Amsterdam |
| `europeanUnionMember` | *boolean* | :heavy_minus_sign: | Indicates if the country is a member of the European Union. | true |
| `timeZone` | *string* | :heavy_check_mark: | The time zone of the country. | America/St_Thomas |
| `postalCode` | *number* | :heavy_check_mark: | The postal code of the location. | 802 |
| `postalCode` | *string* | :heavy_check_mark: | The postal code of the location. | 802 |
| `inPrivacyRestrictedCountry` | *boolean* | :heavy_minus_sign: | Indicates if the country has privacy restrictions. | true |
| `inPrivacyRestrictedRegion` | *boolean* | :heavy_minus_sign: | Indicates if the region has privacy restrictions. | true |
| `subdivisions` | *string* | :heavy_check_mark: | The name of the primary administrative subdivision. | Saint Thomas |

View File

@@ -7,7 +7,7 @@ import { GetGeoDataResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetGeoDataResponse = {
contentType: "<value>",
statusCode: 20218,
statusCode: 102,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),
@@ -18,7 +18,7 @@ let value: GetGeoDataResponse = {
city: "Amsterdam",
europeanUnionMember: true,
timeZone: "America/St_Thomas",
postalCode: 802,
postalCode: "802",
inPrivacyRestrictedCountry: true,
inPrivacyRestrictedRegion: true,
subdivisions: "Saint Thomas",

View File

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

View File

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

View File

@@ -0,0 +1,23 @@
# GetLibraryDetailsField
## Example Usage
```typescript
import { GetLibraryDetailsField } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryDetailsField = {
key: "label",
title: "Label",
type: "tag",
subType: "bitrate",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `key` | *string* | :heavy_minus_sign: | N/A | label |
| `title` | *string* | :heavy_minus_sign: | N/A | Label |
| `type` | *string* | :heavy_minus_sign: | N/A | tag |
| `subType` | *string* | :heavy_minus_sign: | N/A | bitrate |

View File

@@ -1,15 +1,24 @@
# GetPinGlobals
# GetLibraryDetailsFieldType
## Example Usage
```typescript
import { GetPinGlobals } from "@lukehagar/plexjs/sdk/models/operations";
import { GetLibraryDetailsFieldType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetPinGlobals = {};
let value: GetLibraryDetailsFieldType = {
type: "resolution",
operator: [
{
key: "=",
title: "is",
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `xPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | gcgzw5rz2xovp84b4vha3a40 |
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `type` | *string* | :heavy_minus_sign: | N/A | resolution |
| `operator` | [operations.GetLibraryDetailsOperator](../../../sdk/models/operations/getlibrarydetailsoperator.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -94,4 +94,4 @@ let value: GetLibraryDetailsMediaContainer = {
| `viewMode` | *number* | :heavy_minus_sign: | N/A | 65592 |
| `directory` | [operations.GetLibraryDetailsDirectory](../../../sdk/models/operations/getlibrarydetailsdirectory.md)[] | :heavy_minus_sign: | N/A | |
| `type` | [operations.GetLibraryDetailsType](../../../sdk/models/operations/getlibrarydetailstype.md)[] | :heavy_minus_sign: | N/A | |
| `fieldType` | [operations.FieldType](../../../sdk/models/operations/fieldtype.md)[] | :heavy_minus_sign: | N/A | |
| `fieldType` | [operations.GetLibraryDetailsFieldType](../../../sdk/models/operations/getlibrarydetailsfieldtype.md)[] | :heavy_minus_sign: | N/A | |

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,27 @@
# GetLibraryDetailsSort
## Example Usage
```typescript
import { GetLibraryDetailsSort } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryDetailsSort = {
default: "asc",
defaultDirection: "desc",
descKey: "random:desc",
firstCharacterKey: "/library/sections/1/firstCharacter",
key: "random",
title: "Randomly",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- |
| `default` | *string* | :heavy_minus_sign: | N/A | asc |
| `defaultDirection` | *string* | :heavy_minus_sign: | N/A | desc |
| `descKey` | *string* | :heavy_minus_sign: | N/A | random:desc |
| `firstCharacterKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/firstCharacter |
| `key` | *string* | :heavy_minus_sign: | N/A | random |
| `title` | *string* | :heavy_minus_sign: | N/A | Randomly |

View File

@@ -49,5 +49,5 @@ let value: GetLibraryDetailsType = {
| `title` | *string* | :heavy_minus_sign: | N/A | Movies |
| `active` | *boolean* | :heavy_minus_sign: | N/A | false |
| `filter` | [operations.GetLibraryDetailsFilter](../../../sdk/models/operations/getlibrarydetailsfilter.md)[] | :heavy_minus_sign: | N/A | |
| `sort` | [operations.Sort](../../../sdk/models/operations/sort.md)[] | :heavy_minus_sign: | N/A | |
| `field` | [operations.Field](../../../sdk/models/operations/field.md)[] | :heavy_minus_sign: | N/A | |
| `sort` | [operations.GetLibraryDetailsSort](../../../sdk/models/operations/getlibrarydetailssort.md)[] | :heavy_minus_sign: | N/A | |
| `field` | [operations.GetLibraryDetailsField](../../../sdk/models/operations/getlibrarydetailsfield.md)[] | :heavy_minus_sign: | N/A | |

View File

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

View File

@@ -8,7 +8,7 @@ import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetLibraryHubsResponse = {
contentType: "<value>",
statusCode: 616934,
statusCode: 101,
rawResponse: new Response("{\"message\": \"hello world\"}", {
headers: { "Content-Type": "application/json" },
}),

View File

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

View File

@@ -0,0 +1,17 @@
# GetLibraryItemsCollection
## Example Usage
```typescript
import { GetLibraryItemsCollection } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetLibraryItemsCollection = {
tag: "Working NL Subs",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `tag` | *string* | :heavy_minus_sign: | N/A | Working NL Subs |

View File

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

View File

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

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

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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