Compare commits

...

32 Commits

Author SHA1 Message Date
speakeasybot
4f27055ae6 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.665.0 2025-12-01 01:50:09 +00:00
Luke Hagar
956c980d8b Update gen.yaml 2025-11-30 19:47:18 -06:00
Luke Hagar
8fdf3a4385 Update gen.yaml 2025-11-30 19:25:24 -06:00
Luke Hagar
0830add9f3 Update gen.yaml 2025-11-30 19:17:08 -06:00
speakeasybot
3994020ebb ## Typescript SDK Changes:
* `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**
2025-12-01 00:15:57 +00:00
speakeasybot
03c047afa2 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.656.1 2025-11-13 00:13:26 +00:00
speakeasybot
03910be91f ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.636.3 2025-10-12 07:28:01 +00:00
speakeasybot
25ed9aa97d ## Typescript SDK Changes Detected:
* `plex-api.general.getServerInfo()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.general.getSourceConnectionInformation()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.general.getTransientToken()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.events.getNotifications()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.events.connectWebSocket()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.preferences.setPreferences()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.preferences.getPreference()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.rate.setRating()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.timeline.markPlayed()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.timeline.report()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.timeline.unscrobble()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.activities.cancelActivity()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.butler.stopTask()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.butler.startTask()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.downloadQueue.getDownloadQueue()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.downloadQueue.addDownloadQueueItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.downloadQueue.listDownloadQueueItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.downloadQueue.getItemDecision()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.downloadQueue.getDownloadQueueMedia()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.downloadQueue.removeDownloadQueueItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.downloadQueue.getDownloadQueueItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.downloadQueue.restartProcessingDownloadQueueItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getAllHubs()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getContinueWatching()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getHubItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getPromotedHubs()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getMetadataHubs()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getPostplayHubs()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getRelatedHubs()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getSectionHubs()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.resetSectionDefaults()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.listHubs()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.createCustomHub()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.moveHub()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.deleteCustomHub()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.hubs.updateHubVisibility()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.search.searchHubs()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.search.voiceSearchHubs()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getLibraryItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.ingestTransientItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getLibraryMatches()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.optimizeDatabase()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getRandomArtwork()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.addSection()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getSectionsPrefs()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.refreshSectionsMetadata()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getTags()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.deleteMetadataItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.editMetadataItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.detectAds()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getAllItemLeaves()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.analyzeMetadata()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.generateThumbs()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.detectCredits()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getExtras()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.addExtras()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getFile()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.startBifGeneration()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.detectIntros()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.createMarker()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.matchItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.listMatches()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.mergeItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.listSonicallySimilar()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.setItemPreferences()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.refreshItemsMetadata()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getRelatedItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.listSimilar()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.splitItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.addSubtitles()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getItemTree()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.unmatch()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.listTopUsers()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.detectVoiceActivity()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getAugmentationStatus()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.setStreamSelection()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getPerson()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.listPersonMedia()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.deleteLibrarySection()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getLibraryDetails()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.editSection()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.updateItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.startAnalysis()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.autocomplete()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getCollections()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getCommon()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.emptyTrash()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getSectionFilters()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getFirstCharacters()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.deleteIndexes()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.deleteIntros()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getSectionPreferences()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.setSectionPreferences()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.cancelRefresh()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.refreshSection()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getAvailableSorts()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getStreamLevels()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getStreamLoudness()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getChapterImage()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.setItemArtwork()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.updateItemArtwork()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.deleteMarker()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.editMarker()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.deleteMediaItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getPartIndex()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.deleteCollection()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getSectionImage()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.deleteStream()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getStream()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.setStreamOffset()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getItemArtwork()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getMediaPart()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.library.getImageFromBif()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.collections.createCollection()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.dvRs.createDvr()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.dvRs.deleteDvr()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.dvRs.getDvr()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.dvRs.deleteLineup()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.dvRs.addLineup()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.dvRs.setDvrPreferences()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.dvRs.stopDvrReload()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.dvRs.reloadGuide()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.dvRs.tuneChannel()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.dvRs.removeDeviceFromDvr()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.dvRs.addDeviceToDvr()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.epg.computeChannelMap()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.epg.getChannels()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.epg.getLineup()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.epg.getLineupChannels()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.epg.getCountriesLineups()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.epg.getCountryRegions()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.epg.listLineups()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.liveTv.getLiveTvSession()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.liveTv.getSessionPlaylistIndex()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.liveTv.getSessionSegment()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.log.writeMessage()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.log.enablePapertrail()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.devices.getAvailableGrabbers()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.devices.addDevice()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.devices.removeDevice()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.devices.getDeviceDetails()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.devices.modifyDevice()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.devices.setChannelmap()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.devices.getDevicesChannels()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.devices.setDevicePreferences()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.devices.stopScan()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.devices.scan()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.devices.getThumb()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.provider.addProvider()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.provider.deleteMediaProvider()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.getAllSubscriptions()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.createSubscription()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.getTemplate()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.cancelGrab()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.deleteSubscription()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.getSubscription()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.editSubscriptionPreferences()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.reorderSubscription()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.transcoder.transcodeImage()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.transcoder.makeDecision()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.transcoder.triggerFallback()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.transcoder.transcodeSubtitles()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.transcoder.startTranscodeSession()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.playlist.listPlaylists()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.playlist.getPlaylist()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.playlist.getPlaylistItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.createPlaylist()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.uploadPlaylist()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.deletePlaylist()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.updatePlaylist()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.getPlaylistGenerators()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.clearPlaylistItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.addPlaylistItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.deletePlaylistItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.getPlaylistGenerator()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.modifyPlaylistGenerator()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.getPlaylistGeneratorItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.movePlaylistItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.refreshPlaylist()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.createPlayQueue()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.getPlayQueue()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.addToPlayQueue()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.clearPlayQueue()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.resetPlayQueue()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.shuffle()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.unshuffle()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.deletePlayQueueItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.movePlayQueueItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.ultraBlur.getColors()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.ultraBlur.getImage()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.status.listPlaybackHistory()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.status.terminateSession()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.status.deleteHistory()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.status.getHistoryItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.updater.applyUpdates()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.updater.checkUpdates()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.getCollectionItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.getMetadataItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.getAlbums()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.listContent()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.getAllLeaves()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.getArts()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.getCategories()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.getCluster()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.getSonicPath()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.getFolders()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.listMoments()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.getSonicallySimilar()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.getCollectionImage()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryCollections.addCollectionItems()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryCollections.deleteCollectionItem()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.libraryCollections.moveCollectionItem()`:  `request` **Changed** **Breaking** ⚠️
2025-10-12 05:53:52 +00:00
speakeasybot
cf2cf981be ## Typescript SDK Changes Detected:
* `plex-api.butler.startTask()`: 
  *  `request` **Changed** **Breaking** ⚠️
  *  `error` **Changed** **Breaking** ⚠️
* `plex-api.butler.stopTask()`: 
  *  `request` **Changed** **Breaking** ⚠️
  *  `error` **Changed** **Breaking** ⚠️
* `plex-api.updater.applyUpdates()`: 
  *  `request` **Changed** **Breaking** ⚠️
  *  `error` **Changed** **Breaking** ⚠️
* `plex-api.general.getServerInfo()`: **Added**
* `plex-api.general.getIdentity()`: **Added**
* `plex-api.general.getSourceConnectionInformation()`: **Added**
* `plex-api.general.getTransientToken()`: **Added**
* `plex-api.events.getNotifications()`: **Added**
* `plex-api.events.connectWebSocket()`: **Added**
* `plex-api.preferences.getAllPreferences()`: **Added**
* `plex-api.preferences.setPreferences()`: **Added**
* `plex-api.preferences.getPreference()`: **Added**
* `plex-api.rate.setRating()`: **Added**
* `plex-api.timeline.markPlayed()`: **Added**
* `plex-api.timeline.report()`: **Added**
* `plex-api.timeline.unscrobble()`: **Added**
* `plex-api.activities.listActivities()`: **Added**
* `plex-api.activities.cancelActivity()`: **Added**
* `plex-api.butler.stopTasks()`: **Added**
* `plex-api.butler.getTasks()`: **Added**
* `plex-api.butler.startTasks()`: **Added**
* `plex-api.downloadQueue.createDownloadQueue()`: **Added**
* `plex-api.downloadQueue.getDownloadQueue()`: **Added**
* `plex-api.downloadQueue.addDownloadQueueItems()`: **Added**
* `plex-api.downloadQueue.listDownloadQueueItems()`: **Added**
* `plex-api.downloadQueue.getItemDecision()`: **Added**
* `plex-api.downloadQueue.getDownloadQueueMedia()`: **Added**
* `plex-api.downloadQueue.removeDownloadQueueItems()`: **Added**
* `plex-api.downloadQueue.getDownloadQueueItems()`: **Added**
* `plex-api.downloadQueue.restartProcessingDownloadQueueItems()`: **Added**
* `plex-api.hubs.getAllHubs()`: **Added**
* `plex-api.hubs.getContinueWatching()`: **Added**
* `plex-api.hubs.getHubItems()`: **Added**
* `plex-api.hubs.getPromotedHubs()`: **Added**
* `plex-api.hubs.getMetadataHubs()`: **Added**
* `plex-api.hubs.getPostplayHubs()`: **Added**
* `plex-api.hubs.getRelatedHubs()`: **Added**
* `plex-api.hubs.getSectionHubs()`: **Added**
* `plex-api.hubs.resetSectionDefaults()`: **Added**
* `plex-api.hubs.listHubs()`: **Added**
* `plex-api.hubs.createCustomHub()`: **Added**
* `plex-api.hubs.moveHub()`: **Added**
* `plex-api.hubs.deleteCustomHub()`: **Added**
* `plex-api.hubs.updateHubVisibility()`: **Added**
* `plex-api.search.searchHubs()`: **Added**
* `plex-api.search.voiceSearchHubs()`: **Added**
* `plex-api.library.getLibraryItems()`: **Added**
* `plex-api.library.deleteCaches()`: **Added**
* `plex-api.library.cleanBundles()`: **Added**
* `plex-api.library.ingestTransientItem()`: **Added**
* `plex-api.library.getLibraryMatches()`: **Added**
* `plex-api.library.optimizeDatabase()`: **Added**
* `plex-api.library.getRandomArtwork()`: **Added**
* `plex-api.library.getSections()`: **Added**
* `plex-api.library.addSection()`: **Added**
* `plex-api.library.stopAllRefreshes()`: **Added**
* `plex-api.library.getSectionsPrefs()`: **Added**
* `plex-api.library.refreshSectionsMetadata()`: **Added**
* `plex-api.library.getTags()`: **Added**
* `plex-api.library.deleteMetadataItem()`: **Added**
* `plex-api.library.editMetadataItem()`: **Added**
* `plex-api.library.detectAds()`: **Added**
* `plex-api.library.getAllItemLeaves()`: **Added**
* `plex-api.library.analyzeMetadata()`: **Added**
* `plex-api.library.generateThumbs()`: **Added**
* `plex-api.library.detectCredits()`: **Added**
* `plex-api.library.getExtras()`: **Added**
* `plex-api.library.addExtras()`: **Added**
* `plex-api.library.getFile()`: **Added**
* `plex-api.library.startBifGeneration()`: **Added**
* `plex-api.library.detectIntros()`: **Added**
* `plex-api.library.createMarker()`: **Added**
* `plex-api.library.matchItem()`: **Added**
* `plex-api.library.listMatches()`: **Added**
* `plex-api.library.mergeItems()`: **Added**
* `plex-api.library.listSonicallySimilar()`: **Added**
* `plex-api.library.setItemPreferences()`: **Added**
* `plex-api.library.refreshItemsMetadata()`: **Added**
* `plex-api.library.getRelatedItems()`: **Added**
* `plex-api.library.listSimilar()`: **Added**
* `plex-api.library.splitItem()`: **Added**
* `plex-api.library.addSubtitles()`: **Added**
* `plex-api.library.getItemTree()`: **Added**
* `plex-api.library.unmatch()`: **Added**
* `plex-api.library.listTopUsers()`: **Added**
* `plex-api.library.detectVoiceActivity()`: **Added**
* `plex-api.library.getAugmentationStatus()`: **Added**
* `plex-api.library.setStreamSelection()`: **Added**
* `plex-api.library.getPerson()`: **Added**
* `plex-api.library.listPersonMedia()`: **Added**
* `plex-api.library.deleteLibrarySection()`: **Added**
* `plex-api.library.getLibraryDetails()`: **Added**
* `plex-api.library.editSection()`: **Added**
* `plex-api.library.updateItems()`: **Added**
* `plex-api.library.startAnalysis()`: **Added**
* `plex-api.library.autocomplete()`: **Added**
* `plex-api.library.getCollections()`: **Added**
* `plex-api.library.getCommon()`: **Added**
* `plex-api.library.emptyTrash()`: **Added**
* `plex-api.library.getSectionFilters()`: **Added**
* `plex-api.library.getFirstCharacters()`: **Added**
* `plex-api.library.deleteIndexes()`: **Added**
* `plex-api.library.deleteIntros()`: **Added**
* `plex-api.library.getSectionPreferences()`: **Added**
* `plex-api.library.setSectionPreferences()`: **Added**
* `plex-api.library.cancelRefresh()`: **Added**
* `plex-api.library.refreshSection()`: **Added**
* `plex-api.library.getAvailableSorts()`: **Added**
* `plex-api.library.getStreamLevels()`: **Added**
* `plex-api.library.getStreamLoudness()`: **Added**
* `plex-api.library.getChapterImage()`: **Added**
* `plex-api.library.setItemArtwork()`: **Added**
* `plex-api.library.updateItemArtwork()`: **Added**
* `plex-api.library.deleteMarker()`: **Added**
* `plex-api.library.editMarker()`: **Added**
* `plex-api.library.deleteMediaItem()`: **Added**
* `plex-api.library.getPartIndex()`: **Added**
* `plex-api.library.deleteCollection()`: **Added**
* `plex-api.library.getSectionImage()`: **Added**
* `plex-api.library.deleteStream()`: **Added**
* `plex-api.library.getStream()`: **Added**
* `plex-api.library.setStreamOffset()`: **Added**
* `plex-api.library.getItemArtwork()`: **Added**
* `plex-api.library.getMediaPart()`: **Added**
* `plex-api.library.getImageFromBif()`: **Added**
* `plex-api.collections.createCollection()`: **Added**
* `plex-api.dvRs.listDvRs()`: **Added**
* `plex-api.dvRs.createDvr()`: **Added**
* `plex-api.dvRs.deleteDvr()`: **Added**
* `plex-api.dvRs.getDvr()`: **Added**
* `plex-api.dvRs.deleteLineup()`: **Added**
* `plex-api.dvRs.addLineup()`: **Added**
* `plex-api.dvRs.setDvrPreferences()`: **Added**
* `plex-api.dvRs.stopDvrReload()`: **Added**
* `plex-api.dvRs.reloadGuide()`: **Added**
* `plex-api.dvRs.tuneChannel()`: **Added**
* `plex-api.dvRs.removeDeviceFromDvr()`: **Added**
* `plex-api.dvRs.addDeviceToDvr()`: **Added**
* `plex-api.epg.computeChannelMap()`: **Added**
* `plex-api.epg.getChannels()`: **Added**
* `plex-api.epg.getCountries()`: **Added**
* `plex-api.epg.getAllLanguages()`: **Added**
* `plex-api.epg.getLineup()`: **Added**
* `plex-api.epg.getLineupChannels()`: **Added**
* `plex-api.epg.getCountriesLineups()`: **Added**
* `plex-api.epg.getCountryRegions()`: **Added**
* `plex-api.epg.listLineups()`: **Added**
* `plex-api.liveTv.getSessions()`: **Added**
* `plex-api.liveTv.getLiveTvSession()`: **Added**
* `plex-api.liveTv.getSessionPlaylistIndex()`: **Added**
* `plex-api.liveTv.getSessionSegment()`: **Added**
* `plex-api.log.writeLog()`: **Added**
* `plex-api.log.writeMessage()`: **Added**
* `plex-api.log.enablePapertrail()`: **Added**
* `plex-api.devices.getAvailableGrabbers()`: **Added**
* `plex-api.devices.listDevices()`: **Added**
* `plex-api.devices.addDevice()`: **Added**
* `plex-api.devices.discoverDevices()`: **Added**
* `plex-api.devices.removeDevice()`: **Added**
* `plex-api.devices.getDeviceDetails()`: **Added**
* `plex-api.devices.modifyDevice()`: **Added**
* `plex-api.devices.setChannelmap()`: **Added**
* `plex-api.devices.getDevicesChannels()`: **Added**
* `plex-api.devices.setDevicePreferences()`: **Added**
* `plex-api.devices.stopScan()`: **Added**
* `plex-api.devices.scan()`: **Added**
* `plex-api.devices.getThumb()`: **Added**
* `plex-api.provider.listProviders()`: **Added**
* `plex-api.provider.addProvider()`: **Added**
* `plex-api.provider.refreshProviders()`: **Added**
* `plex-api.provider.deleteMediaProvider()`: **Added**
* `plex-api.subscriptions.getAllSubscriptions()`: **Added**
* `plex-api.subscriptions.createSubscription()`: **Added**
* `plex-api.subscriptions.processSubscriptions()`: **Added**
* `plex-api.subscriptions.getScheduledRecordings()`: **Added**
* `plex-api.subscriptions.getTemplate()`: **Added**
* `plex-api.subscriptions.cancelGrab()`: **Added**
* `plex-api.subscriptions.deleteSubscription()`: **Added**
* `plex-api.subscriptions.getSubscription()`: **Added**
* `plex-api.subscriptions.editSubscriptionPreferences()`: **Added**
* `plex-api.subscriptions.reorderSubscription()`: **Added**
* `plex-api.transcoder.transcodeImage()`: **Added**
* `plex-api.transcoder.makeDecision()`: **Added**
* `plex-api.transcoder.triggerFallback()`: **Added**
* `plex-api.transcoder.transcodeSubtitles()`: **Added**
* `plex-api.transcoder.startTranscodeSession()`: **Added**
* `plex-api.playlist.listPlaylists()`: **Added**
* `plex-api.playlist.getPlaylist()`: **Added**
* `plex-api.playlist.getPlaylistItems()`: **Added**
* `plex-api.libraryPlaylists.createPlaylist()`: **Added**
* `plex-api.libraryPlaylists.uploadPlaylist()`: **Added**
* `plex-api.libraryPlaylists.deletePlaylist()`: **Added**
* `plex-api.libraryPlaylists.updatePlaylist()`: **Added**
* `plex-api.libraryPlaylists.getPlaylistGenerators()`: **Added**
* `plex-api.libraryPlaylists.clearPlaylistItems()`: **Added**
* `plex-api.libraryPlaylists.addPlaylistItems()`: **Added**
* `plex-api.libraryPlaylists.deletePlaylistItem()`: **Added**
* `plex-api.libraryPlaylists.getPlaylistGenerator()`: **Added**
* `plex-api.libraryPlaylists.modifyPlaylistGenerator()`: **Added**
* `plex-api.libraryPlaylists.getPlaylistGeneratorItems()`: **Added**
* `plex-api.libraryPlaylists.movePlaylistItem()`: **Added**
* `plex-api.libraryPlaylists.refreshPlaylist()`: **Added**
* `plex-api.playQueue.createPlayQueue()`: **Added**
* `plex-api.playQueue.getPlayQueue()`: **Added**
* `plex-api.playQueue.addToPlayQueue()`: **Added**
* `plex-api.playQueue.clearPlayQueue()`: **Added**
* `plex-api.playQueue.resetPlayQueue()`: **Added**
* `plex-api.playQueue.shuffle()`: **Added**
* `plex-api.playQueue.unshuffle()`: **Added**
* `plex-api.playQueue.deletePlayQueueItem()`: **Added**
* `plex-api.playQueue.movePlayQueueItem()`: **Added**
* `plex-api.ultraBlur.getColors()`: **Added**
* `plex-api.ultraBlur.getImage()`: **Added**
* `plex-api.status.listSessions()`: **Added**
* `plex-api.status.getBackgroundTasks()`: **Added**
* `plex-api.status.listPlaybackHistory()`: **Added**
* `plex-api.status.terminateSession()`: **Added**
* `plex-api.status.deleteHistory()`: **Added**
* `plex-api.status.getHistoryItem()`: **Added**
* `plex-api.updater.checkUpdates()`: **Added**
* `plex-api.updater.getUpdatesStatus()`: **Added**
* `plex-api.content.getCollectionItems()`: **Added**
* `plex-api.content.getMetadataItem()`: **Added**
* `plex-api.content.getAlbums()`: **Added**
* `plex-api.content.listContent()`: **Added**
* `plex-api.content.getAllLeaves()`: **Added**
* `plex-api.content.getArts()`: **Added**
* `plex-api.content.getCategories()`: **Added**
* `plex-api.content.getCluster()`: **Added**
* `plex-api.content.getSonicPath()`: **Added**
* `plex-api.content.getFolders()`: **Added**
* `plex-api.content.listMoments()`: **Added**
* `plex-api.content.getSonicallySimilar()`: **Added**
* `plex-api.content.getCollectionImage()`: **Added**
* `plex-api.libraryCollections.addCollectionItems()`: **Added**
* `plex-api.libraryCollections.deleteCollectionItem()`: **Added**
* `plex-api.libraryCollections.moveCollectionItem()`: **Added**
* `plex-api.server.getServerCapabilities()`: **Deleted** **Breaking** ⚠️
* `plex-api.server.getServerPreferences()`: **Deleted** **Breaking** ⚠️
* `plex-api.server.getAvailableClients()`: **Deleted** **Breaking** ⚠️
* `plex-api.server.getDevices()`: **Deleted** **Breaking** ⚠️
* `plex-api.server.getServerIdentity()`: **Deleted** **Breaking** ⚠️
* `plex-api.server.getMyPlexAccount()`: **Deleted** **Breaking** ⚠️
* `plex-api.server.getResizedPhoto()`: **Deleted** **Breaking** ⚠️
* `plex-api.server.getMediaProviders()`: **Deleted** **Breaking** ⚠️
* `plex-api.server.getServerList()`: **Deleted** **Breaking** ⚠️
* `plex-api.media.markPlayed()`: **Deleted** **Breaking** ⚠️
* `plex-api.media.markUnplayed()`: **Deleted** **Breaking** ⚠️
* `plex-api.media.updatePlayProgress()`: **Deleted** **Breaking** ⚠️
* `plex-api.media.getBannerImage()`: **Deleted** **Breaking** ⚠️
* `plex-api.media.getThumbImage()`: **Deleted** **Breaking** ⚠️
* `plex-api.video.getTimeline()`: **Deleted** **Breaking** ⚠️
* `plex-api.video.startUniversalTranscode()`: **Deleted** **Breaking** ⚠️
* `plex-api.activities.getServerActivities()`: **Deleted** **Breaking** ⚠️
* `plex-api.activities.cancelServerActivities()`: **Deleted** **Breaking** ⚠️
* `plex-api.butler.getButlerTasks()`: **Deleted** **Breaking** ⚠️
* `plex-api.butler.startAllTasks()`: **Deleted** **Breaking** ⚠️
* `plex-api.butler.stopAllTasks()`: **Deleted** **Breaking** ⚠️
* `plex-api.plex.getCompanionsData()`: **Deleted** **Breaking** ⚠️
* `plex-api.plex.getUserFriends()`: **Deleted** **Breaking** ⚠️
* `plex-api.plex.getGeoData()`: **Deleted** **Breaking** ⚠️
* `plex-api.plex.getHomeData()`: **Deleted** **Breaking** ⚠️
* `plex-api.plex.getServerResources()`: **Deleted** **Breaking** ⚠️
* `plex-api.plex.getPin()`: **Deleted** **Breaking** ⚠️
* `plex-api.plex.getTokenByPinId()`: **Deleted** **Breaking** ⚠️
* `plex-api.hubs.getGlobalHubs()`: **Deleted** **Breaking** ⚠️
* `plex-api.hubs.getRecentlyAdded()`: **Deleted** **Breaking** ⚠️
* `plex-api.hubs.getLibraryHubs()`: **Deleted** **Breaking** ⚠️
* `plex-api.search.performSearch()`: **Deleted** **Breaking** ⚠️
* `plex-api.search.performVoiceSearch()`: **Deleted** **Breaking** ⚠️
* `plex-api.search.getSearchResults()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getFileHash()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getRecentlyAddedLibrary()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getAllLibraries()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getLibraryDetails()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.deleteLibrary()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getLibraryItems()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getLibrarySectionsAll()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getRefreshLibraryMetadata()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getSearchLibrary()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getGenresLibrary()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getCountriesLibrary()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getActorsLibrary()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getSearchAllLibraries()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getMediaMetaData()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getMediaArts()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.postMediaArts()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getMediaPosters()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.postMediaPoster()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getMetadataChildren()`: **Deleted** **Breaking** ⚠️
* `plex-api.library.getTopWatchedContent()`: **Deleted** **Breaking** ⚠️
* `plex-api.watchlist.getWatchList()`: **Deleted** **Breaking** ⚠️
* `plex-api.log.logLine()`: **Deleted** **Breaking** ⚠️
* `plex-api.log.logMultiLine()`: **Deleted** **Breaking** ⚠️
* `plex-api.log.enablePaperTrail()`: **Deleted** **Breaking** ⚠️
* `plex-api.playlists.createPlaylist()`: **Deleted** **Breaking** ⚠️
* `plex-api.playlists.getPlaylists()`: **Deleted** **Breaking** ⚠️
* `plex-api.playlists.getPlaylist()`: **Deleted** **Breaking** ⚠️
* `plex-api.playlists.deletePlaylist()`: **Deleted** **Breaking** ⚠️
* `plex-api.playlists.updatePlaylist()`: **Deleted** **Breaking** ⚠️
* `plex-api.playlists.getPlaylistContents()`: **Deleted** **Breaking** ⚠️
* `plex-api.playlists.clearPlaylistContents()`: **Deleted** **Breaking** ⚠️
* `plex-api.playlists.addPlaylistContents()`: **Deleted** **Breaking** ⚠️
* `plex-api.playlists.uploadPlaylist()`: **Deleted** **Breaking** ⚠️
* `plex-api.authentication.getTransientToken()`: **Deleted** **Breaking** ⚠️
* `plex-api.authentication.getSourceConnectionInformation()`: **Deleted** **Breaking** ⚠️
* `plex-api.authentication.getTokenDetails()`: **Deleted** **Breaking** ⚠️
* `plex-api.authentication.postUsersSignInData()`: **Deleted** **Breaking** ⚠️
* `plex-api.statistics.getStatistics()`: **Deleted** **Breaking** ⚠️
* `plex-api.statistics.getResourcesStatistics()`: **Deleted** **Breaking** ⚠️
* `plex-api.statistics.getBandwidthStatistics()`: **Deleted** **Breaking** ⚠️
* `plex-api.sessions.getSessions()`: **Deleted** **Breaking** ⚠️
* `plex-api.sessions.getSessionHistory()`: **Deleted** **Breaking** ⚠️
* `plex-api.sessions.getTranscodeSessions()`: **Deleted** **Breaking** ⚠️
* `plex-api.sessions.stopTranscodeSession()`: **Deleted** **Breaking** ⚠️
* `plex-api.updater.getUpdateStatus()`: **Deleted** **Breaking** ⚠️
* `plex-api.updater.checkForUpdates()`: **Deleted** **Breaking** ⚠️
* `plex-api.users.getUsers()`: **Deleted** **Breaking** ⚠️
2025-10-12 05:27:01 +00:00
Luke Hagar
de0bc5c344 Enable various name resolution and security fixes 2025-10-11 21:29:54 -05:00
Luke Hagar
c31a963aa6 Update input location for plexapi source 2025-10-11 21:16:22 -05:00
Luke Hagar
faffbfd137 Delete .github/workflows/publish-jsr.yaml 2025-10-11 21:15:25 -05:00
Luke Hagar
2853ce6b54 Enhance SDK generation workflow with publishing
Updated workflow to include publishing step to NPM and JSR.
2025-10-11 21:15:16 -05:00
speakeasybot
ed63eb13b9 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.615.2 2025-09-15 00:13:35 +00:00
speakeasybot
442b11c11a ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.598.3 2025-08-07 00:14:07 +00:00
speakeasybot
c56a0f5d3c ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.598.0 2025-08-06 00:13:53 +00:00
speakeasybot
fe48f93ccb ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.580.1 2025-07-10 00:13:20 +00:00
speakeasybot
a7ec77cd04 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.557.0 2025-06-09 00:13:46 +00:00
speakeasybot
2b38478255 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.555.2 2025-06-04 00:13:03 +00:00
speakeasybot
6bd12d8759 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.542.1 2025-05-05 00:13:14 +00:00
speakeasybot
891a7d39a1 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.541.2 2025-05-01 00:13:53 +00:00
speakeasybot
763aa8e800 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.535.1 2025-04-19 00:12:04 +00:00
speakeasybot
7a950ea773 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.531.4 2025-04-14 00:12:56 +00:00
speakeasybot
379a408d74 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.529.1 2025-04-06 00:12:51 +00:00
speakeasybot
2712820397 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.528.1 2025-04-03 00:12:07 +00:00
speakeasybot
c895213ae8 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.526.6 2025-03-31 19:44:01 +00:00
Luke Hagar
c473c9d326 Update workflow.yaml 2025-03-31 14:41:40 -05:00
speakeasybot
3c13bba9de ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.526.6 2025-03-31 19:35:21 +00:00
speakeasybot
650c5043ef ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.526.6 2025-03-31 16:33:24 +00:00
Luke Hagar
0234804578 correcting label override key value 2025-03-31 11:30:53 -05:00
Luke Hagar
60d913c8f9 adjusting codesample labels 2025-03-28 16:58:29 -05:00
speakeasybot
8d9f4bbaf1 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.513.4 2025-03-09 00:10:48 +00:00
2728 changed files with 208116 additions and 133466 deletions

View File

@@ -1,32 +0,0 @@
name: Publish to JSR
permissions:
checks: write
contents: write
pull-requests: write
statuses: write
on:
workflow_dispatch:
registry_package:
types: [published]
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 18
- name: Install dependencies
run: npm install
- name: Publish package
run: npx jsr publish

View File

@@ -1,10 +1,12 @@
name: Generate name: Generate and Publish to NPM and JSR
permissions: permissions:
checks: write checks: write
contents: write contents: write
pull-requests: write pull-requests: write
statuses: write statuses: write
"on":
on:
workflow_dispatch: workflow_dispatch:
inputs: inputs:
force: force:
@@ -16,6 +18,7 @@ permissions:
type: string type: string
schedule: schedule:
- cron: 0 0 * * * - cron: 0 0 * * *
jobs: jobs:
generate: generate:
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15 uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
@@ -28,3 +31,24 @@ jobs:
github_access_token: ${{ secrets.GITHUB_TOKEN }} github_access_token: ${{ secrets.GITHUB_TOKEN }}
npm_token: ${{ secrets.NPM_TOKEN }} npm_token: ${{ secrets.NPM_TOKEN }}
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
publish:
runs-on: ubuntu-latest
needs: generate
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v5
with:
node-version: 20
- name: Install dependencies
run: npm install
- name: Publish package
run: npx jsr publish

8
.gitignore vendored
View File

@@ -1,3 +1,11 @@
/examples/node_modules
.env
.env.local
.env.*.local
.DS_Store
**/.speakeasy/temp/
**/.speakeasy/logs/
.DS_Store
/mcp-server /mcp-server
/bin /bin
/.eslintcache /.eslintcache

File diff suppressed because one or more lines are too long

View File

@@ -4,47 +4,75 @@ generation:
maintainOpenAPIOrder: true maintainOpenAPIOrder: true
usageSnippets: usageSnippets:
optionalPropertyRendering: withExample optionalPropertyRendering: withExample
sdkInitStyle: constructor
useClassNamesForArrayFields: true useClassNamesForArrayFields: true
fixes: fixes:
nameResolutionDec2023: true nameResolutionDec2023: true
nameResolutionFeb2025: false nameResolutionFeb2025: true
parameterOrderingFeb2024: true parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true requestResponseComponentNamesFeb2024: true
securityFeb2025: false securityFeb2025: true
sharedErrorComponentsApr2025: true
auth: auth:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false oAuth2PasswordEnabled: false
hoistGlobalSecurity: true
schemas:
allOfMergeStrategy: shallowMerge
requestBodyFieldName: ""
tests:
generateTests: true
generateNewTests: true
skipResponseBodyAssertions: false
typescript: typescript:
version: 0.35.0 version: 0.44.1
acceptHeaderEnum: true
additionalDependencies: additionalDependencies:
dependencies: {} dependencies: {}
devDependencies: {} devDependencies: {}
peerDependencies: {} peerDependencies: {}
additionalPackageJSON: {} additionalPackageJSON: {}
additionalScripts: {}
alwaysIncludeInboundAndOutbound: false
author: LukeHagar author: LukeHagar
baseErrorName: PlexAPIError
clientServerStatusCodesAsErrors: true clientServerStatusCodesAsErrors: true
constFieldsAlwaysOptional: true
defaultErrorName: SDKError defaultErrorName: SDKError
enableCustomCodeRegions: false enableCustomCodeRegions: false
enableMCPServer: true enableMCPServer: false
enableReactQuery: false enableReactQuery: false
enumFormat: enum enumFormat: enum
exportZodModelNamespace: false
flattenGlobalSecurity: true flattenGlobalSecurity: true
flatteningOrder: body-first flatteningOrder: body-first
formStringArrayEncodeMode: encoded-string
forwardCompatibleEnumsByDefault: true
forwardCompatibleUnionsByDefault: tagged-only
generateExamples: true
imports: imports:
option: openapi option: openapi
paths: paths:
callbacks: sdk/models/callbacks callbacks: models/callbacks
errors: sdk/models/errors errors: models/errors
operations: sdk/models/operations operations: models/operations
shared: sdk/models/shared shared: models/shared
webhooks: sdk/models/webhooks webhooks: models/webhooks
inferUnionDiscriminators: true
inputModelSuffix: input inputModelSuffix: input
jsonpath: legacy jsonpath: rfc9535
laxMode: lax
maxMethodParams: 4 maxMethodParams: 4
methodArguments: require-security-and-request methodArguments: require-security-and-request
modelPropertyCasing: camel
moduleFormat: commonjs moduleFormat: commonjs
multipartArrayFormat: legacy
outputModelSuffix: output outputModelSuffix: output
packageName: '@lukehagar/plexjs' packageName: '@lukehagar/plexjs'
responseFormat: envelope responseFormat: flat
sseFlatResponse: false
templateVersion: v2 templateVersion: v2
unionStrategy: populated-fields
usageSDKInitImports: []
useIndexModules: true useIndexModules: true
zodVersion: v4

8019
.speakeasy/tests.arazzo.yaml Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.513.2 speakeasyVersion: 1.665.0
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
@@ -9,27 +9,27 @@ sources:
- main - main
plexapi: plexapi:
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:bf7001af017ce5072c503bfbaf60793f94549163b517489dc53e4f7b685659c0 sourceRevisionDigest: sha256:ace004a3b232e8ab9ca3d89f2da8e40470236e6d997073a16c3f8872d67a7383
sourceBlobDigest: sha256:ed2b29043c84f32d2efa92a126083fd9a81644a7ce9c6ac86d9aeb3493cbd6f8 sourceBlobDigest: sha256:993bfb796a3833b0a3b813ad12469ca34db94f23c2d15ae988a26b4d1ed80fbe
tags: tags:
- latest - latest
- speakeasy-sdk-regen-1741306213 - speakeasy-sdk-regen-1764553715
- 0.0.3 - 1.1.1
targets: targets:
plexjs: plexjs:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:bf7001af017ce5072c503bfbaf60793f94549163b517489dc53e4f7b685659c0 sourceRevisionDigest: sha256:ace004a3b232e8ab9ca3d89f2da8e40470236e6d997073a16c3f8872d67a7383
sourceBlobDigest: sha256:ed2b29043c84f32d2efa92a126083fd9a81644a7ce9c6ac86d9aeb3493cbd6f8 sourceBlobDigest: sha256:993bfb796a3833b0a3b813ad12469ca34db94f23c2d15ae988a26b4d1ed80fbe
codeSamplesNamespace: code-samples-typescript-plexjs codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:e9663ecbdaaaaaf3f7ff17e00365dc176eda813f06e83bae125af65c9ab34453 codeSamplesRevisionDigest: sha256:8e6f77ee0be9e54c36682ee6244983f9a69ce9a05a6a251f64df3f5fbd5bc08a
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest
sources: sources:
plexapi: plexapi:
inputs: inputs:
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/refs/heads/main/output/plex-media-server-spec-dereferenced.yaml - location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/refs/heads/main/plex-api-spec.yaml
registry: registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi
targets: targets:
@@ -43,3 +43,5 @@ workflow:
output: codeSamples.yaml output: codeSamples.yaml
registry: registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
labelOverride:
fixedValue: PlexJS

View File

@@ -3,7 +3,7 @@ speakeasyVersion: latest
sources: sources:
plexapi: plexapi:
inputs: inputs:
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/refs/heads/main/output/plex-media-server-spec-dereferenced.yaml - location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/refs/heads/main/plex-api-spec.yaml
registry: registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi
targets: targets:
@@ -17,3 +17,5 @@ targets:
output: codeSamples.yaml output: codeSamples.yaml
registry: registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
labelOverride:
fixedValue: PlexJS

View File

@@ -20,39 +20,65 @@ 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 { transcoderStartTranscodeSession } from "@lukehagar/plexjs/funcs/transcoderStartTranscodeSession.js";
import { SDKValidationError } from "@lukehagar/plexjs/sdk/models/errors/sdkvalidationerror.js"; import { Extension, StartTranscodeSessionLocation, StartTranscodeSessionProtocol } from "@lukehagar/plexjs/models/operations";
import { Accepts, AdvancedSubtitles, BoolInt, TranscodeType } from "@lukehagar/plexjs/models/shared";
// 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.
const plexAPI = new PlexAPICore({ const plexAPI = new PlexAPICore({
accessToken: "<YOUR_API_KEY_HERE>", accepts: Accepts.ApplicationXml,
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
token: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
const res = await serverGetServerCapabilities(plexAPI); const res = await transcoderStartTranscodeSession(plexAPI, {
transcodeType: TranscodeType.Music,
switch (true) { extension: Extension.Mpd,
case res.ok: advancedSubtitles: AdvancedSubtitles.Burn,
// The success case will be handled outside of the switch block audioBoost: 50,
break; audioChannelCount: 5,
case res.error instanceof SDKValidationError: autoAdjustQuality: BoolInt.True,
// Pretty-print validation errors. autoAdjustSubtitle: BoolInt.True,
return console.log(res.error.pretty()); directPlay: BoolInt.True,
case res.error instanceof Error: directStream: BoolInt.True,
return console.log(res.error); directStreamAudio: BoolInt.True,
default: disableResolutionRotation: BoolInt.True,
// TypeScript's type checking will fail on the following line if the above hasMDE: BoolInt.True,
// cases were not exhaustive. location: StartTranscodeSessionLocation.Wan,
res.error satisfies never; mediaBufferSize: 102400,
throw new Error("Assertion failed: expected error checks to be exhaustive: " + res.error); mediaIndex: 0,
musicBitrate: 5000,
offset: 90.5,
partIndex: 0,
path: "/library/metadata/151671",
peakBitrate: 12000,
photoResolution: "1080x1080",
protocol: StartTranscodeSessionProtocol.Dash,
secondsPerSegment: 5,
subtitleSize: 50,
videoBitrate: 12000,
videoQuality: 50,
videoResolution: "1080x1080",
xPlexClientProfileExtra: "add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.frameRate&value=60&replace=true)+append-transcode-target-codec(type=videoProfile&context=streaming&videoCodec=h264%2Chevc&audioCodec=aac&protocol=dash)",
xPlexClientProfileName: "generic",
});
if (res.ok) {
const { value: result } = res;
console.log(result);
} else {
console.log("transcoderStartTranscodeSession failed:", res.error);
} }
const { value: result } = res;
// Handle the result
console.log(result);
} }
run(); run();

1068
README.md

File diff suppressed because it is too large Load Diff

View File

@@ -1238,4 +1238,224 @@ Based on:
### Generated ### Generated
- [typescript v0.35.0] . - [typescript v0.35.0] .
### Releases ### Releases
- [NPM v0.35.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.0 - . - [NPM v0.35.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.0 - .
## 2025-03-09 00:09:12
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.513.4 (2.545.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.1] .
### Releases
- [NPM v0.35.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.1 - .
## 2025-03-31 16:31:46
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.2] .
### Releases
- [NPM v0.35.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.2 - .
## 2025-03-31 19:33:46
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.3] .
### Releases
- [NPM v0.35.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.3 - .
## 2025-03-31 19:42:25
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.35.4] .
### Releases
- [NPM v0.35.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.4 - .
## 2025-04-03 00:10:29
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.528.1 (2.565.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.36.0] .
### Releases
- [NPM v0.36.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.0 - .
## 2025-04-06 00:11:19
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.529.1 (2.566.5) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.36.1] .
### Releases
- [NPM v0.36.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.1 - .
## 2025-04-14 00:11:23
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.531.4 (2.570.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.36.2] .
### Releases
- [NPM v0.36.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.2 - .
## 2025-04-19 00:10:19
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.535.1 (2.585.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.37.0] .
### Releases
- [NPM v0.37.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.0 - .
## 2025-05-01 00:12:16
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.541.2 (2.595.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.37.1] .
### Releases
- [NPM v0.37.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.1 - .
## 2025-05-05 00:11:37
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.542.1 (2.597.9) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.37.2] .
### Releases
- [NPM v0.37.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.2 - .
## 2025-06-04 00:11:21
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.555.2 (2.620.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.38.0] .
### Releases
- [NPM v0.38.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.38.0 - .
## 2025-06-09 00:12:06
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.557.0 (2.623.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.39.0] .
### Releases
- [NPM v0.39.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.39.0 - .
## 2025-07-10 00:11:39
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.580.1 (2.656.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.40.0] .
### Releases
- [NPM v0.40.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.40.0 - .
## 2025-08-06 00:12:14
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.598.0 (2.674.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.40.1] .
### Releases
- [NPM v0.40.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.40.1 - .
## 2025-08-07 00:12:28
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.598.3 (2.674.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.40.2] .
### Releases
- [NPM v0.40.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.40.2 - .
## 2025-09-15 00:11:38
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.615.2 (2.698.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.40.3] .
### Releases
- [NPM v0.40.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.40.3 - .
## 2025-10-12 05:24:41
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.636.3 (2.723.11) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.41.0] .
### Releases
- [NPM v0.41.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.41.0 - .
## 2025-10-12 05:51:28
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.636.3 (2.723.11) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.42.0] .
### Releases
- [NPM v0.42.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.42.0 - .
## 2025-10-12 07:25:38
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.636.3 (2.723.11) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.42.1] .
### Releases
- [NPM v0.42.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.42.1 - .
## 2025-11-13 00:11:23
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.656.1 (2.753.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.43.0] .
### Releases
- [NPM v0.43.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.43.0 - .
## 2025-12-01 00:13:55
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.665.0 (2.767.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.44.0] .
### Releases
- [NPM v0.44.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.44.0 - .
## 2025-12-01 01:48:15
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.665.0 (2.767.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.44.1] .
### Releases
- [NPM v0.44.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.44.1 - .

View File

@@ -2,9 +2,9 @@
This SDK is intended to be used in JavaScript runtimes that support ECMAScript 2020 or newer. The SDK uses the following features: This SDK is intended to be used in JavaScript runtimes that support ECMAScript 2020 or newer. The SDK uses the following features:
* [Web Fetch API][web-fetch] - [Web Fetch API][web-fetch]
* [Web Streams API][web-streams] and in particular `ReadableStream` - [Web Streams API][web-streams] and in particular `ReadableStream`
* [Async iterables][async-iter] using `Symbol.asyncIterator` - [Async iterables][async-iter] using `Symbol.asyncIterator`
[web-fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API [web-fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
[web-streams]: https://developer.mozilla.org/en-US/docs/Web/API/Streams_API [web-streams]: https://developer.mozilla.org/en-US/docs/Web/API/Streams_API
@@ -25,7 +25,7 @@ Runtime environments that are explicitly supported are:
The following `tsconfig.json` options are recommended for projects using this The following `tsconfig.json` options are recommended for projects using this
SDK in order to get static type support for features like async iterables, SDK in order to get static type support for features like async iterables,
streams and `fetch`-related APIs ([`for await...of`][for-await-of], streams and `fetch`-related APIs ([`for await...of`][for-await-of],
[`AbortSignal`][abort-signal], [`Request`][request], [`Response`][response] and [`AbortSignal`][abort-signal], [`Request`][request], [`Response`][response] and
so on): so on):
@@ -38,11 +38,11 @@ so on):
{ {
"compilerOptions": { "compilerOptions": {
"target": "es2020", // or higher "target": "es2020", // or higher
"lib": ["es2020", "dom", "dom.iterable"], "lib": ["es2020", "dom", "dom.iterable"]
} }
} }
``` ```
While `target` can be set to older ECMAScript versions, it may result in extra, While `target` can be set to older ECMAScript versions, it may result in extra,
unnecessary compatibility code being generated if you are not targeting old unnecessary compatibility code being generated if you are not targeting old
runtimes. runtimes.

View File

@@ -1,15 +1,67 @@
<!-- Start SDK Example Usage [usage] --> <!-- Start SDK Example Usage [usage] -->
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import {
Extension,
StartTranscodeSessionLocation,
StartTranscodeSessionProtocol,
} from "@lukehagar/plexjs/models/operations";
import {
Accepts,
AdvancedSubtitles,
BoolInt,
TranscodeType,
} from "@lukehagar/plexjs/models/shared";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accepts: Accepts.ApplicationXml,
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
token: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
const result = await plexAPI.server.getServerCapabilities(); const result = await plexAPI.transcoder.startTranscodeSession({
transcodeType: TranscodeType.Music,
extension: Extension.Mpd,
advancedSubtitles: AdvancedSubtitles.Burn,
audioBoost: 50,
audioChannelCount: 5,
autoAdjustQuality: BoolInt.True,
autoAdjustSubtitle: BoolInt.True,
directPlay: BoolInt.True,
directStream: BoolInt.True,
directStreamAudio: BoolInt.True,
disableResolutionRotation: BoolInt.True,
hasMDE: BoolInt.True,
location: StartTranscodeSessionLocation.Wan,
mediaBufferSize: 102400,
mediaIndex: 0,
musicBitrate: 5000,
offset: 90.5,
partIndex: 0,
path: "/library/metadata/151671",
peakBitrate: 12000,
photoResolution: "1080x1080",
protocol: StartTranscodeSessionProtocol.Dash,
secondsPerSegment: 5,
subtitleSize: 50,
videoBitrate: 12000,
videoQuality: 50,
videoResolution: "1080x1080",
xPlexClientProfileExtra:
"add-limitation(scope=videoCodec&scopeName=*&type=upperBound&name=video.frameRate&value=60&replace=true)+append-transcode-target-codec(type=videoProfile&context=streaming&videoCodec=h264%2Chevc&audioCodec=aac&protocol=dash)",
xPlexClientProfileName: "generic",
});
// Handle the result
console.log(result); console.log(result);
} }

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
# GetServerResourcesUnauthorizedError
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetServerResourcesUnauthorizedError } from "@lukehagar/plexjs/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `errors` | [operations.GetServerResourcesError](../../models/operations/getserverresourceserror.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,17 @@
# GetTokenDetailsBadRequestError
Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage
```typescript
import { GetTokenDetailsBadRequestError } from "@lukehagar/plexjs/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `errors` | [operations.GetTokenDetailsBadRequestError](../../models/operations/gettokendetailsbadrequesterror.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,17 @@
# GetTokenDetailsUnauthorizedError
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetTokenDetailsUnauthorizedError } from "@lukehagar/plexjs/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| `errors` | [operations.GetTokenDetailsUnauthorizedError](../../models/operations/gettokendetailsunauthorizederror.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,17 @@
# GetUsersBadRequestError
Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage
```typescript
import { GetUsersBadRequestError } from "@lukehagar/plexjs/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `errors` | [operations.GetUsersBadRequestError](../../models/operations/getusersbadrequesterror.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,17 @@
# GetUsersUnauthorizedError
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetUsersUnauthorizedError } from "@lukehagar/plexjs/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `errors` | [operations.GetUsersUnauthorizedError](../../models/operations/getusersunauthorizederror.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,17 @@
# PostUsersSignInDataBadRequestError
Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage
```typescript
import { PostUsersSignInDataBadRequestError } from "@lukehagar/plexjs/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `errors` | [operations.PostUsersSignInDataBadRequestError](../../models/operations/postuserssignindatabadrequesterror.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,17 @@
# PostUsersSignInDataUnauthorizedError
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { PostUsersSignInDataUnauthorizedError } from "@lukehagar/plexjs/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `errors` | [operations.PostUsersSignInDataUnauthorizedError](../../models/operations/postuserssignindataunauthorizederror.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,16 @@
# Account
## Example Usage
```typescript
import { Account } from "@lukehagar/plexjs/models/operations";
let value: Account = {};
```
## Fields
| Field | Type | Required | Description |
| ------------------ | ------------------ | ------------------ | ------------------ |
| `globalViewCount` | *number* | :heavy_minus_sign: | N/A |
| `id` | *number* | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,19 @@
# Action
The action to perform for this item on this optimizer queue
## Example Usage
```typescript
import { Action } from "@lukehagar/plexjs/models/operations";
let value: Action = Action.Enable;
```
## Values
| Name | Value |
| ----------- | ----------- |
| `Reprocess` | reprocess |
| `Disable` | disable |
| `Enable` | enable |

