Compare commits

...

13 Commits

Author SHA1 Message Date
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
speakeasybot
9911164ab0 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.396.2 2024-09-12 00:11:23 +00:00
speakeasybot
ffedf47cad ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.395.1 2024-09-11 00:11:04 +00:00
speakeasybot
39d3a40524 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.394.0 2024-09-10 00:11:07 +00:00
speakeasybot
8dc802ca50 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.392.1 2024-09-09 00:13:27 +00:00
speakeasybot
5465f1e74c ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.392.1 2024-09-08 17:41:10 +00:00
Luke Hagar
2d100b8e75 Merge branch 'main' of https://github.com/LukeHagar/plexjs 2024-09-08 03:27:27 +00:00
Luke Hagar
0533836427 altered JSR publishing flow 2024-09-08 03:27:03 +00:00
speakeasybot
f0b08b9bd9 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.392.1 2024-09-08 03:24:22 +00:00
Luke Hagar
244adab882 Normalized imports, regenerated 2024-09-08 03:06:14 +00:00
1345 changed files with 79646 additions and 65045 deletions

View File

@@ -7,9 +7,8 @@ permissions:
on: on:
workflow_dispatch: workflow_dispatch:
push: registry_package:
branches: types: [published]
- main
jobs: jobs:
publish: publish:

30
.github/workflows/sdk_generation.yaml vendored Normal file
View File

@@ -0,0 +1,30 @@
name: Generate
permissions:
checks: write
contents: write
pull-requests: write
statuses: write
"on":
workflow_dispatch:
inputs:
force:
description: Force generation of SDKs
type: boolean
default: false
set_version:
description: optionally set a specific SDK version
type: string
schedule:
- cron: 0 0 * * *
jobs:
generate:
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
with:
force: ${{ github.event.inputs.force }}
mode: direct
set_version: ${{ github.event.inputs.set_version }}
speakeasy_version: latest
secrets:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
npm_token: ${{ secrets.NPM_TOKEN }}
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}

View File

@@ -1,31 +0,0 @@
name: Generate
permissions:
checks: write
contents: write
pull-requests: write
statuses: write
"on":
workflow_dispatch:
inputs:
force:
description: Force generation of SDKs
type: boolean
default: false
push_code_samples_only:
description: Force push only code samples from SDK generation
type: boolean
default: false
schedule:
- cron: 0 0 * * *
jobs:
generate:
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
with:
force: ${{ github.event.inputs.force }}
mode: direct
push_code_samples_only: ${{ fromJSON(github.event.inputs.push_code_samples_only != '' && github.event.inputs.push_code_samples_only || 'false') }}
speakeasy_version: latest
secrets:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
npm_token: ${{ secrets.NPM_TOKEN }}
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}

View File

@@ -1,20 +0,0 @@
name: Speakeasy Tagging
permissions:
checks: write
contents: write
pull-requests: write
statuses: write
"on":
push:
branches:
- main
paths: []
workflow_dispatch: {}
jobs:
tag:
uses: speakeasy-api/sdk-generation-action/.github/workflows/tag.yaml@v15
with:
registry_tags: main
secrets:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}

3
.gitignore vendored
View File

@@ -1,3 +1,6 @@
/sdk/models/errors
/sdk/types
/__tests__
/funcs /funcs
/core.* /core.*
/esm /esm

View File

@@ -7,3 +7,4 @@
/cjs /cjs
/.tshy /.tshy
/.tshy-* /.tshy-*
/__tests__

File diff suppressed because it is too large Load Diff

View File

@@ -12,7 +12,7 @@ generation:
auth: auth:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
typescript: typescript:
version: 0.20.0 version: 0.23.3
additionalDependencies: additionalDependencies:
dependencies: {} dependencies: {}
devDependencies: {} devDependencies: {}
@@ -25,11 +25,11 @@ typescript:
imports: imports:
option: openapi option: openapi
paths: paths:
callbacks: "" callbacks: sdk/models/callbacks
errors: "" errors: sdk/models/errors
operations: "" operations: sdk/models/operations
shared: "" shared: sdk/models/shared
webhooks: "" webhooks: sdk/models/webhooks
inputModelSuffix: input inputModelSuffix: input
maxMethodParams: 4 maxMethodParams: 4
methodArguments: require-security-and-request methodArguments: require-security-and-request

View File

@@ -1,9 +1,9 @@
speakeasyVersion: 1.390.7 speakeasyVersion: 1.396.9
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
sourceRevisionDigest: sha256:fff67c8d70fdb1711caf3e9c61cdc91a4c88ac98b3419c1d287db6ca95c7278b sourceRevisionDigest: sha256:92a2a2049bfbf67bea601a6b1b77d274e83a2d3b6968a0bc02dc290b21c7689d
sourceBlobDigest: sha256:235067aeeeba40f6a4b062d9b9e6816a6e1282023f9664b46cbc1af6495b4c53 sourceBlobDigest: sha256:f7e2709f52370dff16c1851a7a4e44a89f2e978e9cae335bffc10625950b3bd9
tags: tags:
- latest - latest
- main - main
@@ -11,27 +11,24 @@ targets:
plexjs: plexjs:
source: my-source source: my-source
sourceNamespace: my-source sourceNamespace: my-source
sourceRevisionDigest: sha256:fff67c8d70fdb1711caf3e9c61cdc91a4c88ac98b3419c1d287db6ca95c7278b sourceRevisionDigest: sha256:92a2a2049bfbf67bea601a6b1b77d274e83a2d3b6968a0bc02dc290b21c7689d
sourceBlobDigest: sha256:235067aeeeba40f6a4b062d9b9e6816a6e1282023f9664b46cbc1af6495b4c53 sourceBlobDigest: sha256:f7e2709f52370dff16c1851a7a4e44a89f2e978e9cae335bffc10625950b3bd9
codeSamplesNamespace: code-samples-typescript-plexjs codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:18919b4d52e4482e8771f2e3657d74cae7f332e481471d177e5b248a9ffc99bd codeSamplesRevisionDigest: sha256:0629cc7de460e272e162d660f403f38656e466953368d07e5b6b81a332f32e10
outLocation: /github/workspace/repo
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest
sources: sources:
my-source: my-source:
inputs: inputs:
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml - location: registry.speakeasyapi.dev/lukehagar/lukehagar/plex-api:main
registry:
location: registry.speakeasyapi.dev/lukehagar/lukehagar/my-source
targets: targets:
plexjs: plexjs:
target: typescript target: typescript
source: my-source source: my-source
publish: publish:
npm: npm:
token: $NPM_TOKEN token: $npm_token
codeSamples: codeSamples:
output: codeSamples.yaml output: codeSamples.yaml
registry: registry:

View File

@@ -3,16 +3,14 @@ speakeasyVersion: latest
sources: sources:
my-source: my-source:
inputs: inputs:
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml - location: registry.speakeasyapi.dev/lukehagar/lukehagar/plex-api:main
registry:
location: registry.speakeasyapi.dev/lukehagar/lukehagar/my-source
targets: targets:
plexjs: plexjs:
target: typescript target: typescript
source: my-source source: my-source
publish: publish:
npm: npm:
token: $NPM_TOKEN token: $npm_token
codeSamples: codeSamples:
output: codeSamples.yaml output: codeSamples.yaml
registry: registry:

View File

@@ -21,7 +21,7 @@ specific category of applications.
```typescript ```typescript
import { PlexAPICore } from "@lukehagar/plexjs/core.js"; import { PlexAPICore } from "@lukehagar/plexjs/core.js";
import { serverGetServerCapabilities } from "@lukehagar/plexjs/funcs/serverGetServerCapabilities.js"; import { serverGetServerCapabilities } from "@lukehagar/plexjs/funcs/serverGetServerCapabilities.js";
import { SDKValidationError } from "@lukehagar/plexjs/models/sdkvalidationerror.js"; import { SDKValidationError } from "@lukehagar/plexjs/sdk/models/errors/sdkvalidationerror.js";
// Use `PlexAPICore` for best tree-shaking performance. // Use `PlexAPICore` for best tree-shaking performance.
// You can create one instance of it to use across an application. // You can create one instance of it to use across an application.

161
README.md
View File

