mirror of
https://github.com/LukeHagar/plexjs.git
synced 2025-12-10 04:20:58 +00:00
* `plex-api.libraryPlaylists.addPlaylistItems()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getMetadataHubs()`: * `request.onlyTransient` **Changed** * `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryCollections.moveCollectionItem()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryCollections.deleteCollectionItem()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryCollections.addCollectionItems()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.content.getSonicallySimilar()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.butler.stopTask()`: `request` **Changed** **Breaking** ⚠️ * `plex-api.butler.startTask()`: `request` **Changed** **Breaking** ⚠️ * `plex-api.content.getSonicPath()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.downloadQueue.getItemDecision()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getAllHubs()`: * `request.onlyTransient` **Changed** * `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getContinueWatching()`: `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getPromotedHubs()`: `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.content.getAllLeaves()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getPostplayHubs()`: * `request.onlyTransient` **Changed** * `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getRelatedHubs()`: * `request.onlyTransient` **Changed** * `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.hubs.getSectionHubs()`: * `request.onlyTransient` **Changed** * `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.content.listContent()`: * `request` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.content.getAlbums()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.search.searchHubs()`: `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.search.voiceSearchHubs()`: * `request.type` **Changed** **Breaking** ⚠️ * `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getLibraryItems()`: * `request.mediaQuery` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.ingestTransientItem()`: * `request` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getLibraryMatches()`: * `request` **Changed** **Breaking** ⚠️ * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.content.getMetadataItem()`: * `request` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getSections()`: `response.mediacontainer.directory.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.addSection()`: * `request` **Changed** * `response.mediacontainer.directory.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getTags()`: * `request.type` **Changed** **Breaking** ⚠️ * `plex-api.content.getCollectionItems()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getAllItemLeaves()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.status.listSessions()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.movePlayQueueItem()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getExtras()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.deletePlayQueueItem()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.unshuffle()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.listMatches()`: * `request.manual` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.listSonicallySimilar()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.resetPlayQueue()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getRelatedItems()`: `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.listSimilar()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.clearPlayQueue()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getItemTree()`: `response.mediacontainer.metadataItem.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.addToPlayQueue()`: * `request.next` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.getPlayQueue()`: * `request` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryPlaylists.movePlaylistItem()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getPerson()`: `response.mediacontainer.directory.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.listPersonMedia()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryPlaylists.getPlaylistGeneratorItems()`: `response.mediacontainer.metadata` **Changed** **Breaking** ⚠️ * `plex-api.library.getLibraryDetails()`: * `request.includeDetails` **Changed** * `response.mediacontainer.directory.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryPlaylists.modifyPlaylistGenerator()`: * `request.item` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.autocomplete()`: * `request.mediaQuery` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getCollections()`: * `request.mediaQuery` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.getCommon()`: * `request.mediaQuery` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryPlaylists.deletePlaylistItem()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryPlaylists.clearPlaylistItems()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playQueue.shuffle()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.libraryPlaylists.createPlaylist()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playlist.getPlaylistItems()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playlist.getPlaylist()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.collections.createCollection()`: * `request.type` **Changed** **Breaking** ⚠️ * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.dvRs.tuneChannel()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.liveTv.getSessions()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.liveTv.getLiveTvSession()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.playlist.listPlaylists()`: `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.getAllSubscriptions()`: * `request` **Changed** * `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.createSubscription()`: `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.getScheduledRecordings()`: `response.mediacontainer.mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.getTemplate()`: `response.mediacontainer.subscriptionTemplate.[].mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.getSubscription()`: * `request` **Changed** * `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.editSubscriptionPreferences()`: `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.subscriptions.reorderSubscription()`: `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️ * `plex-api.transcoder.makeDecision()`: * `request` **Changed** * `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️ * `plex-api.library.refreshItemsMetadata()`: * `request.markUpdated` **Changed** * `plex-api.authentication.postUsersSignInData()`: **Added** * `plex-api.transcoder.startTranscodeSession()`: `request` **Changed** * `plex-api.devices.modifyDevice()`: * `request.enabled` **Changed** * `plex-api.library.getMediaPart()`: * `request.download` **Changed** * `plex-api.library.detectIntros()`: * `request.force` **Changed** * `plex-api.library.refreshSection()`: * `request.force` **Changed** * `plex-api.libraryPlaylists.uploadPlaylist()`: * `request.force` **Changed** * `plex-api.library.deleteMediaItem()`: * `request.proxy` **Changed** * `plex-api.authentication.getTokenDetails()`: **Added** * `plex-api.library.getFirstCharacters()`: * `request.mediaQuery` **Changed** * `plex-api.library.updateItems()`: * `request.field.locked` **Changed** * `plex-api.library.deleteLibrarySection()`: * `request.async` **Changed** * `plex-api.library.setStreamSelection()`: * `request.allParts` **Changed** * `plex-api.playQueue.createPlayQueue()`: `request` **Changed** * `plex-api.library.getAugmentationStatus()`: * `request.wait` **Changed** * `plex-api.library.detectVoiceActivity()`: `request` **Changed** * `plex-api.transcoder.transcodeImage()`: `request` **Changed** * `plex-api.transcoder.transcodeSubtitles()`: `request` **Changed** * `plex-api.library.addSubtitles()`: `request` **Changed** * `plex-api.library.getStream()`: * `request.autoAdjustSubtitle` **Changed** * `plex-api.library.startBifGeneration()`: * `request.force` **Changed** * `plex-api.library.detectCredits()`: `request` **Changed** * `plex-api.ultraBlur.getImage()`: * `request.noise` **Changed** * `plex-api.library.generateThumbs()`: * `request.force` **Changed** * `plex-api.updater.applyUpdates()`: `request` **Changed** * `plex-api.updater.checkUpdates()`: * `request.download` **Changed** * `plex-api.library.deleteMetadataItem()`: * `request.proxy` **Changed** * `plex-api.library.optimizeDatabase()`: * `request.async` **Changed** * `plex-api.hubs.updateHubVisibility()`: `request` **Changed** * `plex-api.hubs.createCustomHub()`: `request` **Changed** * `plex-api.library.getSectionImage()`: * `request.mediaQuery` **Changed** * `plex-api.downloadQueue.addDownloadQueueItems()`: `request` **Changed** * `plex-api.timeline.report()`: `request` **Changed** * `plex-api.general.getSourceConnectionInformation()`: * `request.refresh` **Changed** * `plex-api.plex.getServerResources()`: **Added** * `plex-api.users.getUsers()`: **Added**
118 lines
37 KiB
Markdown
118 lines
37 KiB
Markdown
# UserPlexAccount
|
|
|
|
## Example Usage
|
|
|
|
```typescript
|
|
import {
|
|
AutoSelectSubtitle,
|
|
DefaultSubtitleAccessibility,
|
|
DefaultSubtitleForced,
|
|
MailingListStatus,
|
|
MediaReviewsVisibility,
|
|
ServiceStatus,
|
|
SubscriptionStatus1,
|
|
SubscriptionStatus2,
|
|
UserPlexAccount,
|
|
WatchedIndicator,
|
|
} from "@lukehagar/plexjs/sdk/models/shared";
|
|
|
|
let value: UserPlexAccount = {
|
|
adsConsentReminderAt: 1556281940,
|
|
adsConsentSetAt: 1556281940,
|
|
authToken: "CxoUzBTSV5hsxjTpFKaf",
|
|
country: "US",
|
|
email: "username@email.com",
|
|
friendlyName: "friendlyUsername",
|
|
entitlements: [],
|
|
homeSize: 1,
|
|
id: 13692262,
|
|
joinedAt: 1556281940,
|
|
mailingListStatus: MailingListStatus.Active,
|
|
maxHomeSize: 15,
|
|
profile: {
|
|
defaultAudioLanguage: "ja",
|
|
defaultAudioLanguages: null,
|
|
defaultSubtitleLanguage: "en",
|
|
defaultSubtitleLanguages: null,
|
|
autoSelectSubtitle: AutoSelectSubtitle.ShownWithForeignAudio,
|
|
defaultSubtitleAccessibility: DefaultSubtitleAccessibility.PreferSdh,
|
|
defaultSubtitleForced: DefaultSubtitleForced.PreferForced,
|
|
watchedIndicator: WatchedIndicator.MoviesAndTvShows,
|
|
mediaReviewsVisibility: MediaReviewsVisibility.CriticsOnly,
|
|
mediaReviewsLanguages: null,
|
|
},
|
|
rememberExpiresAt: 1556281940,
|
|
services: [
|
|
{
|
|
identifier: "metadata-dev",
|
|
endpoint: "https://epg.provider.plex.tv",
|
|
token: "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv",
|
|
secret: "<value>",
|
|
status: ServiceStatus.Online,
|
|
},
|
|
],
|
|
subscription: {
|
|
active: true,
|
|
subscribedAt: "2021-04-12T18:21:12Z",
|
|
status: SubscriptionStatus1.Inactive,
|
|
},
|
|
subscriptions: [
|
|
{
|
|
active: true,
|
|
subscribedAt: "2021-04-12T18:21:12Z",
|
|
status: SubscriptionStatus2.Inactive,
|
|
},
|
|
],
|
|
thumb: "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101",
|
|
title: "UsernameTitle",
|
|
username: "Username",
|
|
uuid: "dae343c1f45beb4f",
|
|
attributionPartner: null,
|
|
};
|
|
```
|
|
|
|
## Fields
|
|
|
|
| Field | Type | Required | Description | Example |
|
|
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `adsConsent` | *boolean* | :heavy_minus_sign: | Unknown | |
|
|
| `adsConsentReminderAt` | *number* | :heavy_minus_sign: | N/A | 1556281940 |
|
|
| `adsConsentSetAt` | *number* | :heavy_minus_sign: | N/A | 1556281940 |
|
|
| `anonymous` | *boolean* | :heavy_minus_sign: | Unknown | |
|
|
| `authToken` | *string* | :heavy_check_mark: | The account token | CxoUzBTSV5hsxjTpFKaf |
|
|
| `backupCodesCreated` | *boolean* | :heavy_minus_sign: | If the two-factor authentication backup codes have been created | |
|
|
| `confirmed` | *boolean* | :heavy_minus_sign: | If the account has been confirmed | |
|
|
| `country` | *string* | :heavy_minus_sign: | The account country | US |
|
|
| `email` | *string* | :heavy_check_mark: | The account email address | username@email.com |
|
|
| `emailOnlyAuth` | *boolean* | :heavy_minus_sign: | If login with email only is enabled | |
|
|
| `experimentalFeatures` | *boolean* | :heavy_minus_sign: | If experimental features are enabled | |
|
|
| `friendlyName` | *string* | :heavy_check_mark: | Your account full name | friendlyUsername |
|
|
| `entitlements` | *string*[] | :heavy_minus_sign: | List of devices your allowed to use with this account | [] |
|
|
| `guest` | *boolean* | :heavy_minus_sign: | If the account is a Plex Home guest user | |
|
|
| `hasPassword` | *boolean* | :heavy_minus_sign: | If the account has a password | |
|
|
| `home` | *boolean* | :heavy_minus_sign: | If the account is a Plex Home user | |
|
|
| `homeAdmin` | *boolean* | :heavy_minus_sign: | If the account is the Plex Home admin | |
|
|
| `homeSize` | *number* | :heavy_minus_sign: | The number of accounts in the Plex Home | 1 |
|
|
| `id` | *number* | :heavy_check_mark: | The Plex account ID | 13692262 |
|
|
| `joinedAt` | *number* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
|
|
| `locale` | *string* | :heavy_minus_sign: | The account locale | |
|
|
| `mailingListActive` | *boolean* | :heavy_minus_sign: | If you are subscribed to the Plex newsletter | |
|
|
| `mailingListStatus` | [shared.MailingListStatus](../../../sdk/models/shared/mailingliststatus.md) | :heavy_minus_sign: | Your current mailing list status | active |
|
|
| `maxHomeSize` | *number* | :heavy_minus_sign: | The maximum number of accounts allowed in the Plex Home | 15 |
|
|
| ~~`pin`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.<br/><br/>[Might be removed] The hashed Plex Home PIN | |
|
|
| `profile` | [shared.UserProfile](../../../sdk/models/shared/userprofile.md) | :heavy_minus_sign: | N/A | |
|
|
| `protected` | *boolean* | :heavy_minus_sign: | If the account has a Plex Home PIN enabled | |
|
|
| `rememberExpiresAt` | *number* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
|
|
| `restricted` | *boolean* | :heavy_minus_sign: | If the account is a Plex Home managed user | |
|
|
| `roles` | *string*[] | :heavy_minus_sign: | [Might be removed] List of account roles. Plexpass membership listed here | |
|
|
| `scrobbleTypes` | *string* | :heavy_minus_sign: | Unknown | |
|
|
| `services` | [shared.Service](../../../sdk/models/shared/service.md)[] | :heavy_minus_sign: | N/A | |
|
|
| `subscription` | [shared.Subscription1](../../../sdk/models/shared/subscription1.md) | :heavy_minus_sign: | If the account's Plex Pass subscription is active | |
|
|
| `subscriptionDescription` | *string* | :heavy_minus_sign: | Description of the Plex Pass subscription | |
|
|
| `subscriptions` | [shared.Subscription2](../../../sdk/models/shared/subscription2.md)[] | :heavy_minus_sign: | N/A | |
|
|
| `thumb` | *string* | :heavy_minus_sign: | URL of the account thumbnail | https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101 |
|
|
| `title` | *string* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle |
|
|
| `twoFactorEnabled` | *boolean* | :heavy_minus_sign: | If two-factor authentication is enabled | |
|
|
| `username` | *string* | :heavy_check_mark: | The account username | Username |
|
|
| `uuid` | *string* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f |
|
|
| `attributionPartner` | *string* | :heavy_minus_sign: | N/A | <nil> | |