View File

@@ -0,0 +1,23 @@
# Activity
## Example Usage
```typescript
import { Activity } from "@lukehagar/plexjs/models/operations";
let value: Activity = {};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `cancellable` | *boolean* | :heavy_minus_sign: | Indicates whether this activity can be cancelled |
| `context` | Record<string, *any*> | :heavy_minus_sign: | An object with additional values |
| `progress` | *number* | :heavy_minus_sign: | A progress percentage. A value of -1 means the progress is indeterminate |
| `response` | Record<string, *any*> | :heavy_minus_sign: | An object with the response to the async opperation |
| `subtitle` | *string* | :heavy_minus_sign: | A user-friendly sub-title for this activity |
| `title` | *string* | :heavy_minus_sign: | A user-friendly title for this activity |
| `type` | *string* | :heavy_minus_sign: | The type of activity |
| `userID` | *number* | :heavy_minus_sign: | The user this activity belongs to |
| `uuid` | *string* | :heavy_minus_sign: | The ID of the activity |

View File

@@ -0,0 +1,36 @@
# AddCollectionItemsGlobals
## Example Usage
```typescript
import { AddCollectionItemsGlobals } from "@lukehagar/plexjs/models/operations";
let value: AddCollectionItemsGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,30 @@
# AddCollectionItemsRequest
## Example Usage
```typescript
import { AddCollectionItemsRequest } from "@lukehagar/plexjs/models/operations";
let value: AddCollectionItemsRequest = {
collectionId: 705686,
uri: "https://mad-handle.biz/",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `collectionId` | *number* | :heavy_check_mark: | The collection id | |
| `uri` | *string* | :heavy_check_mark: | The URI describing the items to add to this collection | |

View File

@@ -0,0 +1,36 @@
# AddDeviceGlobals
## Example Usage
```typescript
import { AddDeviceGlobals } from "@lukehagar/plexjs/models/operations";
let value: AddDeviceGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,28 @@
# AddDeviceRequest
## Example Usage
```typescript
import { AddDeviceRequest } from "@lukehagar/plexjs/models/operations";
let value: AddDeviceRequest = {
uri: "http://10.0.0.5",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `uri` | *string* | :heavy_minus_sign: | The URI of the device. | http://10.0.0.5 |

View File

@@ -0,0 +1,19 @@
# AddDeviceToDVRDVR
## Example Usage
```typescript
import { AddDeviceToDVRDVR } from "@lukehagar/plexjs/models/operations";
let value: AddDeviceToDVRDVR = {};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
| `device` | [shared.Device](../../models/shared/device.md)[] | :heavy_minus_sign: | N/A |
| `key` | *string* | :heavy_minus_sign: | N/A |
| `language` | *string* | :heavy_minus_sign: | N/A |
| `lineup` | *string* | :heavy_minus_sign: | N/A |
| `uuid` | *string* | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,36 @@
# AddDeviceToDVRGlobals
## Example Usage
```typescript
import { AddDeviceToDVRGlobals } from "@lukehagar/plexjs/models/operations";
let value: AddDeviceToDVRGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,16 @@
# AddDeviceToDVRMediaContainer
## Example Usage
```typescript
import { AddDeviceToDVRMediaContainer } from "@lukehagar/plexjs/models/operations";
let value: AddDeviceToDVRMediaContainer = {};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `mediaContainer` | [operations.AddDeviceToDVRMediaContainerMediaContainer](../../models/operations/adddevicetodvrmediacontainermediacontainer.md) | :heavy_minus_sign: | N/A |
| `dvr` | [operations.AddDeviceToDVRDVR](../../models/operations/adddevicetodvrdvr.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,24 @@
# AddDeviceToDVRMediaContainerMediaContainer
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
## Example Usage
```typescript
import { AddDeviceToDVRMediaContainerMediaContainer } from "@lukehagar/plexjs/models/operations";
let value: AddDeviceToDVRMediaContainerMediaContainer = {};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `identifier` | *string* | :heavy_minus_sign: | N/A |
| `offset` | *number* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
| `size` | *number* | :heavy_minus_sign: | N/A |
| `totalSize` | *number* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
| `status` | *number* | :heavy_minus_sign: | A status indicator. If present and non-zero, indicates an error |

View File

@@ -0,0 +1,30 @@
# AddDeviceToDVRRequest
## Example Usage
```typescript
import { AddDeviceToDVRRequest } from "@lukehagar/plexjs/models/operations";
let value: AddDeviceToDVRRequest = {
dvrId: 595771,
deviceId: 611322,
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `dvrId` | *number* | :heavy_check_mark: | The ID of the DVR. | |
| `deviceId` | *number* | :heavy_check_mark: | The ID of the device to add. | |

View File

@@ -0,0 +1,27 @@
# AddDeviceToDVRResponse
## Example Usage
```typescript
import { AddDeviceToDVRResponse } from "@lukehagar/plexjs/models/operations";
let value: AddDeviceToDVRResponse = {
headers: {
"key": [
"<value 1>",
],
"key1": [
"<value 1>",
"<value 2>",
],
},
result: {},
};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `headers` | Record<string, *string*[]> | :heavy_check_mark: | N/A |
| `result` | [operations.AddDeviceToDVRResponseBody](../../models/operations/adddevicetodvrresponsebody.md) | :heavy_check_mark: | N/A |

View File

@@ -0,0 +1,17 @@
# AddDeviceToDVRResponseBody
OK
## Example Usage
```typescript
import { AddDeviceToDVRResponseBody } from "@lukehagar/plexjs/models/operations";
let value: AddDeviceToDVRResponseBody = {};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `mediaContainer` | [operations.AddDeviceToDVRMediaContainer](../../models/operations/adddevicetodvrmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,36 @@
# AddDownloadQueueItemsGlobals
## Example Usage
```typescript
import { AddDownloadQueueItemsGlobals } from "@lukehagar/plexjs/models/operations";
let value: AddDownloadQueueItemsGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,24 @@
# AddDownloadQueueItemsMediaContainer
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
## Example Usage
```typescript
import { AddDownloadQueueItemsMediaContainer } from "@lukehagar/plexjs/models/operations";
let value: AddDownloadQueueItemsMediaContainer = {};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `identifier` | *string* | :heavy_minus_sign: | N/A |
| `offset` | *number* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
| `size` | *number* | :heavy_minus_sign: | N/A |
| `totalSize` | *number* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
| `addedQueueItems` | [operations.AddedQueueItem](../../models/operations/addedqueueitem.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,86 @@
# AddDownloadQueueItemsRequest
## Example Usage
```typescript
import { AddDownloadQueueItemsRequest } from "@lukehagar/plexjs/models/operations";
import { AdvancedSubtitles, BoolInt, LocationParameter, ProtocolParameter, Subtitles } from "@lukehagar/plexjs/models/shared";
let value: AddDownloadQueueItemsRequest = {
queueId: 44894,
keys: [
"/library/metadata/3",
"/library/metadata/6",
],
advancedSubtitles: AdvancedSubtitles.Burn,
audioBoost: 50,
audioChannelCount: 5,
autoAdjustQuality: BoolInt.True,
autoAdjustSubtitle: BoolInt.True,
directPlay: BoolInt.True,
directStream: BoolInt.True,
directStreamAudio: BoolInt.True,
disableResolutionRotation: BoolInt.True,
hasMDE: BoolInt.True,
location: LocationParameter.Wan,
mediaBufferSize: 102400,
mediaIndex: 0,
musicBitrate: 5000,
offset: 90.5,
partIndex: 0,
path: "/library/metadata/151671",
peakBitrate: 12000,
photoResolution: "1080x1080",
protocol: ProtocolParameter.Dash,
secondsPerSegment: 5,
subtitleSize: 50,
subtitles: Subtitles.Sidecar,
videoBitrate: 12000,
videoQuality: 50,
videoResolution: "1080x1080",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `queueId` | *number* | :heavy_check_mark: | The queue id | |
| `keys` | *string*[] | :heavy_check_mark: | Keys to add | [<br/>"/library/metadata/3",<br/>"/library/metadata/6"<br/>] |
| `advancedSubtitles` | [shared.AdvancedSubtitles](../../models/shared/advancedsubtitles.md) | :heavy_minus_sign: | Indicates how incompatible advanced subtitles (such as ass/ssa) should be included: * 'burn' - Burn incompatible advanced text subtitles into the video stream * 'text' - Transcode incompatible advanced text subtitles to a compatible text format, even if some markup is lost<br/> | burn |
| `audioBoost` | *number* | :heavy_minus_sign: | Percentage of original audio loudness to use when transcoding (100 is equivalent to original volume, 50 is half, 200 is double, etc) | 50 |
| `audioChannelCount` | *number* | :heavy_minus_sign: | Target video number of audio channels. | 5 |
| `autoAdjustQuality` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | Indicates the client supports ABR. | 1 |
| `autoAdjustSubtitle` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | Indicates if the server should adjust subtitles based on Voice Activity Data. | 1 |
| `directPlay` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | Indicates the client supports direct playing the indicated content. | 1 |
| `directStream` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | Indicates the client supports direct streaming the video of the indicated content. | 1 |
| `directStreamAudio` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | Indicates the client supports direct streaming the audio of the indicated content. | 1 |
| `disableResolutionRotation` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | Indicates if resolution should be adjusted for orientation. | 1 |
| `hasMDE` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | Ignore client profiles when determining if direct play is possible. Only has an effect when directPlay=1 and both mediaIndex and partIndex are specified and neither are -1 | 1 |
| `location` | [shared.LocationParameter](../../models/shared/locationparameter.md) | :heavy_minus_sign: | Network type of the client, can be used to help determine target bitrate. | wan |
| `mediaBufferSize` | *number* | :heavy_minus_sign: | Buffer size used in playback (in KB). Clients should specify a lower bound if not known exactly. This value could make the difference between transcoding and direct play on bandwidth constrained networks. | 102400 |
| `mediaIndex` | *number* | :heavy_minus_sign: | Index of the media to transcode. -1 or not specified indicates let the server choose. | 0 |
| `musicBitrate` | *number* | :heavy_minus_sign: | Target bitrate for audio only files (in kbps, used to transcode). | 5000 |
| `offset` | *number* | :heavy_minus_sign: | Offset from the start of the media (in seconds). | 90.5 |
| `partIndex` | *number* | :heavy_minus_sign: | Index of the part to transcode. -1 or not specified indicates the server should join parts together in a transcode | 0 |
| `path` | *string* | :heavy_minus_sign: | Internal PMS path of the media to transcode. | /library/metadata/151671 |
| `peakBitrate` | *number* | :heavy_minus_sign: | Maximum bitrate (in kbps) to use in ABR. | 12000 |
| `photoResolution` | *string* | :heavy_minus_sign: | Target photo resolution. | 1080x1080 |
| `protocol` | [shared.ProtocolParameter](../../models/shared/protocolparameter.md) | :heavy_minus_sign: | Indicates the network streaming protocol to be used for the transcode session: * 'http' - include the file in the http response such as MKV streaming * 'hls' - hls stream (RFC 8216) * 'dash' - dash stream (ISO/IEC 23009-1:2022)<br/> | dash |
| `secondsPerSegment` | *number* | :heavy_minus_sign: | Number of seconds to include in each transcoded segment | 5 |
| `subtitleSize` | *number* | :heavy_minus_sign: | Percentage of original subtitle size to use when burning subtitles (100 is equivalent to original size, 50 is half, ect) | 50 |
| `subtitles` | [shared.Subtitles](../../models/shared/subtitles.md) | :heavy_minus_sign: | Indicates how subtitles should be included: * 'auto' - Compute the appropriate subtitle setting automatically * 'burn' - Burn the selected subtitle; auto if no selected subtitle * 'none' - Ignore all subtitle streams * 'sidecar' - The selected subtitle should be provided as a sidecar * 'embedded' - The selected subtitle should be provided as an embedded stream * 'segmented' - The selected subtitle should be provided as a segmented stream<br/> | Burn |
| `videoBitrate` | *number* | :heavy_minus_sign: | Target video bitrate (in kbps). | 12000 |
| `videoQuality` | *number* | :heavy_minus_sign: | Target photo quality. | 50 |
| `videoResolution` | *string* | :heavy_minus_sign: | Target maximum video resolution. | 1080x1080 |

View File

@@ -0,0 +1,17 @@
# AddDownloadQueueItemsResponse
OK
## Example Usage
```typescript
import { AddDownloadQueueItemsResponse } from "@lukehagar/plexjs/models/operations";
let value: AddDownloadQueueItemsResponse = {};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `mediaContainer` | [operations.AddDownloadQueueItemsMediaContainer](../../models/operations/adddownloadqueueitemsmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,16 @@
# AddedQueueItem
## Example Usage
```typescript
import { AddedQueueItem } from "@lukehagar/plexjs/models/operations";
let value: AddedQueueItem = {};
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `id` | *number* | :heavy_minus_sign: | The queue item id that was added or the existing one if an item already exists in this queue with the same parameters |
| `key` | *string* | :heavy_minus_sign: | The key added to the queue |

View File

@@ -0,0 +1,36 @@
# AddExtrasGlobals
## Example Usage
```typescript
import { AddExtrasGlobals } from "@lukehagar/plexjs/models/operations";
let value: AddExtrasGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,32 @@
# AddExtrasRequest
## Example Usage
```typescript
import { AddExtrasRequest } from "@lukehagar/plexjs/models/operations";
let value: AddExtrasRequest = {
ids: "<value>",
url: "https://agitated-tribe.name/",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `ids` | *string* | :heavy_check_mark: | N/A | |
| `extraType` | *number* | :heavy_minus_sign: | The metadata type of the extra | |
| `url` | *string* | :heavy_check_mark: | The URL of the extra | |
| `title` | *string* | :heavy_minus_sign: | The title to filter by or assign | |

View File

@@ -0,0 +1,19 @@
# AddLineupDVR
## Example Usage
```typescript
import { AddLineupDVR } from "@lukehagar/plexjs/models/operations";
let value: AddLineupDVR = {};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
| `device` | [shared.Device](../../models/shared/device.md)[] | :heavy_minus_sign: | N/A |
| `key` | *string* | :heavy_minus_sign: | N/A |
| `language` | *string* | :heavy_minus_sign: | N/A |
| `lineup` | *string* | :heavy_minus_sign: | N/A |
| `uuid` | *string* | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,36 @@
# AddLineupGlobals
## Example Usage
```typescript
import { AddLineupGlobals } from "@lukehagar/plexjs/models/operations";
let value: AddLineupGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,16 @@
# AddLineupMediaContainer
## Example Usage
```typescript
import { AddLineupMediaContainer } from "@lukehagar/plexjs/models/operations";
let value: AddLineupMediaContainer = {};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `mediaContainer` | [operations.AddLineupMediaContainerMediaContainer](../../models/operations/addlineupmediacontainermediacontainer.md) | :heavy_minus_sign: | N/A |
| `dvr` | [operations.AddLineupDVR](../../models/operations/addlineupdvr.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,24 @@
# AddLineupMediaContainerMediaContainer
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
## Example Usage
```typescript
import { AddLineupMediaContainerMediaContainer } from "@lukehagar/plexjs/models/operations";
let value: AddLineupMediaContainerMediaContainer = {};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `identifier` | *string* | :heavy_minus_sign: | N/A |
| `offset` | *number* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
| `size` | *number* | :heavy_minus_sign: | N/A |
| `totalSize` | *number* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
| `status` | *number* | :heavy_minus_sign: | A status indicator. If present and non-zero, indicates an error |

View File

@@ -0,0 +1,30 @@
# AddLineupRequest
## Example Usage
```typescript
import { AddLineupRequest } from "@lukehagar/plexjs/models/operations";
let value: AddLineupRequest = {
dvrId: 950730,
lineup: "<value>",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `dvrId` | *number* | :heavy_check_mark: | The ID of the DVR. | |
| `lineup` | *string* | :heavy_check_mark: | The lineup to delete | |

View File

@@ -0,0 +1,27 @@
# AddLineupResponse
## Example Usage
```typescript
import { AddLineupResponse } from "@lukehagar/plexjs/models/operations";
let value: AddLineupResponse = {
headers: {
"key": [
"<value 1>",
],
"key1": [
"<value 1>",
"<value 2>",
],
},
result: {},
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `headers` | Record<string, *string*[]> | :heavy_check_mark: | N/A |
| `result` | [operations.AddLineupResponseBody](../../models/operations/addlineupresponsebody.md) | :heavy_check_mark: | N/A |

View File

@@ -0,0 +1,17 @@
# AddLineupResponseBody
OK
## Example Usage
```typescript
import { AddLineupResponseBody } from "@lukehagar/plexjs/models/operations";
let value: AddLineupResponseBody = {};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `mediaContainer` | [operations.AddLineupMediaContainer](../../models/operations/addlineupmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,36 @@
# AddPlaylistItemsGlobals
## Example Usage
```typescript
import { AddPlaylistItemsGlobals } from "@lukehagar/plexjs/models/operations";
let value: AddPlaylistItemsGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,30 @@
# AddPlaylistItemsRequest
## Example Usage
```typescript
import { AddPlaylistItemsRequest } from "@lukehagar/plexjs/models/operations";
let value: AddPlaylistItemsRequest = {
playlistId: 174404,
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `playlistId` | *number* | :heavy_check_mark: | The ID of the playlist | |
| `uri` | *string* | :heavy_minus_sign: | The content URI for the playlist. | |
| `playQueueID` | *number* | :heavy_minus_sign: | The play queue to add to a playlist. | |

View File

@@ -0,0 +1,36 @@
# AddProviderGlobals
## Example Usage
```typescript
import { AddProviderGlobals } from "@lukehagar/plexjs/models/operations";
let value: AddProviderGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,28 @@
# AddProviderRequest
## Example Usage
```typescript
import { AddProviderRequest } from "@lukehagar/plexjs/models/operations";
let value: AddProviderRequest = {
url: "https://bright-unique.biz/",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `url` | *string* | :heavy_check_mark: | The URL of the media provider to add. | |

View File

@@ -0,0 +1,36 @@
# AddSectionGlobals
## Example Usage
```typescript
import { AddSectionGlobals } from "@lukehagar/plexjs/models/operations";
let value: AddSectionGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,16 @@
# AddSectionPrefs
The preferences for this section
## Example Usage
```typescript
import { AddSectionPrefs } from "@lukehagar/plexjs/models/operations";
let value: AddSectionPrefs = {};
```
## Fields
| Field | Type | Required | Description |
| ----------- | ----------- | ----------- | ----------- |

View File

@@ -0,0 +1,48 @@
# AddSectionRequest
## Example Usage
```typescript
import { AddSectionRequest } from "@lukehagar/plexjs/models/operations";
import { BoolInt } from "@lukehagar/plexjs/models/shared";
let value: AddSectionRequest = {
name: "<value>",
type: 583726,
agent: "<value>",
language: "<value>",
locations: [
"O:\fatboy\\Media\\Ripped\\Music",
"O:\fatboy\\Media\\My Music",
],
prefs: {},
relative: BoolInt.True,
importFromiTunes: BoolInt.True,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `name` | *string* | :heavy_check_mark: | The name of the new section | |
| `type` | *number* | :heavy_check_mark: | The type of library section | |
| `scanner` | *string* | :heavy_minus_sign: | The scanner this section should use | |
| `agent` | *string* | :heavy_check_mark: | The agent this section should use for metadata | |
| `metadataAgentProviderGroupId` | *string* | :heavy_minus_sign: | The agent group id for this section | |
| `language` | *string* | :heavy_check_mark: | The language of this section | |
| `locations` | *string*[] | :heavy_minus_sign: | The locations on disk to add to this section | [<br/>"O:\\fatboy\\Media\\Ripped\\Music",<br/>"O:\\fatboy\\Media\\My Music"<br/>] |
| `prefs` | [operations.AddSectionPrefs](../../models/operations/addsectionprefs.md) | :heavy_minus_sign: | The preferences for this section | {<br/>"collectionMode": 2,<br/>"hidden": 0<br/>} |
| `relative` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | If set, paths are relative to `Media Upload` path | 1 |
| `importFromiTunes` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | If set, import media from iTunes. | 1 |

View File

@@ -0,0 +1,36 @@
# AddSubtitlesGlobals
## Example Usage
```typescript
import { AddSubtitlesGlobals } from "@lukehagar/plexjs/models/operations";
let value: AddSubtitlesGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,38 @@
# AddSubtitlesRequest
## Example Usage
```typescript
import { AddSubtitlesRequest } from "@lukehagar/plexjs/models/operations";
import { BoolInt } from "@lukehagar/plexjs/models/shared";
let value: AddSubtitlesRequest = {
ids: "<value>",
forced: BoolInt.True,
hearingImpaired: BoolInt.True,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `ids` | *string* | :heavy_check_mark: | N/A | |
| `title` | *string* | :heavy_minus_sign: | N/A | |
| `language` | *string* | :heavy_minus_sign: | N/A | |
| `mediaItemID` | *number* | :heavy_minus_sign: | N/A | |
| `url` | *string* | :heavy_minus_sign: | The URL of the subtitle. If not provided, the contents of the subtitle must be in the post body | |
| `format` | *string* | :heavy_minus_sign: | N/A | |
| `forced` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 |
| `hearingImpaired` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 |

View File

@@ -0,0 +1,36 @@
# AddToPlayQueueGlobals
## Example Usage
```typescript
import { AddToPlayQueueGlobals } from "@lukehagar/plexjs/models/operations";
let value: AddToPlayQueueGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,33 @@
# AddToPlayQueueRequest
## Example Usage
```typescript
import { AddToPlayQueueRequest } from "@lukehagar/plexjs/models/operations";
import { BoolInt } from "@lukehagar/plexjs/models/shared";
let value: AddToPlayQueueRequest = {
playQueueId: 354193,
next: BoolInt.True,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `playQueueId` | *number* | :heavy_check_mark: | The ID of the play queue. | |
| `uri` | *string* | :heavy_minus_sign: | The content URI for what we're adding to the queue. | |
| `playlistID` | *string* | :heavy_minus_sign: | The ID of the playlist to add to the playQueue. | |
| `next` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | Play this item next (defaults to 0 - queueing at the end of manually queued items). | 1 |

View File

@@ -0,0 +1,23 @@
# AdvancedSubtitles
## Example Usage
```typescript
import { AdvancedSubtitles } from "@lukehagar/plexjs/models/operations";
let value: AdvancedSubtitles = AdvancedSubtitles.Auto;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Auto` | auto |
| `Burn` | burn |
| `None` | none |
| `Sidecar` | sidecar |
| `Embedded` | embedded |
| `Segmented` | segmented |
| - | `Unrecognized<string>` |

View File

@@ -0,0 +1,21 @@
# AllLibraries
Indicates if the user has access to all libraries.
## Example Usage
```typescript
import { AllLibraries } from "@lukehagar/plexjs/models/operations";
let value: AllLibraries = AllLibraries.Enable;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Disable` | 0 |
| `Enable` | 1 |
| - | `Unrecognized<number>` |

View File

@@ -0,0 +1,21 @@
# AllowCameraUpload
Indicates if the user is allowed to upload from a camera.
## Example Usage
```typescript
import { AllowCameraUpload } from "@lukehagar/plexjs/models/operations";
let value: AllowCameraUpload = AllowCameraUpload.Enable;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Disable` | 0 |
| `Enable` | 1 |
| - | `Unrecognized<number>` |

View File

@@ -0,0 +1,21 @@
# AllowChannels
Indicates if the user has access to channels.
## Example Usage
```typescript
import { AllowChannels } from "@lukehagar/plexjs/models/operations";
let value: AllowChannels = AllowChannels.Enable;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Disable` | 0 |
| `Enable` | 1 |
| - | `Unrecognized<number>` |

View File

@@ -0,0 +1,21 @@
# AllowSubtitleAdmin
Indicates if the user can manage subtitles.
## Example Usage
```typescript
import { AllowSubtitleAdmin } from "@lukehagar/plexjs/models/operations";
let value: AllowSubtitleAdmin = AllowSubtitleAdmin.Enable;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Disable` | 0 |
| `Enable` | 1 |
| - | `Unrecognized<number>` |

View File

@@ -0,0 +1,21 @@
# AllowSync
Indicates if the user is allowed to sync media.
## Example Usage
```typescript
import { AllowSync } from "@lukehagar/plexjs/models/operations";
let value: AllowSync = AllowSync.Enable;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Disable` | 0 |
| `Enable` | 1 |
| - | `Unrecognized<number>` |

View File

@@ -0,0 +1,21 @@
# AllowTuners
Indicates if the user is allowed to use tuners.
## Example Usage
```typescript
import { AllowTuners } from "@lukehagar/plexjs/models/operations";
let value: AllowTuners = AllowTuners.Enable;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Disable` | 0 |
| `Enable` | 1 |
| - | `Unrecognized<number>` |

View File

@@ -0,0 +1,36 @@
# AnalyzeMetadataGlobals
## Example Usage
```typescript
import { AnalyzeMetadataGlobals } from "@lukehagar/plexjs/models/operations";
let value: AnalyzeMetadataGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,30 @@
# AnalyzeMetadataRequest
## Example Usage
```typescript
import { AnalyzeMetadataRequest } from "@lukehagar/plexjs/models/operations";
let value: AnalyzeMetadataRequest = {
ids: "<value>",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `ids` | *string* | :heavy_check_mark: | N/A | |
| `thumbOffset` | *number* | :heavy_minus_sign: | Set the offset to be used for thumbnails | |
| `artOffset` | *number* | :heavy_minus_sign: | Set the offset to be used for artwork | |

View File

@@ -0,0 +1,36 @@
# ApplyUpdatesGlobals
## Example Usage
```typescript
import { ApplyUpdatesGlobals } from "@lukehagar/plexjs/models/operations";
let value: ApplyUpdatesGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,31 @@
# ApplyUpdatesRequest
## Example Usage
```typescript
import { ApplyUpdatesRequest } from "@lukehagar/plexjs/models/operations";
import { BoolInt } from "@lukehagar/plexjs/models/shared";
let value: ApplyUpdatesRequest = {
tonight: BoolInt.True,
skip: BoolInt.True,
};
```
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `tonight` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | Indicate that you want the update to run during the next Butler execution. Omitting this or setting it to false indicates that the update should install immediately. | 1 |
| `skip` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | Indicate that the latest version should be marked as skipped. The <Release> entry for this version will have the `state` set to `skipped`. | 1 |

View File

@@ -0,0 +1,36 @@
# AutocompleteGlobals
## Example Usage
```typescript
import { AutocompleteGlobals } from "@lukehagar/plexjs/models/operations";
let value: AutocompleteGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,37 @@
# AutocompleteRequest
## Example Usage
```typescript
import { AutocompleteRequest } from "@lukehagar/plexjs/models/operations";
import { MediaType } from "@lukehagar/plexjs/models/shared";
let value: AutocompleteRequest = {
sectionId: 594987,
mediaQuery: {
type: MediaType.Episode,
sourceType: 2,
sort: "duration:desc,index",
},
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
| `type` | *number* | :heavy_minus_sign: | Item type | |
| `fieldQuery` | *string* | :heavy_minus_sign: | The "field" stands in for any field, the value is a partial string for matching | |
| `mediaQuery` | [shared.MediaQuery](../../models/shared/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |

View File

@@ -0,0 +1,227 @@
# AutocompleteResponse
## Example Usage
```typescript
import { AutocompleteResponse } from "@lukehagar/plexjs/models/operations";
let value: AutocompleteResponse = {
headers: {
"key": [
"<value 1>",
],
"key1": [
"<value 1>",
],
"key2": [
"<value 1>",
"<value 2>",
],
},
result: {
mediaContainer: {
metadata: [
{
title: "<value>",
type: "<value>",
addedAt: 29550,
art: "/library/metadata/58683/art/1703239236",
autotag: [
{
filter: "actor=49",
ratingKey: "58683",
role: "Secretary",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
},
],
chapterSource: "media",
childCount: 1,
country: [
{
filter: "actor=49",
ratingKey: "58683",
role: "Secretary",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
},
],
director: [
{
filter: "actor=49",
ratingKey: "58683",
role: "Secretary",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
},
],
genre: [
{
filter: "actor=49",
ratingKey: "58683",
role: "Secretary",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
},
],
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{
id:
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
},
],
key: "<key>",
lastViewedAt: 1556281940,
media: [
{
aspectRatio: 2.35,
audioChannels: 2,
audioCodec: "aac",
audioProfile: "lc",
bitrate: 5612,
container: "mov",
duration: 150192,
has64bitOffsets: false,
hasVoiceActivity: true,
height: 544,
id: 1,
optimizedForStreaming: false,
part: [
{
accessible: true,
audioProfile: "lc",
container: "mov",
duration: 150192,
exists: true,
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false,
id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false,
size: 105355654,
stream: [
{
default: true,
audioChannelLayout: "5.1(side)",
channels: 6,
bitDepth: 10,
doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft",
chromaSubsampling: "4:2:0",
codedHeight: 1608,
codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv",
colorSpace: "bt2020nc",
colorTrc: "smpte2084",
displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976,
hasScalingMatrix: false,
height: 1602,
id: 1002625,
index: 0,
key: "/library/streams/216389",
language: "English",
languageCode: "eng",
languageTag: "en",
format: "srt",
headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1,
width: 3840,
},
],
videoProfile: "main",
},
],
videoCodec: "h264",
videoFrameRate: "24p",
videoProfile: "main",
videoResolution: "720",
width: 1280,
},
],
originallyAvailableAt: new Date("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [
{
filter: "actor=49",
ratingKey: "58683",
role: "Secretary",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
},
],
role: [
{
filter: "actor=49",
ratingKey: "58683",
role: "Secretary",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
},
],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [
{
filter: "actor=49",
ratingKey: "58683",
role: "Secretary",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
},
],
},
],
},
},
};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `headers` | Record<string, *string*[]> | :heavy_check_mark: | N/A |
| `result` | [shared.MediaContainerWithMetadata](../../models/shared/mediacontainerwithmetadata.md) | :heavy_check_mark: | N/A |

View File

@@ -0,0 +1,17 @@
# Bandwidth
## Example Usage
```typescript
import { Bandwidth } from "@lukehagar/plexjs/models/operations";
let value: Bandwidth = {};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
| `bandwidth` | *number* | :heavy_minus_sign: | The bandwidth at this time in kbps |
| `resolution` | *string* | :heavy_minus_sign: | The user-friendly resolution at this time |
| `time` | *number* | :heavy_minus_sign: | Media playback time where this bandwidth started |

View File

@@ -0,0 +1,17 @@
# Bandwidths
A list of media times and bandwidths when trascoding is using with auto adjustment of bandwidth
## Example Usage
```typescript
import { Bandwidths } from "@lukehagar/plexjs/models/operations";
let value: Bandwidths = {};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `bandwidth` | [operations.Bandwidth](../../models/operations/bandwidth.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,19 @@
# Billing
## Example Usage
```typescript
import { Billing } from "@lukehagar/plexjs/models/operations";
let value: Billing = {
internalPaymentMethod: {},
paymentMethodId: 575569,
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `internalPaymentMethod` | [operations.InternalPaymentMethod](../../models/operations/internalpaymentmethod.md) | :heavy_check_mark: | N/A |
| `paymentMethodId` | *number* | :heavy_check_mark: | N/A |

View File

@@ -0,0 +1,15 @@
# ButlerTasks
## Example Usage
```typescript
import { ButlerTasks } from "@lukehagar/plexjs/models/operations";
let value: ButlerTasks = {};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `butlerTask` | [operations.GetTasksButlerTask](../../models/operations/gettasksbutlertask.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,36 @@
# CancelActivityGlobals
## Example Usage
```typescript
import { CancelActivityGlobals } from "@lukehagar/plexjs/models/operations";
let value: CancelActivityGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,28 @@
# CancelActivityRequest
## Example Usage
```typescript
import { CancelActivityRequest } from "@lukehagar/plexjs/models/operations";
let value: CancelActivityRequest = {
activityId: "d6199ba1-fb5e-4cae-bf17-1a5369c1cf1e",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `activityId` | *string* | :heavy_check_mark: | The UUID of the activity to cancel. | d6199ba1-fb5e-4cae-bf17-1a5369c1cf1e |

View File

@@ -0,0 +1,36 @@
# CancelGrabGlobals
## Example Usage
```typescript
import { CancelGrabGlobals } from "@lukehagar/plexjs/models/operations";
let value: CancelGrabGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,28 @@
# CancelGrabRequest
## Example Usage
```typescript
import { CancelGrabRequest } from "@lukehagar/plexjs/models/operations";
let value: CancelGrabRequest = {
operationId: "<id>",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `operationId` | *string* | :heavy_check_mark: | The ID of the operation. | |

View File

@@ -0,0 +1,36 @@
# CancelRefreshGlobals
## Example Usage
```typescript
import { CancelRefreshGlobals } from "@lukehagar/plexjs/models/operations";
let value: CancelRefreshGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,28 @@
# CancelRefreshRequest
## Example Usage
```typescript
import { CancelRefreshRequest } from "@lukehagar/plexjs/models/operations";
let value: CancelRefreshRequest = {
sectionId: 569134,
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | |

View File

@@ -0,0 +1,16 @@
# ChannelMappingByKey
The mapping of changes, passed as a map of device channel to lineup key.
## Example Usage
```typescript
import { ChannelMappingByKey } from "@lukehagar/plexjs/models/operations";
let value: ChannelMappingByKey = {};
```
## Fields
| Field | Type | Required | Description |
| ----------- | ----------- | ----------- | ----------- |

View File

@@ -0,0 +1,36 @@
# CheckUpdatesGlobals
## Example Usage
```typescript
import { CheckUpdatesGlobals } from "@lukehagar/plexjs/models/operations";
let value: CheckUpdatesGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,29 @@
# CheckUpdatesRequest
## Example Usage
```typescript
import { CheckUpdatesRequest } from "@lukehagar/plexjs/models/operations";
import { BoolInt } from "@lukehagar/plexjs/models/shared";
let value: CheckUpdatesRequest = {
download: BoolInt.True,
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `download` | [shared.BoolInt](../../models/shared/boolint.md) | :heavy_minus_sign: | Indicate that you want to start download any updates found. | 1 |

View File

@@ -0,0 +1,25 @@
# ChromaSubsampling
Use the specified chroma subsambling.
- 0: 411
- 1: 420
- 2: 422
- 3: 444
Defaults to 3 (444)
## Example Usage
```typescript
import { ChromaSubsampling } from "@lukehagar/plexjs/models/operations";
let value: ChromaSubsampling = ChromaSubsampling.Two;
```
## Values
| Name | Value |
| ------- | ------- |
| `Zero` | 0 |
| `One` | 1 |
| `Two` | 2 |
| `Three` | 3 |

View File

@@ -0,0 +1,36 @@
# ClearPlaylistItemsGlobals
## Example Usage
```typescript
import { ClearPlaylistItemsGlobals } from "@lukehagar/plexjs/models/operations";
let value: ClearPlaylistItemsGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,28 @@
# ClearPlaylistItemsRequest
## Example Usage
```typescript
import { ClearPlaylistItemsRequest } from "@lukehagar/plexjs/models/operations";
let value: ClearPlaylistItemsRequest = {
playlistId: 236302,
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `playlistId` | *number* | :heavy_check_mark: | The ID of the playlist | |

View File

@@ -0,0 +1,36 @@
# ClearPlayQueueGlobals
## Example Usage
```typescript
import { ClearPlayQueueGlobals } from "@lukehagar/plexjs/models/operations";
let value: ClearPlayQueueGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,28 @@
# ClearPlayQueueRequest
## Example Usage
```typescript
import { ClearPlayQueueRequest } from "@lukehagar/plexjs/models/operations";
let value: ClearPlayQueueRequest = {
playQueueId: 442842,
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `playQueueId` | *number* | :heavy_check_mark: | The ID of the play queue. | |

View File

@@ -0,0 +1,18 @@
# ComputeChannelMapChannelMapping
## Example Usage
```typescript
import { ComputeChannelMapChannelMapping } from "@lukehagar/plexjs/models/operations";
let value: ComputeChannelMapChannelMapping = {};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- |
| `channelKey` | *string* | :heavy_minus_sign: | N/A |
| `deviceIdentifier` | *string* | :heavy_minus_sign: | The channel description on the device |
| `favorite` | *boolean* | :heavy_minus_sign: | N/A |
| `lineupIdentifier` | *string* | :heavy_minus_sign: | The channel identifier in the lineup |

View File

@@ -0,0 +1,36 @@
# ComputeChannelMapGlobals
## Example Usage
```typescript
import { ComputeChannelMapGlobals } from "@lukehagar/plexjs/models/operations";
let value: ComputeChannelMapGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,24 @@
# ComputeChannelMapMediaContainer
`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable.
Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination)
The container often "hoists" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track.
## Example Usage
```typescript
import { ComputeChannelMapMediaContainer } from "@lukehagar/plexjs/models/operations";
let value: ComputeChannelMapMediaContainer = {};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `identifier` | *string* | :heavy_minus_sign: | N/A |
| `offset` | *number* | :heavy_minus_sign: | The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/> |
| `size` | *number* | :heavy_minus_sign: | N/A |
| `totalSize` | *number* | :heavy_minus_sign: | The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/> |
| `channelMapping` | [operations.ComputeChannelMapChannelMapping](../../models/operations/computechannelmapchannelmapping.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,30 @@
# ComputeChannelMapRequest
## Example Usage
```typescript
import { ComputeChannelMapRequest } from "@lukehagar/plexjs/models/operations";
let value: ComputeChannelMapRequest = {
deviceQueryParameter: "<value>",
lineup: "<value>",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `deviceQueryParameter` | *string* | :heavy_check_mark: | The URI describing the device | |
| `lineup` | *string* | :heavy_check_mark: | The URI describing the lineup | |

View File

@@ -0,0 +1,19 @@
# ComputeChannelMapResponse
## Example Usage
```typescript
import { ComputeChannelMapResponse } from "@lukehagar/plexjs/models/operations";
let value: ComputeChannelMapResponse = {
headers: {},
result: {},
};
```
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `headers` | Record<string, *string*[]> | :heavy_check_mark: | N/A |
| `result` | [operations.ComputeChannelMapResponseBody](../../models/operations/computechannelmapresponsebody.md) | :heavy_check_mark: | N/A |

View File

@@ -0,0 +1,17 @@
# ComputeChannelMapResponseBody
OK
## Example Usage
```typescript
import { ComputeChannelMapResponseBody } from "@lukehagar/plexjs/models/operations";
let value: ComputeChannelMapResponseBody = {};
```
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `mediaContainer` | [operations.ComputeChannelMapMediaContainer](../../models/operations/computechannelmapmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,20 @@
# Connection
## Example Usage
```typescript
import { Connection } from "@lukehagar/plexjs/models/operations";
let value: Connection = {};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `address` | *string* | :heavy_minus_sign: | N/A |
| `local` | *boolean* | :heavy_minus_sign: | Indicates if the connection is the server's LAN address |
| `port` | *number* | :heavy_minus_sign: | N/A |
| `protocol` | *string* | :heavy_minus_sign: | N/A |
| `relay` | *boolean* | :heavy_minus_sign: | Indicates the connection is over a relayed connection |
| `uri` | *string* | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,36 @@
# ConnectWebSocketGlobals
## Example Usage
```typescript
import { ConnectWebSocketGlobals } from "@lukehagar/plexjs/models/operations";
let value: ConnectWebSocketGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku |
| `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

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