@@ -91,36 +91,21 @@ run();
<!-- Start Available Resources and Operations [operations] --> <!-- Start Available Resources and Operations [operations] -->
## Available Resources and Operations ## Available Resources and Operations
### [server](docs/sdks/server/README.md) <details open>
<summary>Available methods</summary>
* [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
### [activities](docs/sdks/activities/README.md) ### [activities](docs/sdks/activities/README.md)
* [getServerActivities](docs/sdks/activities/README.md#getserveractivities) - Get Server Activities * [getServerActivities](docs/sdks/activities/README.md#getserveractivities) - Get Server Activities
* [cancelServerActivities](docs/sdks/activities/README.md#cancelserveractivities) - Cancel 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) ### [butler](docs/sdks/butler/README.md)
* [getButlerTasks](docs/sdks/butler/README.md#getbutlertasks) - Get Butler tasks * [getButlerTasks](docs/sdks/butler/README.md#getbutlertasks) - Get Butler tasks
@@ -129,27 +114,11 @@ run();
* [startTask](docs/sdks/butler/README.md#starttask) - Start a single Butler task * [startTask](docs/sdks/butler/README.md#starttask) - Start a single Butler task
* [stopTask](docs/sdks/butler/README.md#stoptask) - Stop 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) ### [hubs](docs/sdks/hubs/README.md)
* [getGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs * [getGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs
* [getLibraryHubs](docs/sdks/hubs/README.md#getlibraryhubs) - Get library specific hubs * [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) ### [library](docs/sdks/library/README.md)
* [getFileHash](docs/sdks/library/README.md#getfilehash) - Get Hash Value * [getFileHash](docs/sdks/library/README.md#getfilehash) - Get Hash Value
@@ -165,16 +134,20 @@ run();
* [getTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content * [getTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
* [getOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck * [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) ### [log](docs/sdks/log/README.md)
* [logLine](docs/sdks/log/README.md#logline) - Logging a single line message. * [logLine](docs/sdks/log/README.md#logline) - Logging a single line message.
* [logMultiLine](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message * [logMultiLine](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message
* [enablePaperTrail](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail * [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) ### [playlists](docs/sdks/playlists/README.md)
* [createPlaylist](docs/sdks/playlists/README.md#createplaylist) - Create a Playlist * [createPlaylist](docs/sdks/playlists/README.md#createplaylist) - Create a Playlist
@@ -187,18 +160,34 @@ run();
* [addPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist * [addPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist
* [uploadPlaylist](docs/sdks/playlists/README.md#uploadplaylist) - Upload 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. * [getCompanionsData](docs/sdks/plex/README.md#getcompanionsdata) - Get Companions Data
* [getSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information * [getUserFriends](docs/sdks/plex/README.md#getuserfriends) - Get list of friends of the user logged in
* [getUserDetails](docs/sdks/authentication/README.md#getuserdetails) - Get User Data By Token * [getGeoData](docs/sdks/plex/README.md#getgeodata) - Get Geo Data
* [postUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata) - Get User SignIn 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 ### [search](docs/sdks/search/README.md)
* [getResourcesStatistics](docs/sdks/statistics/README.md#getresourcesstatistics) - Get Resources Statistics
* [getBandwidthStatistics](docs/sdks/statistics/README.md#getbandwidthstatistics) - Get Bandwidth Statistics * [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) ### [sessions](docs/sdks/sessions/README.md)
@@ -207,11 +196,28 @@ run();
* [getTranscodeSessions](docs/sdks/sessions/README.md#gettranscodesessions) - Get Transcode Sessions * [getTranscodeSessions](docs/sdks/sessions/README.md#gettranscodesessions) - Get Transcode Sessions
* [stopTranscodeSession](docs/sdks/sessions/README.md#stoptranscodesession) - Stop a Transcode Session * [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) ### [updater](docs/sdks/updater/README.md)
* [getUpdateStatus](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates * [getUpdateStatus](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates
* [checkForUpdates](docs/sdks/updater/README.md#checkforupdates) - Checking for updates * [checkForUpdates](docs/sdks/updater/README.md#checkforupdates) - Checking for updates
* [applyUpdates](docs/sdks/updater/README.md#applyupdates) - Apply 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] --> <!-- End Available Resources and Operations [operations] -->
<!-- Start Error Handling [errors] --> <!-- Start Error Handling [errors] -->
@@ -220,16 +226,21 @@ run();
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. 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.
| Error Object | Status Code | Content Type | | Error Object | Status Code | Content Type |
| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| models.GetServerCapabilitiesServerResponseBody | 401 | application/json | | errors.GetServerCapabilitiesBadRequest | 400 | application/json |
| models.SDKError | 4xx-5xx | */* | | 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. 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.
```typescript ```typescript
import { GetServerCapabilitiesServerResponseBody, PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { SDKValidationError } from "@lukehagar/plexjs/models"; import {
GetServerCapabilitiesBadRequest,
GetServerCapabilitiesUnauthorized,
SDKValidationError,
} from "@lukehagar/plexjs/sdk/models/errors";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
@@ -245,15 +256,20 @@ async function run() {
console.log(result); console.log(result);
} catch (err) { } catch (err) {
switch (true) { switch (true) {
case err instanceof SDKValidationError: { case (err instanceof SDKValidationError): {
// Validation errors can be pretty-printed // Validation errors can be pretty-printed
console.error(err.pretty()); console.error(err.pretty());
// Raw value may also be inspected // Raw value may also be inspected
console.error(err.rawValue); console.error(err.rawValue);
return; return;
} }
case err instanceof GetServerCapabilitiesServerResponseBody: { case (err instanceof GetServerCapabilitiesBadRequest): {
// Handle err.data$: GetServerCapabilitiesServerResponseBodyData // Handle err.data$: GetServerCapabilitiesBadRequestData
console.error(err);
return;
}
case (err instanceof GetServerCapabilitiesUnauthorized): {
// Handle err.data$: GetServerCapabilitiesUnauthorizedData
console.error(err); console.error(err);
return; return;
} }
@@ -344,7 +360,7 @@ const plexAPI = new PlexAPI({
async function run() { async function run() {
const result = await plexAPI.plex.getCompanionsData({ const result = await plexAPI.plex.getCompanionsData({
serverURL: "https://plex.tv/api/v2", serverURL: "https://plex.tv/api/v2/",
}); });
// Handle the result // Handle the result
@@ -461,8 +477,8 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
- [activitiesCancelServerActivities](docs/sdks/activities/README.md#cancelserveractivities) - [activitiesCancelServerActivities](docs/sdks/activities/README.md#cancelserveractivities)
- [activitiesGetServerActivities](docs/sdks/activities/README.md#getserveractivities) - [activitiesGetServerActivities](docs/sdks/activities/README.md#getserveractivities)
- [authenticationGetSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation) - [authenticationGetSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation)
- [authenticationGetTokenDetails](docs/sdks/authentication/README.md#gettokendetails)
- [authenticationGetTransientToken](docs/sdks/authentication/README.md#gettransienttoken) - [authenticationGetTransientToken](docs/sdks/authentication/README.md#gettransienttoken)
- [authenticationGetUserDetails](docs/sdks/authentication/README.md#getuserdetails)
- [authenticationPostUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata) - [authenticationPostUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata)
- [butlerGetButlerTasks](docs/sdks/butler/README.md#getbutlertasks) - [butlerGetButlerTasks](docs/sdks/butler/README.md#getbutlertasks)
- [butlerStartAllTasks](docs/sdks/butler/README.md#startalltasks) - [butlerStartAllTasks](docs/sdks/butler/README.md#startalltasks)
@@ -560,7 +576,12 @@ This is used to track the client application and its usage
### Example ### Example
```typescript ```typescript
import { IncludeHttps, IncludeIPv6, IncludeRelay, PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import {
IncludeHttps,
IncludeIPv6,
IncludeRelay,
} from "@lukehagar/plexjs/sdk/models/operations";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
@@ -568,12 +589,12 @@ const plexAPI = new PlexAPI({
}); });
async function run() { async function run() {
const result = await plexAPI.plex.getServerResources({ const result = await plexAPI.plex.getServerResources(
xPlexToken: "CV5xoxjTpFKUzBTShsaf", "gcgzw5rz2xovp84b4vha3a40",
includeHttps: IncludeHttps.One, IncludeHttps.One,
includeRelay: IncludeRelay.One, IncludeRelay.One,
includeIPv6: IncludeIPv6.One, IncludeIPv6.One,
}); );
// Handle the result // Handle the result
console.log(result); console.log(result);

View File

@@ -949,3 +949,103 @@ Based on:
- [typescript v0.20.0] . - [typescript v0.20.0] .
### Releases ### Releases
- [NPM v0.20.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.20.0 - . - [NPM v0.20.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.20.0 - .
## 2024-09-08 03:21:12
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.392.1 (2.411.9) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.20.2] .
### Releases
- [NPM v0.20.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.20.2 - .
## 2024-09-08 17:37:50
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.392.1 (2.411.9) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.21.0] .
### Releases
- [NPM v0.21.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.21.0 - .
## 2024-09-09 00:09:42
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.392.1 (2.411.9) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.21.1] .
### Releases
- [NPM v0.21.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.21.1 - .
## 2024-09-10 00:09:01
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.394.0 (2.413.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.22.0] .
### Releases
- [NPM v0.22.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.22.0 - .
## 2024-09-11 00:09:01
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.395.1 (2.415.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.22.1] .
### Releases
- [NPM v0.22.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.22.1 - .
## 2024-09-12 00:09:10
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.396.2 (2.415.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [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 - .

View File

@@ -3,447 +3,447 @@ info:
title: CodeSamples overlay for typescript target title: CodeSamples overlay for typescript target
version: 0.0.0 version: 0.0.0
actions: actions:
- target: $["paths"]["/security/resources"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getSourceConnectionInformation
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.authentication.getSourceConnectionInformation(\"server://client-identifier\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/status/sessions"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getSessions
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.sessions.getSessions();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/servers"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getServerList
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getServerList();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/butler"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: stopAllTasks
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.butler.stopAllTasks();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/butler/{taskName}"]["post"]
update:
x-codeSamples:
- lang: typescript
label: startTask
source: "import { PlexAPI, TaskName } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.butler.startTask(TaskName.CleanOldBundles);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/home"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getHomeData
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getHomeData();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}"]["put"]
update:
x-codeSamples:
- lang: typescript
label: updatePlaylist
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.updatePlaylist(3915);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/metadata/{ratingKey}/children"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getMetadataChildren
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getMetadataChildren(1539.14, \"Stream\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/users/signin"]["post"]
update:
x-codeSamples:
- lang: typescript
label: data
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.authentication.postUsersSignInData(\"gcgzw5rz2xovp84b4vha3a40\", {\n login: \"username@email.com\",\n password: \"password123\",\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/statistics/bandwidth"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getBandwidthStatistics
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.statistics.getBandwidthStatistics(4);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/user"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getUserDetails
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.authentication.getUserDetails(\"CV5xoxjTpFKUzBTShsaf\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/pins"]["post"]
update:
x-codeSamples:
- lang: typescript
label: getPin
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getPin(\"gcgzw5rz2xovp84b4vha3a40\", \"Plex Web\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionKey}/{tag}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: items
source: "import { IncludeGuids, IncludeMeta, PlexAPI, Tag, Type } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getLibraryItems({\n sectionKey: 9518,\n tag: Tag.Edition,\n includeGuids: IncludeGuids.One,\n includeMeta: IncludeMeta.One,\n type: Type.Two,\n xPlexContainerStart: 0,\n xPlexContainerSize: 50,\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/all/top"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getTopWatchedContent
source: "import { GetTopWatchedContentQueryParamType, PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getTopWatchedContent(GetTopWatchedContentQueryParamType.Two, 1);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists"]["post"]
update:
x-codeSamples:
- lang: typescript
label: createPlaylist
source: "import { CreatePlaylistQueryParamType, PlexAPI, Smart } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.createPlaylist({\n title: \"<value>\",\n type: CreatePlaylistQueryParamType.Photo,\n smart: Smart.One,\n uri: \"https://inborn-brochure.biz\",\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}/items"]["put"]
update:
x-codeSamples:
- lang: typescript
label: addPlaylistContents
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.addPlaylistContents(8502.01, \"server://12345/com.plexapp.plugins.library/library/metadata/1\", 123);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/media/providers"]["get"]
update:
x-codeSamples:
- lang: typescript
label: providers
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getMediaProviders(\"CV5xoxjTpFKUzBTShsaf\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/hubs/sections/{sectionId}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getLibraryHubs
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.hubs.getLibraryHubs(6728.76);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/hubs/search/voice"]["get"]
update:
x-codeSamples:
- lang: typescript
label: performVoiceSearch
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.search.performVoiceSearch(\"dead+poop\", 5);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionKey}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: details
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getLibraryDetails(9518);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/watchlist/{filter}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: list
source: "import { Filter, PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.watchlist.getWatchList({\n filter: Filter.Available,\n xPlexContainerStart: 0,\n xPlexContainerSize: 50,\n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\",\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/"]["get"] - target: $["paths"]["/"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: getServerCapabilities label: getServerCapabilities
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getServerCapabilities();\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getServerCapabilities();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: deletePlaylist
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.deletePlaylist(216.22);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/butler"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getButlerTasks
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.butler.getButlerTasks();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections"]["get"]
update:
x-codeSamples:
- lang: typescript
label: libraries
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getAllLibraries();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/log"]["get"]
update:
x-codeSamples:
- lang: typescript
label: logLine
source: "import { Level, PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.log.logLine(Level.Three, \"Test log message\", \"Postman\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/clients"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getAvailableClients
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getAvailableClients();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/devices"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getDevices
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getDevices();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/photo/:/transcode"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getResizedPhoto
source: "import { MinSize, PlexAPI, Upscale } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getResizedPhoto({\n width: 110,\n height: 165,\n opacity: 100,\n blur: 20,\n minSize: MinSize.One,\n upscale: Upscale.Zero,\n url: \"/library/metadata/49564/thumb/1654258204\",\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/metadata/{ratingKey}/thumb"]["get"]
update:
x-codeSamples:
- lang: typescript
label: image
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.media.getThumbImage({\n ratingKey: 9518,\n width: 396,\n height: 396,\n minSize: 1,\n upscale: 1,\n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\",\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/activities"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getServerActivities
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.activities.getServerActivities();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}/items"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getPlaylistContents
source: "import { GetPlaylistContentsQueryParamType, PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.getPlaylistContents(5004.46, GetPlaylistContentsQueryParamType.Two);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}/items"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: clearPlaylistContents
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.clearPlaylistContents(1893.18);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/statistics/media"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getStatistics
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.statistics.getStatistics(4);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/transcode/sessions"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getTranscodeSessions
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.sessions.getTranscodeSessions();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/updater/apply"]["put"]
update:
x-codeSamples:
- lang: typescript
label: applyUpdates
source: "import { PlexAPI, Skip, Tonight } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.updater.applyUpdates(Tonight.One, Skip.One);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getPlaylists
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.getPlaylists();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/statistics/resources"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getResourcesStatistics
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.statistics.getResourcesStatistics(4);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/status/sessions/history/all"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getSessionHistory
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.sessions.getSessionHistory(\"viewedAt:desc\", 1, {}, 12);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/video/:/transcode/universal/start.mpd"]["get"]
update:
x-codeSamples:
- lang: typescript
label: startUniversalTranscode
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.video.startUniversalTranscode({\n hasMDE: 1,\n path: \"/library/metadata/23409\",\n mediaIndex: 0,\n partIndex: 0,\n protocol: \"hls\",\n fastSeek: 0,\n directPlay: 0,\n directStream: 0,\n subtitleSize: 100,\n subtites: \"burn\",\n audioBoost: 100,\n location: \"lan\",\n mediaBufferSize: 102400,\n session: \"zvcage8b7rkioqcm8f4uns4c\",\n addDebugOverlay: 0,\n autoAdjustQuality: 0,\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/butler/{taskName}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: stopTask
source: "import { PathParamTaskName, PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.butler.stopTask(PathParamTaskName.BackupDatabase);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/pins/{pinID}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getTokenByPinId
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getTokenByPinId(408895, \"gcgzw5rz2xovp84b4vha3a40\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/hubs/search"]["get"]
update:
x-codeSamples:
- lang: typescript
label: performSearch
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.search.performSearch(\"arnold\", 5);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/search"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getSearchResults
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.search.getSearchResults(\"110\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/updater/check"]["put"]
update:
x-codeSamples:
- lang: typescript
label: checkForUpdates
source: "import { Download, PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.updater.checkForUpdates(Download.One);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/identity"]["get"]
update:
x-codeSamples:
- lang: typescript
label: identity
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getServerIdentity();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/:/scrobble"]["get"]
update:
x-codeSamples:
- lang: typescript
label: markPlayed
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.media.markPlayed(59398);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/resources"]["get"]
update:
x-codeSamples:
- lang: typescript
label: resources
source: "import { IncludeHttps, IncludeIPv6, IncludeRelay, PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getServerResources({\n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\",\n includeHttps: IncludeHttps.One,\n includeRelay: IncludeRelay.One,\n includeIPv6: IncludeIPv6.One,\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionKey}/refresh"]["get"]
update:
x-codeSamples:
- lang: typescript
label: metadata
source: "import { Force, PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getRefreshLibraryMetadata(9518, Force.One);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/security/token"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getTransientToken
source: "import { GetTransientTokenQueryParamType, PlexAPI, Scope } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.authentication.getTransientToken(GetTransientTokenQueryParamType.Delegation, Scope.All);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/:/prefs"]["get"] - target: $["paths"]["/:/prefs"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: getServerPreferences label: getServerPreferences
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getServerPreferences();\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getServerPreferences();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/recentlyAdded"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getRecentlyAdded
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getRecentlyAdded(0, 50);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionKey}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: deleteLibrary
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.deleteLibrary(9518);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionKey}/search"]["get"]
update:
x-codeSamples:
- lang: typescript
label: library
source: "import { PlexAPI, QueryParamType } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getSearchLibrary(9518, QueryParamType.Two);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/log/networked"]["get"]
update:
x-codeSamples:
- lang: typescript
label: enablePaperTrail
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.log.enablePaperTrail();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/transcode/sessions/{sessionKey}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: stopTranscodeSession
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.sessions.stopTranscodeSession(\"zz7llzqlx8w9vnrsbnwhbmep\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/myplex/account"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getMyPlexAccount
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getMyPlexAccount();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/:/unscrobble"]["get"]
update:
x-codeSamples:
- lang: typescript
label: markUnplayed
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.media.markUnplayed(59398);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/geoip"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getGeoData
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getGeoData();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/hubs"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getGlobalHubs
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.hubs.getGlobalHubs();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/metadata/{ratingKey}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: key
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getMetaDataByRatingKey(9518);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/:/progress"]["post"] - target: $["paths"]["/:/progress"]["post"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: updatePlayProgress label: updatePlayProgress
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.media.updatePlayProgress(\"<key>\", 90000, \"played\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.media.updatePlayProgress(\"<key>\", 90000, \"played\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/onDeck"]["get"] - target: $["paths"]["/:/scrobble"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: getOnDeck label: markPlayed
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getOnDeck();\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.media.markPlayed(59398);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}"]["get"] - target: $["paths"]["/:/timeline"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: getPlaylist label: getTimeline
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.getPlaylist(4109.48);\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { State } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.video.getTimeline({\n ratingKey: 23409,\n key: \"/library/metadata/23409\",\n state: State.Playing,\n hasMDE: 1,\n time: 2000,\n duration: 10000,\n context: \"home:hub.continueWatching\",\n playQueueItemID: 1,\n playBackTime: 2000,\n row: 1,\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/metadata/{ratingKey}/banner"]["get"] - target: $["paths"]["/:/unscrobble"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: image label: markUnplayed
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.media.getBannerImage({\n ratingKey: 9518,\n width: 396,\n height: 396,\n minSize: 1,\n upscale: 1,\n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\",\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.media.markUnplayed(59398);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/friends"]["get"] - target: $["paths"]["/activities"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: getUserFriends label: getServerActivities
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getUserFriends();\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.activities.getServerActivities();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/log"]["post"]
update:
x-codeSamples:
- lang: typescript
label: logMultiLine
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.log.logMultiLine(\"level=4&message=Test%20message%201&source=postman\\n\" +\n \"level=3&message=Test%20message%202&source=postman\\n\" +\n \"level=1&message=Test%20message%203&source=postman\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/updater/status"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getUpdateStatus
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.updater.getUpdateStatus();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/activities/{activityUUID}"]["delete"] - target: $["paths"]["/activities/{activityUUID}"]["delete"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: cancelServerActivities label: cancelServerActivities
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.activities.cancelServerActivities(\"25b71ed5-0f9d-461c-baa7-d404e9e10d3e\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.activities.cancelServerActivities(\"25b71ed5-0f9d-461c-baa7-d404e9e10d3e\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/upload"]["post"] - target: $["paths"]["/butler"]["delete"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: uploadPlaylist label: stopAllTasks
source: "import { PlexAPI, QueryParamForce } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.uploadPlaylist(\"/home/barkley/playlist.m3u\", QueryParamForce.Zero);\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.butler.stopAllTasks();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/:/timeline"]["get"] - target: $["paths"]["/butler"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: getTimeline label: getButlerTasks
source: "import { PlexAPI, State } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.video.getTimeline({\n ratingKey: 23409,\n key: \"/library/metadata/23409\",\n state: State.Playing,\n hasMDE: 1,\n time: 2000,\n duration: 10000,\n context: \"home:hub.continueWatching\",\n playQueueItemID: 1,\n playBackTime: 2000,\n row: 1,\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.butler.getButlerTasks();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/butler"]["post"] - target: $["paths"]["/butler"]["post"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: startAllTasks label: startAllTasks
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.butler.startAllTasks();\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.butler.startAllTasks();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/butler/{taskName}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: stopTask
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { PathParamTaskName } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.butler.stopTask(PathParamTaskName.BackupDatabase);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/butler/{taskName}"]["post"]
update:
x-codeSamples:
- lang: typescript
label: startTask
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { TaskName } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.butler.startTask(TaskName.CleanOldBundles);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/clients"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getAvailableClients
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getAvailableClients();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/companions"]["get"] - target: $["paths"]["/companions"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: getCompanionsData label: getCompanionsData
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getCompanionsData();\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getCompanionsData();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/devices"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getDevices
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getDevices();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/friends"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getUserFriends
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getUserFriends();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/geoip"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getGeoData
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getGeoData();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/home"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getHomeData
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getHomeData();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/hubs"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getGlobalHubs
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.hubs.getGlobalHubs();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/hubs/search"]["get"]
update:
x-codeSamples:
- lang: typescript
label: performSearch
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.search.performSearch(\"dylan\", 5);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/hubs/search/voice"]["get"]
update:
x-codeSamples:
- lang: typescript
label: performVoiceSearch
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.search.performVoiceSearch(\"dead+poop\", 5);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/hubs/sections/{sectionId}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getLibraryHubs
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.hubs.getLibraryHubs(6728.76);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/identity"]["get"]
update:
x-codeSamples:
- lang: typescript
label: identity
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getServerIdentity();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/all/top"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getTopWatchedContent
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { GetTopWatchedContentQueryParamType } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getTopWatchedContent(GetTopWatchedContentQueryParamType.Two, 1);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/hashes"]["get"] - target: $["paths"]["/library/hashes"]["get"]
update: update:
x-codeSamples: x-codeSamples:
- lang: typescript - lang: typescript
label: getFileHash label: getFileHash
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getFileHash(\"file://C:\\Image.png&type=13\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();" source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getFileHash(\"file://C:\\Image.png&type=13\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/metadata/{ratingKey}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: key
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getMetaDataByRatingKey(9518);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/metadata/{ratingKey}/banner"]["get"]
update:
x-codeSamples:
- lang: typescript
label: image
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.media.getBannerImage({\n ratingKey: 9518,\n width: 396,\n height: 396,\n minSize: 1,\n upscale: 1,\n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\",\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/metadata/{ratingKey}/children"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getMetadataChildren
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getMetadataChildren(1539.14, \"Stream\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/metadata/{ratingKey}/thumb"]["get"]
update:
x-codeSamples:
- lang: typescript
label: image
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.media.getThumbImage({\n ratingKey: 9518,\n width: 396,\n height: 396,\n minSize: 1,\n upscale: 1,\n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\",\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/onDeck"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getOnDeck
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getOnDeck();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/recentlyAdded"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getRecentlyAdded
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getRecentlyAdded(0, 50);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections"]["get"]
update:
x-codeSamples:
- lang: typescript
label: libraries
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getAllLibraries();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/watchlist/{filter}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: list
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { Filter } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.watchlist.getWatchList({\n filter: Filter.Available,\n xPlexContainerStart: 0,\n xPlexContainerSize: 50,\n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\",\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionKey}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: deleteLibrary
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.deleteLibrary(9518);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionKey}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: details
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getLibraryDetails(9518);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionKey}/refresh"]["get"]
update:
x-codeSamples:
- lang: typescript
label: metadata
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { Force } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getRefreshLibraryMetadata(9518, Force.One);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionKey}/search"]["get"]
update:
x-codeSamples:
- lang: typescript
label: library
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { QueryParamType } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getSearchLibrary(9518, QueryParamType.Two);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/library/sections/{sectionKey}/{tag}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: items
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { IncludeGuids, IncludeMeta, Tag, Type } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.library.getLibraryItems({\n sectionKey: 9518,\n tag: Tag.Edition,\n includeGuids: IncludeGuids.One,\n includeMeta: IncludeMeta.One,\n type: Type.Two,\n xPlexContainerStart: 0,\n xPlexContainerSize: 50,\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/log"]["get"]
update:
x-codeSamples:
- lang: typescript
label: logLine
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { Level } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.log.logLine(Level.Three, \"Test log message\", \"Postman\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/log"]["post"]
update:
x-codeSamples:
- lang: typescript
label: logMultiLine
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.log.logMultiLine(\"level=4&message=Test%20message%201&source=postman\\n\" +\n \"level=3&message=Test%20message%202&source=postman\\n\" +\n \"level=1&message=Test%20message%203&source=postman\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/log/networked"]["get"]
update:
x-codeSamples:
- lang: typescript
label: enablePaperTrail
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.log.enablePaperTrail();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/media/providers"]["get"]
update:
x-codeSamples:
- lang: typescript
label: providers
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getMediaProviders(\"CV5xoxjTpFKUzBTShsaf\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/myplex/account"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getMyPlexAccount
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getMyPlexAccount();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/photo/:/transcode"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getResizedPhoto
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { MinSize, Upscale } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getResizedPhoto({\n width: 110,\n height: 165,\n opacity: 100,\n blur: 20,\n minSize: MinSize.One,\n upscale: Upscale.One,\n url: \"/library/metadata/49564/thumb/1654258204\",\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/pins"]["post"]
update:
x-codeSamples:
- lang: typescript
label: getPin
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getPin(\"gcgzw5rz2xovp84b4vha3a40\", \"Plex Web\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/pins/{pinID}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getTokenByPinId
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getTokenByPinId(408895, \"gcgzw5rz2xovp84b4vha3a40\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getPlaylists
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.getPlaylists();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists"]["post"]
update:
x-codeSamples:
- lang: typescript
label: createPlaylist
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { CreatePlaylistQueryParamType, Smart } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.createPlaylist({\n title: \"<value>\",\n type: CreatePlaylistQueryParamType.Photo,\n smart: Smart.One,\n uri: \"https://inborn-brochure.biz\",\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/upload"]["post"]
update:
x-codeSamples:
- lang: typescript
label: uploadPlaylist
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { QueryParamForce } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.uploadPlaylist(\"/home/barkley/playlist.m3u\", QueryParamForce.Zero);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: deletePlaylist
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.deletePlaylist(216.22);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getPlaylist
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.getPlaylist(4109.48);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}"]["put"]
update:
x-codeSamples:
- lang: typescript
label: updatePlaylist
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.updatePlaylist(3915);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}/items"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: clearPlaylistContents
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.clearPlaylistContents(1893.18);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}/items"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getPlaylistContents
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { GetPlaylistContentsQueryParamType } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.getPlaylistContents(5004.46, GetPlaylistContentsQueryParamType.Two);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/playlists/{playlistID}/items"]["put"]
update:
x-codeSamples:
- lang: typescript
label: addPlaylistContents
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.playlists.addPlaylistContents(8502.01, \"server://12345/com.plexapp.plugins.library/library/metadata/1\", 123);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/resources"]["get"]
update:
x-codeSamples:
- lang: typescript
label: resources
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { IncludeHttps, IncludeIPv6, IncludeRelay } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.plex.getServerResources(\"gcgzw5rz2xovp84b4vha3a40\", IncludeHttps.One, IncludeRelay.One, IncludeIPv6.One);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/search"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getSearchResults
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.search.getSearchResults(\"110\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/security/resources"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getSourceConnectionInformation
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.authentication.getSourceConnectionInformation(\"server://client-identifier\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/security/token"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getTransientToken
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { GetTransientTokenQueryParamType, Scope } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.authentication.getTransientToken(GetTransientTokenQueryParamType.Delegation, Scope.All);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/servers"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getServerList
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.server.getServerList();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/statistics/bandwidth"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getBandwidthStatistics
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.statistics.getBandwidthStatistics(4);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/statistics/media"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getStatistics
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.statistics.getStatistics(4);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/statistics/resources"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getResourcesStatistics
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.statistics.getResourcesStatistics(4);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/status/sessions"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getSessions
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.sessions.getSessions();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/status/sessions/history/all"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getSessionHistory
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.sessions.getSessionHistory(\"viewedAt:desc\", 1, {}, 12);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/transcode/sessions"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getTranscodeSessions
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.sessions.getTranscodeSessions();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/transcode/sessions/{sessionKey}"]["delete"]
update:
x-codeSamples:
- lang: typescript
label: stopTranscodeSession
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.sessions.stopTranscodeSession(\"zz7llzqlx8w9vnrsbnwhbmep\");\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/updater/apply"]["put"]
update:
x-codeSamples:
- lang: typescript
label: applyUpdates
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { Skip, Tonight } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.updater.applyUpdates(Tonight.One, Skip.One);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/updater/check"]["put"]
update:
x-codeSamples:
- lang: typescript
label: checkForUpdates
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\nimport { Download } from \"@lukehagar/plexjs/sdk/models/operations\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.updater.checkForUpdates(Download.One);\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/updater/status"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getUpdateStatus
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.updater.getUpdateStatus();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/user"]["get"]
update:
x-codeSamples:
- lang: typescript
label: getTokenDetails
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.authentication.getTokenDetails();\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/users/signin"]["post"]
update:
x-codeSamples:
- lang: typescript
label: data
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.authentication.postUsersSignInData(\"gcgzw5rz2xovp84b4vha3a40\", {\n login: \"username@email.com\",\n password: \"password123\",\n verificationCode: \"123456\",\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"
- target: $["paths"]["/video/:/transcode/universal/start.mpd"]["get"]
update:
x-codeSamples:
- lang: typescript
label: startUniversalTranscode
source: "import { PlexAPI } from \"@lukehagar/plexjs\";\n\nconst plexAPI = new PlexAPI({\n accessToken: \"<YOUR_API_KEY_HERE>\",\n xPlexClientIdentifier: \"gcgzw5rz2xovp84b4vha3a40\",\n});\n\nasync function run() {\n const result = await plexAPI.video.startUniversalTranscode({\n hasMDE: 1,\n path: \"/library/metadata/23409\",\n mediaIndex: 0,\n partIndex: 0,\n protocol: \"hls\",\n fastSeek: 0,\n directPlay: 0,\n directStream: 0,\n subtitleSize: 100,\n subtites: \"burn\",\n audioBoost: 100,\n location: \"lan\",\n mediaBufferSize: 102400,\n session: \"zvcage8b7rkioqcm8f4uns4c\",\n addDebugOverlay: 0,\n autoAdjustQuality: 0,\n });\n \n // Handle the result\n console.log(result)\n}\n\nrun();"

View File

@@ -1,22 +0,0 @@
# Activity
## Example Usage
```typescript
import { Activity } from "@lukehagar/plexjs";
let value: Activity = {};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- |
| `uuid` | *string* | :heavy_minus_sign: | N/A |
| `type` | *string* | :heavy_minus_sign: | N/A |
| `cancellable` | *boolean* | :heavy_minus_sign: | N/A |
| `userID` | *number* | :heavy_minus_sign: | N/A |
| `title` | *string* | :heavy_minus_sign: | N/A |
| `subtitle` | *string* | :heavy_minus_sign: | N/A |
| `progress` | *number* | :heavy_minus_sign: | N/A |
| `context` | [models.Context](../models/context.md) | :heavy_minus_sign: | N/A |

View File

@@ -1,39 +0,0 @@
# AddPlaylistContentsMediaContainer
## Example Usage
```typescript
import { AddPlaylistContentsMediaContainer } from "@lukehagar/plexjs";
let value: AddPlaylistContentsMediaContainer = {
size: 1,
leafCountAdded: 1,
leafCountRequested: 1,
metadata: [
{
ratingKey: "94",
key: "/playlists/94/items",
guid: "com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2",
type: "playlist",
title: "A great playlist",
summary: "One of my great playlists",
smart: false,
playlistType: "video",
composite: "/playlists/94/composite/1705800070",
duration: 423000,
leafCount: 3,
addedAt: 1705716458,
updatedAt: 1705800070,
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `size` | *number* | :heavy_minus_sign: | N/A | 1 |
| `leafCountAdded` | *number* | :heavy_minus_sign: | N/A | 1 |
| `leafCountRequested` | *number* | :heavy_minus_sign: | N/A | 1 |
| `metadata` | [models.AddPlaylistContentsMetadata](../models/addplaylistcontentsmetadata.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -1,18 +0,0 @@
# AddPlaylistContentsPlaylistsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { AddPlaylistContentsPlaylistsResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `errors` | [models.AddPlaylistContentsErrors](../models/addplaylistcontentserrors.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,48 +0,0 @@
# AddPlaylistContentsResponse
## Example Usage
```typescript
import { AddPlaylistContentsResponse } from "@lukehagar/plexjs";
let value: AddPlaylistContentsResponse = {
contentType: "<value>",
statusCode: 820994,
rawResponse: new Response('{"message": "hello world"}', {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 1,
leafCountAdded: 1,
leafCountRequested: 1,
metadata: [
{
ratingKey: "94",
key: "/playlists/94/items",
guid: "com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2",
type: "playlist",
title: "A great playlist",
summary: "One of my great playlists",
smart: false,
playlistType: "video",
composite: "/playlists/94/composite/1705800070",
duration: 423000,
leafCount: 3,
addedAt: 1705716458,
updatedAt: 1705800070,
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [models.AddPlaylistContentsResponseBody](../models/addplaylistcontentsresponsebody.md) | :heavy_minus_sign: | Playlist Updated |

View File

@@ -1,40 +0,0 @@
# AddPlaylistContentsResponseBody
Playlist Updated
## Example Usage
```typescript
import { AddPlaylistContentsResponseBody } from "@lukehagar/plexjs";
let value: AddPlaylistContentsResponseBody = {
mediaContainer: {
size: 1,
leafCountAdded: 1,
leafCountRequested: 1,
metadata: [
{
ratingKey: "94",
key: "/playlists/94/items",
guid: "com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2",
type: "playlist",
title: "A great playlist",
summary: "One of my great playlists",
smart: false,
playlistType: "video",
composite: "/playlists/94/composite/1705800070",
duration: 423000,
leafCount: 3,
addedAt: 1705716458,
updatedAt: 1705800070,
},
],
},
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `mediaContainer` | [models.AddPlaylistContentsMediaContainer](../models/addplaylistcontentsmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -1,18 +0,0 @@
# ApplyUpdatesResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { ApplyUpdatesResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [models.ApplyUpdatesErrors](../models/applyupdateserrors.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,19 +0,0 @@
# Billing
## Example Usage
```typescript
import { Billing } from "@lukehagar/plexjs";
let value: Billing = {
internalPaymentMethod: {},
paymentMethodId: 317983,
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| `internalPaymentMethod` | [models.InternalPaymentMethod](../models/internalpaymentmethod.md) | :heavy_check_mark: | N/A |
| `paymentMethodId` | *number* | :heavy_check_mark: | N/A |

View File

@@ -1,25 +0,0 @@
# ButlerTasks
## Example Usage
```typescript
import { ButlerTasks } from "@lukehagar/plexjs";
let value: ButlerTasks = {
butlerTask: [
{
name: "BackupDatabase",
interval: 3,
title: "Backup Database",
description:
"Create a backup copy of the server's database in the configured backup directory",
},
],
};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- |
| `butlerTask` | [models.ButlerTask](../models/butlertask.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -1,18 +0,0 @@
# CancelServerActivitiesResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { CancelServerActivitiesResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `errors` | [models.CancelServerActivitiesErrors](../models/cancelserveractivitieserrors.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,17 +0,0 @@
# CheckForUpdatesRequest
## Example Usage
```typescript
import { CheckForUpdatesRequest, Download } from "@lukehagar/plexjs";
let value: CheckForUpdatesRequest = {
download: Download.One,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
| `download` | [models.Download](../models/download.md) | :heavy_minus_sign: | Indicate that you want to start download any updates found. | 1 |

View File

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

View File

@@ -1,18 +0,0 @@
# ClearPlaylistContentsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { ClearPlaylistContentsResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `errors` | [models.ClearPlaylistContentsErrors](../models/clearplaylistcontentserrors.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,38 +0,0 @@
# CreatePlaylistMediaContainer
## Example Usage
```typescript
import { CreatePlaylistMediaContainer } from "@lukehagar/plexjs";
let value: CreatePlaylistMediaContainer = {
size: 7,
metadata: [
{
ratingKey: "96",
key: "/playlists/96/items",
guid: "com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55",
type: "playlist",
title: "A Great Playlist",
summary: "What a great playlist",
smart: false,
playlistType: "video",
icon: "playlist://image.smart",
viewCount: 1,
lastViewedAt: 1705719589,
leafCount: 1,
addedAt: 1705719589,
updatedAt: 1705724593,
composite: "/playlists/96/composite/1705724593",
duration: 141000,
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `size` | *number* | :heavy_minus_sign: | N/A | 7 |
| `metadata` | [models.CreatePlaylistMetadata](../models/createplaylistmetadata.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -1,18 +0,0 @@
# CreatePlaylistPlaylistsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { CreatePlaylistPlaylistsResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [models.CreatePlaylistErrors](../models/createplaylisterrors.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,24 +0,0 @@
# CreatePlaylistRequest
## Example Usage
```typescript
import { CreatePlaylistQueryParamType, CreatePlaylistRequest, Smart } from "@lukehagar/plexjs";
let value: CreatePlaylistRequest = {
title: "<value>",
type: CreatePlaylistQueryParamType.Photo,
smart: Smart.One,
uri: "https://exotic-harm.info",
};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `title` | *string* | :heavy_check_mark: | name of the playlist |
| `type` | [models.CreatePlaylistQueryParamType](../models/createplaylistqueryparamtype.md) | :heavy_check_mark: | type of playlist to create |
| `smart` | [models.Smart](../models/smart.md) | :heavy_check_mark: | whether the playlist is smart or not |
| `uri` | *string* | :heavy_check_mark: | the content URI for the playlist |
| `playQueueID` | *number* | :heavy_minus_sign: | the play queue to copy to a playlist |

View File

@@ -1,49 +0,0 @@
# CreatePlaylistResponse
## Example Usage
```typescript
import { CreatePlaylistResponse } from "@lukehagar/plexjs";
let value: CreatePlaylistResponse = {
contentType: "<value>",
statusCode: 474697,
rawResponse: new Response('{"message": "hello world"}', {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 7,
metadata: [
{
ratingKey: "96",
key: "/playlists/96/items",
guid: "com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55",
type: "playlist",
title: "A Great Playlist",
summary: "What a great playlist",
smart: false,
playlistType: "video",
icon: "playlist://image.smart",
viewCount: 1,
lastViewedAt: 1705719589,
leafCount: 1,
addedAt: 1705719589,
updatedAt: 1705724593,
composite: "/playlists/96/composite/1705724593",
duration: 141000,
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [models.CreatePlaylistResponseBody](../models/createplaylistresponsebody.md) | :heavy_minus_sign: | returns all playlists |

View File

@@ -1,41 +0,0 @@
# CreatePlaylistResponseBody
returns all playlists
## Example Usage
```typescript
import { CreatePlaylistResponseBody } from "@lukehagar/plexjs";
let value: CreatePlaylistResponseBody = {
mediaContainer: {
size: 7,
metadata: [
{
ratingKey: "96",
key: "/playlists/96/items",
guid: "com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55",
type: "playlist",
title: "A Great Playlist",
summary: "What a great playlist",
smart: false,
playlistType: "video",
icon: "playlist://image.smart",
viewCount: 1,
lastViewedAt: 1705719589,
leafCount: 1,
addedAt: 1705719589,
updatedAt: 1705724593,
composite: "/playlists/96/composite/1705724593",
duration: 141000,
},
],
},
};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `mediaContainer` | [models.CreatePlaylistMediaContainer](../models/createplaylistmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

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

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

@@ -1,18 +0,0 @@
# DeletePlaylistResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { DeletePlaylistResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [models.DeletePlaylistErrors](../models/deleteplaylisterrors.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,21 +0,0 @@
# EnablePaperTrailErrors
## Example Usage
```typescript
import { EnablePaperTrailErrors } from "@lukehagar/plexjs";
let value: EnablePaperTrailErrors = {
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

@@ -1,18 +0,0 @@
# EnablePaperTrailResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { EnablePaperTrailResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `errors` | [models.EnablePaperTrailErrors](../models/enablepapertrailerrors.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,21 +0,0 @@
# Errors
## Example Usage
```typescript
import { Errors } from "@lukehagar/plexjs";
let value: Errors = {
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

@@ -1,17 +0,0 @@
# Feature
## Example Usage
```typescript
import { Feature } from "@lukehagar/plexjs";
let value: Feature = {};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `key` | *string* | :heavy_minus_sign: | N/A |
| `type` | *string* | :heavy_minus_sign: | N/A |
| `directory` | [models.GetMediaProvidersDirectory](../models/getmediaprovidersdirectory.md)[] | :heavy_minus_sign: | N/A |

View File

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

View File

@@ -1,39 +0,0 @@
# Friend
## Example Usage
```typescript
import { Friend, Status } from "@lukehagar/plexjs";
let value: Friend = {
email: "username@email.com",
friendlyName: "exampleUser",
home: true,
id: 0,
restricted: false,
sharedServers: [{}],
sharedSources: [{}],
status: Status.Accepted,
thumb: "https://plex.tv/users/7d1916e0d8f6e76b/avatar?c=1694481578",
title: "username123",
username: "username123",
uuid: "7d1916e0d8f6e76b",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
| `email` | *string* | :heavy_check_mark: | The account email address | username@email.com |
| `friendlyName` | *string* | :heavy_check_mark: | The account full name | exampleUser |
| `home` | *boolean* | :heavy_check_mark: | If the account is a Plex Home user | |
| `id` | *number* | :heavy_check_mark: | The Plex account ID | |
| `restricted` | *boolean* | :heavy_minus_sign: | If the account is a Plex Home managed user | |
| `sharedServers` | [models.SharedServers](../models/sharedservers.md)[] | :heavy_check_mark: | N/A | |
| `sharedSources` | [models.SharedSources](../models/sharedsources.md)[] | :heavy_check_mark: | N/A | |
| `status` | [models.Status](../models/status.md) | :heavy_check_mark: | Current friend request status | accepted |
| `thumb` | *string* | :heavy_check_mark: | URL of the account thumbnail | https://plex.tv/users/7d1916e0d8f6e76b/avatar?c=1694481578 |
| `title` | *string* | :heavy_check_mark: | The title of the account (username or friendly name) | username123 |
| `username` | *string* | :heavy_check_mark: | The account username | username123 |
| `uuid` | *string* | :heavy_check_mark: | The account Universally Unique Identifier (UUID) | 7d1916e0d8f6e76b |

View File

@@ -1,62 +0,0 @@
# GetAllLibrariesDirectory
## Example Usage
```typescript
import { GetAllLibrariesDirectory } from "@lukehagar/plexjs";
let value: GetAllLibrariesDirectory = {
allowSync: true,
art: "/:/resources/movie-fanart.jpg",
composite: "/library/sections/1/composite/1705615584",
filters: true,
refreshing: false,
thumb: "/:/resources/movie.png",
key: "1",
type: "movie",
title: "Movies",
agent: "tv.plex.agents.movie",
scanner: "Plex Movie",
language: "en-US",
uuid: "322a231a-b7f7-49f5-920f-14c61199cd30",
updatedAt: 1556281940,
createdAt: 1556281940,
scannedAt: 1556281940,
content: true,
directory: true,
contentChangedAt: 3192854,
hidden: 0,
location: [
{
id: 1,
path: "/movies",
},
],
};
```
## 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` | [models.Location](../models/location.md)[] | :heavy_minus_sign: | N/A | |

View File

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

@@ -1,18 +0,0 @@
# GetAllLibrariesLibraryResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetAllLibrariesLibraryResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [models.GetAllLibrariesErrors](../models/getalllibrarieserrors.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,52 +0,0 @@
# GetAllLibrariesMediaContainer
## Example Usage
```typescript
import { GetAllLibrariesMediaContainer } from "@lukehagar/plexjs";
let value: GetAllLibrariesMediaContainer = {
size: 5,
allowSync: false,
title1: "Plex Library",
directory: [
{
allowSync: true,
art: "/:/resources/movie-fanart.jpg",
composite: "/library/sections/1/composite/1705615584",
filters: true,
refreshing: false,
thumb: "/:/resources/movie.png",
key: "1",
type: "movie",
title: "Movies",
agent: "tv.plex.agents.movie",
scanner: "Plex Movie",
language: "en-US",
uuid: "322a231a-b7f7-49f5-920f-14c61199cd30",
updatedAt: 1556281940,
createdAt: 1556281940,
scannedAt: 1556281940,
content: true,
directory: true,
contentChangedAt: 3192854,
hidden: 0,
location: [
{
id: 1,
path: "/movies",
},
],
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `size` | *number* | :heavy_check_mark: | N/A | 5 |
| `allowSync` | *boolean* | :heavy_check_mark: | N/A | false |
| `title1` | *string* | :heavy_check_mark: | N/A | Plex Library |
| `directory` | [models.GetAllLibrariesDirectory](../models/getalllibrariesdirectory.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -1,61 +0,0 @@
# GetAllLibrariesResponse
## Example Usage
```typescript
import { GetAllLibrariesResponse } from "@lukehagar/plexjs";
let value: GetAllLibrariesResponse = {
contentType: "<value>",
statusCode: 613064,
rawResponse: new Response('{"message": "hello world"}', {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 5,
allowSync: false,
title1: "Plex Library",
directory: [
{
allowSync: true,
art: "/:/resources/movie-fanart.jpg",
composite: "/library/sections/1/composite/1705615584",
filters: true,
refreshing: false,
thumb: "/:/resources/movie.png",
key: "1",
type: "movie",
title: "Movies",
agent: "tv.plex.agents.movie",
scanner: "Plex Movie",
language: "en-US",
uuid: "322a231a-b7f7-49f5-920f-14c61199cd30",
updatedAt: 1556281940,
createdAt: 1556281940,
scannedAt: 1556281940,
content: true,
directory: true,
contentChangedAt: 3192854,
hidden: 0,
location: [
{
id: 1,
path: "/movies",
},
],
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [models.GetAllLibrariesResponseBody](../models/getalllibrariesresponsebody.md) | :heavy_minus_sign: | The libraries available on the Server |

View File

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

View File

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

@@ -1,33 +0,0 @@
# GetAvailableClientsMediaContainer
## Example Usage
```typescript
import { GetAvailableClientsMediaContainer } from "@lukehagar/plexjs";
let value: GetAvailableClientsMediaContainer = {
size: 1,
server: [
{
name: "iPad",
host: "10.10.10.102",
address: "10.10.10.102",
port: 32500,
machineIdentifier: "A2E901F8-E016-43A7-ADFB-EF8CA8A4AC05",
version: "8.17",
protocol: "plex",
product: "Plex for iOS",
deviceClass: "tablet",
protocolVersion: 2,
protocolCapabilities: "playback,playqueues,timeline,provider-playback",
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `size` | *number* | :heavy_minus_sign: | N/A | 1 |
| `server` | [models.GetAvailableClientsServer](../models/getavailableclientsserver.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -1,44 +0,0 @@
# GetAvailableClientsResponse
## Example Usage
```typescript
import { GetAvailableClientsResponse } from "@lukehagar/plexjs";
let value: GetAvailableClientsResponse = {
contentType: "<value>",
statusCode: 715190,
rawResponse: new Response('{"message": "hello world"}', {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 1,
server: [
{
name: "iPad",
host: "10.10.10.102",
address: "10.10.10.102",
port: 32500,
machineIdentifier: "A2E901F8-E016-43A7-ADFB-EF8CA8A4AC05",
version: "8.17",
protocol: "plex",
product: "Plex for iOS",
deviceClass: "tablet",
protocolVersion: 2,
protocolCapabilities: "playback,playqueues,timeline,provider-playback",
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [models.GetAvailableClientsResponseBody](../models/getavailableclientsresponsebody.md) | :heavy_minus_sign: | Available Clients |

View File

@@ -1,36 +0,0 @@
# GetAvailableClientsResponseBody
Available Clients
## Example Usage
```typescript
import { GetAvailableClientsResponseBody } from "@lukehagar/plexjs";
let value: GetAvailableClientsResponseBody = {
mediaContainer: {
size: 1,
server: [
{
name: "iPad",
host: "10.10.10.102",
address: "10.10.10.102",
port: 32500,
machineIdentifier: "A2E901F8-E016-43A7-ADFB-EF8CA8A4AC05",
version: "8.17",
protocol: "plex",
product: "Plex for iOS",
deviceClass: "tablet",
protocolVersion: 2,
protocolCapabilities: "playback,playqueues,timeline,provider-playback",
},
],
},
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `mediaContainer` | [models.GetAvailableClientsMediaContainer](../models/getavailableclientsmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -1,18 +0,0 @@
# GetAvailableClientsServerResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetAvailableClientsServerResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `errors` | [models.GetAvailableClientsErrors](../models/getavailableclientserrors.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,21 +0,0 @@
# GetBandwidthStatisticsErrors
## Example Usage
```typescript
import { GetBandwidthStatisticsErrors } from "@lukehagar/plexjs";
let value: GetBandwidthStatisticsErrors = {
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

@@ -1,51 +0,0 @@
# GetBandwidthStatisticsMediaContainer
## Example Usage
```typescript
import { GetBandwidthStatisticsMediaContainer } from "@lukehagar/plexjs";
let value: GetBandwidthStatisticsMediaContainer = {
size: 5497,
device: [
{
id: 208,
name: "Roku Express",
platform: "Roku",
clientIdentifier: "793095d235660625108ef785cc7646e9",
createdAt: 1706470556,
},
],
account: [
{
id: 238960586,
key: "/accounts/238960586",
name: "Diane",
defaultAudioLanguage: "en",
autoSelectAudio: true,
defaultSubtitleLanguage: "en",
subtitleMode: 1,
thumb: "https://plex.tv/users/50d83634246da1de/avatar?c=1707110967",
},
],
statisticsBandwidth: [
{
accountID: 238960586,
deviceID: 208,
timespan: 6,
at: 1718387650,
lan: true,
bytes: 22,
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `size` | *number* | :heavy_minus_sign: | N/A | 5497 |
| `device` | [models.GetBandwidthStatisticsDevice](../models/getbandwidthstatisticsdevice.md)[] | :heavy_minus_sign: | N/A | |
| `account` | [models.GetBandwidthStatisticsAccount](../models/getbandwidthstatisticsaccount.md)[] | :heavy_minus_sign: | N/A | |
| `statisticsBandwidth` | [models.StatisticsBandwidth](../models/statisticsbandwidth.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -1,60 +0,0 @@
# GetBandwidthStatisticsResponse
## Example Usage
```typescript
import { GetBandwidthStatisticsResponse } from "@lukehagar/plexjs";
let value: GetBandwidthStatisticsResponse = {
contentType: "<value>",
statusCode: 916723,
rawResponse: new Response('{"message": "hello world"}', {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 5497,
device: [
{
id: 208,
name: "Roku Express",
platform: "Roku",
clientIdentifier: "793095d235660625108ef785cc7646e9",
createdAt: 1706470556,
},
],
account: [
{
id: 238960586,
key: "/accounts/238960586",
name: "Diane",
defaultAudioLanguage: "en",
autoSelectAudio: true,
defaultSubtitleLanguage: "en",
subtitleMode: 1,
thumb: "https://plex.tv/users/50d83634246da1de/avatar?c=1707110967",
},
],
statisticsBandwidth: [
{
accountID: 238960586,
deviceID: 208,
timespan: 6,
at: 1718387650,
lan: true,
bytes: 22,
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [models.GetBandwidthStatisticsResponseBody](../models/getbandwidthstatisticsresponsebody.md) | :heavy_minus_sign: | Bandwidth Statistics |

View File

@@ -1,52 +0,0 @@
# GetBandwidthStatisticsResponseBody
Bandwidth Statistics
## Example Usage
```typescript
import { GetBandwidthStatisticsResponseBody } from "@lukehagar/plexjs";
let value: GetBandwidthStatisticsResponseBody = {
mediaContainer: {
size: 5497,
device: [
{
id: 208,
name: "Roku Express",
platform: "Roku",
clientIdentifier: "793095d235660625108ef785cc7646e9",
createdAt: 1706470556,
},
],
account: [
{
id: 238960586,
key: "/accounts/238960586",
name: "Diane",
defaultAudioLanguage: "en",
autoSelectAudio: true,
defaultSubtitleLanguage: "en",
subtitleMode: 1,
thumb: "https://plex.tv/users/50d83634246da1de/avatar?c=1707110967",
},
],
statisticsBandwidth: [
{
accountID: 238960586,
deviceID: 208,
timespan: 6,
at: 1718387650,
lan: true,
bytes: 22,
},
],
},
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
| `mediaContainer` | [models.GetBandwidthStatisticsMediaContainer](../models/getbandwidthstatisticsmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -1,18 +0,0 @@
# GetBandwidthStatisticsStatisticsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetBandwidthStatisticsStatisticsResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `errors` | [models.GetBandwidthStatisticsErrors](../models/getbandwidthstatisticserrors.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,21 +0,0 @@
# GetBannerImageErrors
## Example Usage
```typescript
import { GetBannerImageErrors } from "@lukehagar/plexjs";
let value: GetBannerImageErrors = {
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

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

View File

@@ -1,18 +0,0 @@
# GetButlerTasksButlerResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetButlerTasksButlerResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [models.GetButlerTasksErrors](../models/getbutlertaskserrors.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,21 +0,0 @@
# GetButlerTasksErrors
## Example Usage
```typescript
import { GetButlerTasksErrors } from "@lukehagar/plexjs";
let value: GetButlerTasksErrors = {
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

@@ -1,37 +0,0 @@
# GetButlerTasksResponse
## Example Usage
```typescript
import { GetButlerTasksResponse } from "@lukehagar/plexjs";
let value: GetButlerTasksResponse = {
contentType: "<value>",
statusCode: 812169,
rawResponse: new Response('{"message": "hello world"}', {
headers: { "Content-Type": "application/json" },
}),
object: {
butlerTasks: {
butlerTask: [
{
name: "BackupDatabase",
interval: 3,
title: "Backup Database",
description:
"Create a backup copy of the server's database in the configured backup directory",
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [models.GetButlerTasksResponseBody](../models/getbutlertasksresponsebody.md) | :heavy_minus_sign: | All butler tasks |

View File

@@ -1,29 +0,0 @@
# GetButlerTasksResponseBody
All butler tasks
## Example Usage
```typescript
import { GetButlerTasksResponseBody } from "@lukehagar/plexjs";
let value: GetButlerTasksResponseBody = {
butlerTasks: {
butlerTask: [
{
name: "BackupDatabase",
interval: 3,
title: "Backup Database",
description:
"Create a backup copy of the server's database in the configured backup directory",
},
],
},
};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- |
| `butlerTasks` | [models.ButlerTasks](../models/butlertasks.md) | :heavy_minus_sign: | N/A |

View File

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

@@ -1,34 +0,0 @@
# GetCompanionsDataResponse
## Example Usage
```typescript
import { GetCompanionsDataResponse } from "@lukehagar/plexjs";
let value: GetCompanionsDataResponse = {
contentType: "<value>",
statusCode: 87129,
rawResponse: new Response('{"message": "hello world"}', {
headers: { "Content-Type": "application/json" },
}),
responseBodies: [
{
identifier: "tv.plex.sonos",
baseURL: "https://sonos.plex.tv",
title: "Sonos",
linkURL: "https://sonos.plex.tv/link",
provides: "client,player",
token: "<value>",
},
],
};
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `responseBodies` | [models.ResponseBody](../models/responsebody.md)[] | :heavy_minus_sign: | Companions Data |

View File

@@ -1,18 +0,0 @@
# GetCompanionsDataResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetCompanionsDataResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `errors` | [models.GetCompanionsDataErrors](../models/getcompanionsdataerrors.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,21 +0,0 @@
# GetDevicesErrors
## Example Usage
```typescript
import { GetDevicesErrors } from "@lukehagar/plexjs";
let value: GetDevicesErrors = {
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

@@ -1,28 +0,0 @@
# GetDevicesMediaContainer
## Example Usage
```typescript
import { GetDevicesMediaContainer } from "@lukehagar/plexjs";
let value: GetDevicesMediaContainer = {
size: 151,
identifier: "com.plexapp.system.devices",
device: [
{
id: 1,
name: "iPhone",
platform: "iOS",
createdAt: 1654131230,
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- |
| `size` | *number* | :heavy_minus_sign: | N/A | 151 |
| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.system.devices |
| `device` | [models.Device](../models/device.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -1,38 +0,0 @@
# GetDevicesResponse
## Example Usage
```typescript
import { GetDevicesResponse } from "@lukehagar/plexjs";
let value: GetDevicesResponse = {
contentType: "<value>",
statusCode: 844266,
rawResponse: new Response('{"message": "hello world"}', {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 151,
identifier: "com.plexapp.system.devices",
device: [
{
id: 1,
name: "iPhone",
platform: "iOS",
createdAt: 1654131230,
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [models.GetDevicesResponseBody](../models/getdevicesresponsebody.md) | :heavy_minus_sign: | Devices |

View File

@@ -1,30 +0,0 @@
# GetDevicesResponseBody
Devices
## Example Usage
```typescript
import { GetDevicesResponseBody } from "@lukehagar/plexjs";
let value: GetDevicesResponseBody = {
mediaContainer: {
size: 151,
identifier: "com.plexapp.system.devices",
device: [
{
id: 1,
name: "iPhone",
platform: "iOS",
createdAt: 1654131230,
},
],
},
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `mediaContainer` | [models.GetDevicesMediaContainer](../models/getdevicesmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -1,18 +0,0 @@
# GetDevicesServerResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetDevicesServerResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [models.GetDevicesErrors](../models/getdeviceserrors.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,21 +0,0 @@
# GetFileHashErrors
## Example Usage
```typescript
import { GetFileHashErrors } from "@lukehagar/plexjs";
let value: GetFileHashErrors = {
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

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

@@ -1,18 +0,0 @@
# GetGeoDataResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetGeoDataResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [models.GetGeoDataErrors](../models/getgeodataerrors.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,21 +0,0 @@
# GetGlobalHubsErrors
## Example Usage
```typescript
import { GetGlobalHubsErrors } from "@lukehagar/plexjs";
let value: GetGlobalHubsErrors = {
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

@@ -1,18 +0,0 @@
# GetGlobalHubsHubsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetGlobalHubsHubsResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [models.GetGlobalHubsErrors](../models/getglobalhubserrors.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,57 +0,0 @@
# GetGlobalHubsMediaContainer
## Example Usage
```typescript
import { GetGlobalHubsMediaContainer } from "@lukehagar/plexjs";
let value: GetGlobalHubsMediaContainer = {
size: 8,
allowSync: true,
identifier: "com.plexapp.plugins.library",
hub: [
{
hubKey: "/library/metadata/50768,65523,58188,57341,57302,57070",
key: "/playlists/all?type=15&sort=lastViewedAt:desc&playlistType=video,audio",
title: "Recent Playlists",
type: "playlist",
hubIdentifier: "home.playlists",
context: "hub.home.playlists",
size: 6,
more: true,
style: "shelf",
promoted: true,
metadata: [
{
ratingKey: "57070",
key: "/playlists/57070/items",
guid: "com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c",
type: "playlist",
title: "November Movie Day",
titleSort: "Tracks",
summary: "",
smart: false,
playlistType: "video",
composite: "/playlists/57070/composite/1668787730",
icon: "playlist://image.smart",
viewCount: 2,
lastViewedAt: 1668787732,
duration: 16873000,
leafCount: 3,
addedAt: 1668779618,
updatedAt: 1668787730,
},
],
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- |
| `size` | *number* | :heavy_minus_sign: | N/A | 8 |
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | true |
| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
| `hub` | [models.Hub](../models/hub.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -1,66 +0,0 @@
# GetGlobalHubsResponse
## Example Usage
```typescript
import { GetGlobalHubsResponse } from "@lukehagar/plexjs";
let value: GetGlobalHubsResponse = {
contentType: "<value>",
statusCode: 149675,
rawResponse: new Response('{"message": "hello world"}', {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 8,
allowSync: true,
identifier: "com.plexapp.plugins.library",
hub: [
{
hubKey: "/library/metadata/50768,65523,58188,57341,57302,57070",
key: "/playlists/all?type=15&sort=lastViewedAt:desc&playlistType=video,audio",
title: "Recent Playlists",
type: "playlist",
hubIdentifier: "home.playlists",
context: "hub.home.playlists",
size: 6,
more: true,
style: "shelf",
promoted: true,
metadata: [
{
ratingKey: "57070",
key: "/playlists/57070/items",
guid: "com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c",
type: "playlist",
title: "November Movie Day",
titleSort: "Tracks",
summary: "",
smart: false,
playlistType: "video",
composite: "/playlists/57070/composite/1668787730",
icon: "playlist://image.smart",
viewCount: 2,
lastViewedAt: 1668787732,
duration: 16873000,
leafCount: 3,
addedAt: 1668779618,
updatedAt: 1668787730,
},
],
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [models.GetGlobalHubsResponseBody](../models/getglobalhubsresponsebody.md) | :heavy_minus_sign: | returns global hubs |

View File

@@ -1,58 +0,0 @@
# GetGlobalHubsResponseBody
returns global hubs
## Example Usage
```typescript
import { GetGlobalHubsResponseBody } from "@lukehagar/plexjs";
let value: GetGlobalHubsResponseBody = {
mediaContainer: {
size: 8,
allowSync: true,
identifier: "com.plexapp.plugins.library",
hub: [
{
hubKey: "/library/metadata/50768,65523,58188,57341,57302,57070",
key: "/playlists/all?type=15&sort=lastViewedAt:desc&playlistType=video,audio",
title: "Recent Playlists",
type: "playlist",
hubIdentifier: "home.playlists",
context: "hub.home.playlists",
size: 6,
more: true,
style: "shelf",
promoted: true,
metadata: [
{
ratingKey: "57070",
key: "/playlists/57070/items",
guid: "com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c",
type: "playlist",
title: "November Movie Day",
titleSort: "Tracks",
summary: "",
smart: false,
playlistType: "video",
composite: "/playlists/57070/composite/1668787730",
icon: "playlist://image.smart",
viewCount: 2,
lastViewedAt: 1668787732,
duration: 16873000,
leafCount: 3,
addedAt: 1668779618,
updatedAt: 1668787730,
},
],
},
],
},
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `mediaContainer` | [models.GetGlobalHubsMediaContainer](../models/getglobalhubsmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

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

@@ -1,18 +0,0 @@
# GetHomeDataPlexResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetHomeDataPlexResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [models.GetHomeDataErrors](../models/gethomedataerrors.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,30 +0,0 @@
# GetHomeDataResponse
## Example Usage
```typescript
import { GetHomeDataResponse } from "@lukehagar/plexjs";
let value: GetHomeDataResponse = {
contentType: "<value>",
statusCode: 368241,
rawResponse: new Response('{"message": "hello world"}', {
headers: { "Content-Type": "application/json" },
}),
object: {
id: 1841489,
name: "Blindkitty38's home",
guestUserID: 58815432,
guestUserUUID: "f3df4e01bfca0787",
},
};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [models.GetHomeDataResponseBody](../models/gethomedataresponsebody.md) | :heavy_minus_sign: | Home Data |

View File

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

@@ -1,18 +0,0 @@
# GetLibraryDetailsLibraryResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetLibraryDetailsLibraryResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `errors` | [models.GetLibraryDetailsErrors](../models/getlibrarydetailserrors.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,97 +0,0 @@
# GetLibraryDetailsMediaContainer
## Example Usage
```typescript
import { GetLibraryDetailsMediaContainer } from "@lukehagar/plexjs";
let value: GetLibraryDetailsMediaContainer = {
size: 29,
allowSync: false,
art: "/:/resources/movie-fanart.jpg",
content: "secondary",
identifier: "com.plexapp.plugins.library",
librarySectionID: 1,
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1701731894,
thumb: "/:/resources/movie.png",
title1: "Movies",
viewGroup: "secondary",
viewMode: 65592,
directory: [
{
key: "search?type=1",
title: "Search...",
secondary: true,
prompt: "Search Movies",
search: true,
},
],
type: [
{
key: "/library/sections/1/all?type=1",
type: "movie",
title: "Movies",
active: false,
filter: [
{
filter: "label",
filterType: "string",
key: "/library/sections/1/label",
title: "Labels",
type: "filter",
},
],
sort: [
{
default: "asc",
defaultDirection: "desc",
descKey: "random:desc",
firstCharacterKey: "/library/sections/1/firstCharacter",
key: "random",
title: "Randomly",
},
],
field: [
{
key: "label",
title: "Label",
type: "tag",
subType: "bitrate",
},
],
},
],
fieldType: [
{
type: "resolution",
operator: [
{
key: "=",
title: "is",
},
],
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `size` | *number* | :heavy_minus_sign: | N/A | 29 |
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | false |
| `art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
| `content` | *string* | :heavy_minus_sign: | N/A | secondary |
| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
| `librarySectionID` | *number* | :heavy_minus_sign: | N/A | 1 |
| `mediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
| `mediaTagVersion` | *number* | :heavy_minus_sign: | N/A | 1701731894 |
| `thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
| `title1` | *string* | :heavy_minus_sign: | N/A | Movies |
| `viewGroup` | *string* | :heavy_minus_sign: | N/A | secondary |
| `viewMode` | *number* | :heavy_minus_sign: | N/A | 65592 |
| `directory` | [models.GetLibraryDetailsDirectory](../models/getlibrarydetailsdirectory.md)[] | :heavy_minus_sign: | N/A | |
| `type` | [models.GetLibraryDetailsType](../models/getlibrarydetailstype.md)[] | :heavy_minus_sign: | N/A | |
| `fieldType` | [models.FieldType](../models/fieldtype.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -1,95 +0,0 @@
# GetLibraryDetailsResponse
## Example Usage
```typescript
import { GetLibraryDetailsResponse } from "@lukehagar/plexjs";
let value: GetLibraryDetailsResponse = {
contentType: "<value>",
statusCode: 902349,
rawResponse: new Response('{"message": "hello world"}', {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 29,
allowSync: false,
art: "/:/resources/movie-fanart.jpg",
content: "secondary",
identifier: "com.plexapp.plugins.library",
librarySectionID: 1,
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1701731894,
thumb: "/:/resources/movie.png",
title1: "Movies",
viewGroup: "secondary",
viewMode: 65592,
directory: [
{
key: "search?type=1",
title: "Search...",
secondary: true,
prompt: "Search Movies",
search: true,
},
],
type: [
{
key: "/library/sections/1/all?type=1",
type: "movie",
title: "Movies",
active: false,
filter: [
{
filter: "label",
filterType: "string",
key: "/library/sections/1/label",
title: "Labels",
type: "filter",
},
],
sort: [
{
default: "asc",
defaultDirection: "desc",
descKey: "random:desc",
firstCharacterKey: "/library/sections/1/firstCharacter",
key: "random",
title: "Randomly",
},
],
field: [
{
key: "label",
title: "Label",
type: "tag",
subType: "bitrate",
},
],
},
],
fieldType: [
{
type: "resolution",
operator: [
{
key: "=",
title: "is",
},
],
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [models.GetLibraryDetailsResponseBody](../models/getlibrarydetailsresponsebody.md) | :heavy_minus_sign: | The details of the library |

View File

@@ -1,87 +0,0 @@
# GetLibraryDetailsResponseBody
The details of the library
## Example Usage
```typescript
import { GetLibraryDetailsResponseBody } from "@lukehagar/plexjs";
let value: GetLibraryDetailsResponseBody = {
mediaContainer: {
size: 29,
allowSync: false,
art: "/:/resources/movie-fanart.jpg",
content: "secondary",
identifier: "com.plexapp.plugins.library",
librarySectionID: 1,
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1701731894,
thumb: "/:/resources/movie.png",
title1: "Movies",
viewGroup: "secondary",
viewMode: 65592,
directory: [
{
key: "search?type=1",
title: "Search...",
secondary: true,
prompt: "Search Movies",
search: true,
},
],
type: [
{
key: "/library/sections/1/all?type=1",
type: "movie",
title: "Movies",
active: false,
filter: [
{
filter: "label",
filterType: "string",
key: "/library/sections/1/label",
title: "Labels",
type: "filter",
},
],
sort: [
{
default: "asc",
defaultDirection: "desc",
descKey: "random:desc",
firstCharacterKey: "/library/sections/1/firstCharacter",
key: "random",
title: "Randomly",
},
],
field: [
{
key: "label",
title: "Label",
type: "tag",
subType: "bitrate",
},
],
},
],
fieldType: [
{
type: "resolution",
operator: [
{
key: "=",
title: "is",
},
],
},
],
},
};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `mediaContainer` | [models.GetLibraryDetailsMediaContainer](../models/getlibrarydetailsmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -1,53 +0,0 @@
# GetLibraryDetailsType
## Example Usage
```typescript
import { GetLibraryDetailsType } from "@lukehagar/plexjs";
let value: GetLibraryDetailsType = {
key: "/library/sections/1/all?type=1",
type: "movie",
title: "Movies",
active: false,
filter: [
{
filter: "label",
filterType: "string",
key: "/library/sections/1/label",
title: "Labels",
type: "filter",
},
],
sort: [
{
default: "asc",
defaultDirection: "desc",
descKey: "random:desc",
firstCharacterKey: "/library/sections/1/firstCharacter",
key: "random",
title: "Randomly",
},
],
field: [
{
key: "label",
title: "Label",
type: "tag",
subType: "bitrate",
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `key` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/all?type=1 |
| `type` | *string* | :heavy_minus_sign: | N/A | movie |
| `title` | *string* | :heavy_minus_sign: | N/A | Movies |
| `active` | *boolean* | :heavy_minus_sign: | N/A | false |
| `filter` | [models.GetLibraryDetailsFilter](../models/getlibrarydetailsfilter.md)[] | :heavy_minus_sign: | N/A | |
| `sort` | [models.Sort](../models/sort.md)[] | :heavy_minus_sign: | N/A | |
| `field` | [models.Field](../models/field.md)[] | :heavy_minus_sign: | N/A | |

View File

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

@@ -1,131 +0,0 @@
# GetLibraryHubsHub
## Example Usage
```typescript
import { GetLibraryHubsHub } from "@lukehagar/plexjs";
import { RFCDate } from "@lukehagar/plexjs/types";
let value: GetLibraryHubsHub = {
key: "/library/sections/1/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0",
title: "Recently Played Movies",
type: "movie",
hubIdentifier: "movie.recentlyviewed.1",
context: "hub.movie.recentlyviewed",
size: 6,
more: true,
style: "shelf",
hubKey: "/library/metadata/66485,66098,57249,11449,5858,14944",
metadata: [
{
ratingKey: "14944",
key: "/library/metadata/14944",
guid: "plex://movie/5d77686eeb5d26001f1eb339",
studio: "Walt Disney Animation Studios",
type: "movie",
title: "Tangled",
librarySectionTitle: "Movies",
librarySectionID: 1,
librarySectionKey: "/library/sections/1",
contentRating: "PG",
summary:
"The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is.",
rating: 8.9,
audienceRating: 8.7,
viewCount: 1,
lastViewedAt: 1704936047,
year: 2010,
tagline: "They're taking adventure to new lengths.",
thumb: "/library/metadata/14944/thumb/1705739847",
art: "/library/metadata/14944/art/1705739847",
duration: 6017237,
originallyAvailableAt: new RFCDate("2010-11-24T00:00:00Z"),
addedAt: 1589412494,
updatedAt: 1705739847,
audienceRatingImage: "rottentomatoes://image.rating.upright",
primaryExtraKey: "/library/metadata/14952",
ratingImage: "rottentomatoes://image.rating.ripe",
media: [
{
id: 38247,
duration: 6017237,
bitrate: 2051,
width: 1920,
height: 1080,
aspectRatio: 1.78,
audioChannels: 2,
audioCodec: "aac",
videoCodec: "h264",
videoResolution: "1080",
container: "mp4",
videoFrameRate: "24p",
optimizedForStreaming: 1,
audioProfile: "lc",
has64bitOffsets: false,
videoProfile: "high",
part: [
{
id: 38247,
key: "/library/parts/38247/1589412494/file.mp4",
duration: 6017237,
file: "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",
size: 1545647447,
audioProfile: "lc",
container: "mp4",
has64bitOffsets: false,
optimizedForStreaming: true,
videoProfile: "high",
},
],
},
],
genre: [
{
tag: "Animation",
},
],
country: [
{
tag: "United States of America",
},
],
director: [
{
tag: "Nathan Greno",
},
],
role: [
{
tag: "Donna Murphy",
},
],
writer: [
{
tag: "Wilhelm Grimm",
},
],
skipCount: 1,
chapterSource: "media",
},
],
promoted: true,
random: true,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| `key` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0 |
| `title` | *string* | :heavy_minus_sign: | N/A | Recently Played Movies |
| `type` | *string* | :heavy_minus_sign: | N/A | movie |
| `hubIdentifier` | *string* | :heavy_minus_sign: | N/A | movie.recentlyviewed.1 |
| `context` | *string* | :heavy_minus_sign: | N/A | hub.movie.recentlyviewed |
| `size` | *number* | :heavy_minus_sign: | N/A | 6 |
| `more` | *boolean* | :heavy_minus_sign: | N/A | true |
| `style` | *string* | :heavy_minus_sign: | N/A | shelf |
| `hubKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66485,66098,57249,11449,5858,14944 |
| `metadata` | [models.GetLibraryHubsMetadata](../models/getlibraryhubsmetadata.md)[] | :heavy_minus_sign: | N/A | |
| `promoted` | *boolean* | :heavy_minus_sign: | N/A | true |
| `random` | *boolean* | :heavy_minus_sign: | N/A | true |

View File

@@ -1,18 +0,0 @@
# GetLibraryHubsHubsResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetLibraryHubsHubsResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [models.GetLibraryHubsErrors](../models/getlibraryhubserrors.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,62 +0,0 @@
# GetLibraryHubsMedia
## Example Usage
```typescript
import { GetLibraryHubsMedia } from "@lukehagar/plexjs";
let value: GetLibraryHubsMedia = {
id: 38247,
duration: 6017237,
bitrate: 2051,
width: 1920,
height: 1080,
aspectRatio: 1.78,
audioChannels: 2,
audioCodec: "aac",
videoCodec: "h264",
videoResolution: "1080",
container: "mp4",
videoFrameRate: "24p",
optimizedForStreaming: 1,
audioProfile: "lc",
has64bitOffsets: false,
videoProfile: "high",
part: [
{
id: 38247,
key: "/library/parts/38247/1589412494/file.mp4",
duration: 6017237,
file: "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",
size: 1545647447,
audioProfile: "lc",
container: "mp4",
has64bitOffsets: false,
optimizedForStreaming: true,
videoProfile: "high",
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `id` | *number* | :heavy_minus_sign: | N/A | 38247 |
| `duration` | *number* | :heavy_minus_sign: | N/A | 6017237 |
| `bitrate` | *number* | :heavy_minus_sign: | N/A | 2051 |
| `width` | *number* | :heavy_minus_sign: | N/A | 1920 |
| `height` | *number* | :heavy_minus_sign: | N/A | 1080 |
| `aspectRatio` | *number* | :heavy_minus_sign: | N/A | 1.78 |
| `audioChannels` | *number* | :heavy_minus_sign: | N/A | 2 |
| `audioCodec` | *string* | :heavy_minus_sign: | N/A | aac |
| `videoCodec` | *string* | :heavy_minus_sign: | N/A | h264 |
| `videoResolution` | *string* | :heavy_minus_sign: | N/A | 1080 |
| `container` | *string* | :heavy_minus_sign: | N/A | mp4 |
| `videoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p |
| `optimizedForStreaming` | *number* | :heavy_minus_sign: | N/A | 1 |
| `audioProfile` | *string* | :heavy_minus_sign: | N/A | lc |
| `has64bitOffsets` | *boolean* | :heavy_minus_sign: | N/A | false |
| `videoProfile` | *string* | :heavy_minus_sign: | N/A | high |
| `part` | [models.GetLibraryHubsPart](../models/getlibraryhubspart.md)[] | :heavy_minus_sign: | N/A | |

View File

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

View File

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

View File

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

View File

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

@@ -1,18 +0,0 @@
# GetLibraryItemsLibraryResponseBody
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetLibraryItemsLibraryResponseBody } from "@lukehagar/plexjs";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `errors` | [models.GetLibraryItemsErrors](../models/getlibraryitemserrors.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,53 +0,0 @@
# GetLibraryItemsMedia
## Example Usage
```typescript
import { GetLibraryItemsMedia } from "@lukehagar/plexjs";
let value: GetLibraryItemsMedia = {
id: 119534,
duration: 11558112,
bitrate: 25025,
width: 3840,
height: 2072,
aspectRatio: 1.85,
audioChannels: 6,
audioCodec: "eac3",
videoCodec: "hevc",
videoResolution: "4k",
container: "mkv",
videoFrameRate: "24p",
videoProfile: "main 10",
part: [
{
id: 119542,
key: "/library/parts/119542/1680457526/file.mkv",
duration: 11558112,
file: "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
size: 36158371307,
container: "mkv",
videoProfile: "main 10",
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
| `id` | *number* | :heavy_minus_sign: | N/A | 119534 |
| `duration` | *number* | :heavy_minus_sign: | N/A | 11558112 |
| `bitrate` | *number* | :heavy_minus_sign: | N/A | 25025 |
| `width` | *number* | :heavy_minus_sign: | N/A | 3840 |
| `height` | *number* | :heavy_minus_sign: | N/A | 2072 |
| `aspectRatio` | *number* | :heavy_minus_sign: | N/A | 1.85 |
| `audioChannels` | *number* | :heavy_minus_sign: | N/A | 6 |
| `audioCodec` | *string* | :heavy_minus_sign: | N/A | eac3 |
| `videoCodec` | *string* | :heavy_minus_sign: | N/A | hevc |
| `videoResolution` | *string* | :heavy_minus_sign: | N/A | 4k |
| `container` | *string* | :heavy_minus_sign: | N/A | mkv |
| `videoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p |
| `videoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 |
| `part` | [models.GetLibraryItemsPart](../models/getlibraryitemspart.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -1,155 +0,0 @@
# GetLibraryItemsMediaContainer
## Example Usage
```typescript
import { GetLibraryItemsMediaContainer } from "@lukehagar/plexjs";
import { RFCDate } from "@lukehagar/plexjs/types";
let value: GetLibraryItemsMediaContainer = {
size: 70,
allowSync: true,
art: "/:/resources/movie-fanart.jpg",
identifier: "com.plexapp.plugins.library",
librarySectionTitle: "Movies",
librarySectionUUID: "322a231a-b7f7-49f5-920f-14c61199cd30",
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1701731894,
thumb: "/:/resources/movie.png",
title1: "Movies",
title2: "Recently Released",
viewGroup: "movie",
viewMode: 65592,
mixedParents: true,
metadata: [
{
ratingKey: "58683",
key: "/library/metadata/58683",
guid: "plex://movie/5d7768ba96b655001fdc0408",
studio: "20th Century Studios",
type: "movie",
title: "Avatar: The Way of Water",
contentRating: "PG-13",
summary:
"Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.",
rating: 7.6,
audienceRating: 9.2,
year: 2022,
tagline: "Return to Pandora.",
thumb: "/library/metadata/58683/thumb/1703239236",
art: "/library/metadata/58683/art/1703239236",
duration: 11558112,
originallyAvailableAt: new RFCDate("2022-12-14T00:00:00Z"),
addedAt: 1680457607,
updatedAt: 1703239236,
audienceRatingImage: "rottentomatoes://image.rating.upright",
chapterSource: "media",
primaryExtraKey: "/library/metadata/58684",
ratingImage: "rottentomatoes://image.rating.ripe",
grandparentRatingKey: "66",
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
grandparentKey: "/library/metadata/66",
grandparentTitle: "Caprica",
grandparentThumb: "/library/metadata/66/thumb/1705716261",
grandparentArt: "/library/metadata/66/art/1705716261",
grandparentTheme: "/library/metadata/66/theme/1705716261",
media: [
{
id: 119534,
duration: 11558112,
bitrate: 25025,
width: 3840,
height: 2072,
aspectRatio: 1.85,
audioChannels: 6,
audioCodec: "eac3",
videoCodec: "hevc",
videoResolution: "4k",
container: "mkv",
videoFrameRate: "24p",
videoProfile: "main 10",
part: [
{
id: 119542,
key: "/library/parts/119542/1680457526/file.mkv",
duration: 11558112,
file: "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
size: 36158371307,
container: "mkv",
videoProfile: "main 10",
},
],
},
],
genre: [
{
tag: "Adventure",
},
],
country: [
{
tag: "United States of America",
},
],
director: [
{
tag: "James Cameron",
},
],
writer: [
{
tag: "James Cameron",
},
],
role: [
{
tag: "Sigourney Weaver",
},
],
titleSort: "Whale",
viewCount: 1,
lastViewedAt: 1682752242,
originalTitle: "映画 ブラッククローバー 魔法帝の剣",
viewOffset: 5222500,
skipCount: 1,
index: 1,
theme: "/library/metadata/1/theme/1705636920",
leafCount: 14,
viewedLeafCount: 0,
childCount: 1,
hasPremiumExtras: "1",
hasPremiumPrimaryExtra: "1",
parentRatingKey: "66",
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
parentStudio: "UCP",
parentKey: "/library/metadata/66",
parentTitle: "Caprica",
parentIndex: 1,
parentYear: 2010,
parentThumb: "/library/metadata/66/thumb/1705716261",
parentTheme: "/library/metadata/66/theme/1705716261",
},
],
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `size` | *number* | :heavy_minus_sign: | N/A | 70 |
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | true |
| `art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
| `librarySectionID` | *models.LibrarySectionID* | :heavy_minus_sign: | N/A | |
| `librarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies |
| `librarySectionUUID` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
| `mediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
| `mediaTagVersion` | *number* | :heavy_minus_sign: | N/A | 1701731894 |
| `thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
| `title1` | *string* | :heavy_minus_sign: | N/A | Movies |
| `title2` | *string* | :heavy_minus_sign: | N/A | Recently Released |
| `viewGroup` | *string* | :heavy_minus_sign: | N/A | movie |
| `viewMode` | *number* | :heavy_minus_sign: | N/A | 65592 |
| `mixedParents` | *boolean* | :heavy_minus_sign: | N/A | true |
| `metadata` | [models.GetLibraryItemsMetadata](../models/getlibraryitemsmetadata.md)[] | :heavy_minus_sign: | N/A | |

View File

@@ -1,152 +0,0 @@
# GetLibraryItemsResponse
## Example Usage
```typescript
import { GetLibraryItemsResponse } from "@lukehagar/plexjs";
import { RFCDate } from "@lukehagar/plexjs/types";
let value: GetLibraryItemsResponse = {
contentType: "<value>",
statusCode: 666767,
rawResponse: new Response('{"message": "hello world"}', {
headers: { "Content-Type": "application/json" },
}),
object: {
mediaContainer: {
size: 70,
allowSync: true,
art: "/:/resources/movie-fanart.jpg",
identifier: "com.plexapp.plugins.library",
librarySectionTitle: "Movies",
librarySectionUUID: "322a231a-b7f7-49f5-920f-14c61199cd30",
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1701731894,
thumb: "/:/resources/movie.png",
title1: "Movies",
title2: "Recently Released",
viewGroup: "movie",
viewMode: 65592,
mixedParents: true,
metadata: [
{
ratingKey: "58683",
key: "/library/metadata/58683",
guid: "plex://movie/5d7768ba96b655001fdc0408",
studio: "20th Century Studios",
type: "movie",
title: "Avatar: The Way of Water",
contentRating: "PG-13",
summary:
"Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.",
rating: 7.6,
audienceRating: 9.2,
year: 2022,
tagline: "Return to Pandora.",
thumb: "/library/metadata/58683/thumb/1703239236",
art: "/library/metadata/58683/art/1703239236",
duration: 11558112,
originallyAvailableAt: new RFCDate("2022-12-14T00:00:00Z"),
addedAt: 1680457607,
updatedAt: 1703239236,
audienceRatingImage: "rottentomatoes://image.rating.upright",
chapterSource: "media",
primaryExtraKey: "/library/metadata/58684",
ratingImage: "rottentomatoes://image.rating.ripe",
grandparentRatingKey: "66",
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
grandparentKey: "/library/metadata/66",
grandparentTitle: "Caprica",
grandparentThumb: "/library/metadata/66/thumb/1705716261",
grandparentArt: "/library/metadata/66/art/1705716261",
grandparentTheme: "/library/metadata/66/theme/1705716261",
media: [
{
id: 119534,
duration: 11558112,
bitrate: 25025,
width: 3840,
height: 2072,
aspectRatio: 1.85,
audioChannels: 6,
audioCodec: "eac3",
videoCodec: "hevc",
videoResolution: "4k",
container: "mkv",
videoFrameRate: "24p",
videoProfile: "main 10",
part: [
{
id: 119542,
key: "/library/parts/119542/1680457526/file.mkv",
duration: 11558112,
file: "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
size: 36158371307,
container: "mkv",
videoProfile: "main 10",
},
],
},
],
genre: [
{
tag: "Adventure",
},
],
country: [
{
tag: "United States of America",
},
],
director: [
{
tag: "James Cameron",
},
],
writer: [
{
tag: "James Cameron",
},
],
role: [
{
tag: "Sigourney Weaver",
},
],
titleSort: "Whale",
viewCount: 1,
lastViewedAt: 1682752242,
originalTitle: "映画 ブラッククローバー 魔法帝の剣",
viewOffset: 5222500,
skipCount: 1,
index: 1,
theme: "/library/metadata/1/theme/1705636920",
leafCount: 14,
viewedLeafCount: 0,
childCount: 1,
hasPremiumExtras: "1",
hasPremiumPrimaryExtra: "1",
parentRatingKey: "66",
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
parentStudio: "UCP",
parentKey: "/library/metadata/66",
parentTitle: "Caprica",
parentIndex: 1,
parentYear: 2010,
parentThumb: "/library/metadata/66/thumb/1705716261",
parentTheme: "/library/metadata/66/theme/1705716261",
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `object` | [models.GetLibraryItemsResponseBody](../models/getlibraryitemsresponsebody.md) | :heavy_minus_sign: | The contents of the library by section and tag |

View File

@@ -1,144 +0,0 @@
# GetLibraryItemsResponseBody
The contents of the library by section and tag
## Example Usage
```typescript
import { GetLibraryItemsResponseBody } from "@lukehagar/plexjs";
import { RFCDate } from "@lukehagar/plexjs/types";
let value: GetLibraryItemsResponseBody = {
mediaContainer: {
size: 70,
allowSync: true,
art: "/:/resources/movie-fanart.jpg",
identifier: "com.plexapp.plugins.library",
librarySectionTitle: "Movies",
librarySectionUUID: "322a231a-b7f7-49f5-920f-14c61199cd30",
mediaTagPrefix: "/system/bundle/media/flags/",
mediaTagVersion: 1701731894,
thumb: "/:/resources/movie.png",
title1: "Movies",
title2: "Recently Released",
viewGroup: "movie",
viewMode: 65592,
mixedParents: true,
metadata: [
{
ratingKey: "58683",
key: "/library/metadata/58683",
guid: "plex://movie/5d7768ba96b655001fdc0408",
studio: "20th Century Studios",
type: "movie",
title: "Avatar: The Way of Water",
contentRating: "PG-13",
summary:
"Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.",
rating: 7.6,
audienceRating: 9.2,
year: 2022,
tagline: "Return to Pandora.",
thumb: "/library/metadata/58683/thumb/1703239236",
art: "/library/metadata/58683/art/1703239236",
duration: 11558112,
originallyAvailableAt: new RFCDate("2022-12-14T00:00:00Z"),
addedAt: 1680457607,
updatedAt: 1703239236,
audienceRatingImage: "rottentomatoes://image.rating.upright",
chapterSource: "media",
primaryExtraKey: "/library/metadata/58684",
ratingImage: "rottentomatoes://image.rating.ripe",
grandparentRatingKey: "66",
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
grandparentKey: "/library/metadata/66",
grandparentTitle: "Caprica",
grandparentThumb: "/library/metadata/66/thumb/1705716261",
grandparentArt: "/library/metadata/66/art/1705716261",
grandparentTheme: "/library/metadata/66/theme/1705716261",
media: [
{
id: 119534,
duration: 11558112,
bitrate: 25025,
width: 3840,
height: 2072,
aspectRatio: 1.85,
audioChannels: 6,
audioCodec: "eac3",
videoCodec: "hevc",
videoResolution: "4k",
container: "mkv",
videoFrameRate: "24p",
videoProfile: "main 10",
part: [
{
id: 119542,
key: "/library/parts/119542/1680457526/file.mkv",
duration: 11558112,
file: "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
size: 36158371307,
container: "mkv",
videoProfile: "main 10",
},
],
},
],
genre: [
{
tag: "Adventure",
},
],
country: [
{
tag: "United States of America",
},
],
director: [
{
tag: "James Cameron",
},
],
writer: [
{
tag: "James Cameron",
},
],
role: [
{
tag: "Sigourney Weaver",
},
],
titleSort: "Whale",
viewCount: 1,
lastViewedAt: 1682752242,
originalTitle: "映画 ブラッククローバー 魔法帝の剣",
viewOffset: 5222500,
skipCount: 1,
index: 1,
theme: "/library/metadata/1/theme/1705636920",
leafCount: 14,
viewedLeafCount: 0,
childCount: 1,
hasPremiumExtras: "1",
hasPremiumPrimaryExtra: "1",
parentRatingKey: "66",
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
parentStudio: "UCP",
parentKey: "/library/metadata/66",
parentTitle: "Caprica",
parentIndex: 1,
parentYear: 2010,
parentThumb: "/library/metadata/66/thumb/1705716261",
parentTheme: "/library/metadata/66/theme/1705716261",
},
],
},
};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `mediaContainer` | [models.GetLibraryItemsMediaContainer](../models/getlibraryitemsmediacontainer.md) | :heavy_minus_sign: | N/A |

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