Compare commits

...

31 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
2713 changed files with 208099 additions and 132015 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:
checks: write
contents: write
pull-requests: write
statuses: write
"on":
on:
workflow_dispatch:
inputs:
force:
@@ -16,6 +18,7 @@ permissions:
type: string
schedule:
- cron: 0 0 * * *
jobs:
generate:
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
@@ -28,3 +31,24 @@ jobs:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
npm_token: ${{ secrets.NPM_TOKEN }}
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
/bin
/.eslintcache

File diff suppressed because one or more lines are too long

View File

@@ -4,47 +4,75 @@ generation:
maintainOpenAPIOrder: true
usageSnippets:
optionalPropertyRendering: withExample
sdkInitStyle: constructor
useClassNamesForArrayFields: true
fixes:
nameResolutionDec2023: true
nameResolutionFeb2025: false
nameResolutionFeb2025: true
parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true
securityFeb2025: false
securityFeb2025: true
sharedErrorComponentsApr2025: true
auth:
oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false
hoistGlobalSecurity: true
schemas:
allOfMergeStrategy: shallowMerge
requestBodyFieldName: ""
tests:
generateTests: true
generateNewTests: true
skipResponseBodyAssertions: false
typescript:
version: 0.35.1
version: 0.44.1
acceptHeaderEnum: true
additionalDependencies:
dependencies: {}
devDependencies: {}
peerDependencies: {}
additionalPackageJSON: {}
additionalScripts: {}
alwaysIncludeInboundAndOutbound: false
author: LukeHagar
baseErrorName: PlexAPIError
clientServerStatusCodesAsErrors: true
constFieldsAlwaysOptional: true
defaultErrorName: SDKError
enableCustomCodeRegions: false
enableMCPServer: true
enableMCPServer: false
enableReactQuery: false
enumFormat: enum
exportZodModelNamespace: false
flattenGlobalSecurity: true
flatteningOrder: body-first
formStringArrayEncodeMode: encoded-string
forwardCompatibleEnumsByDefault: true
forwardCompatibleUnionsByDefault: tagged-only
generateExamples: true
imports:
option: openapi
paths:
callbacks: sdk/models/callbacks
errors: sdk/models/errors
operations: sdk/models/operations
shared: sdk/models/shared
webhooks: sdk/models/webhooks
callbacks: models/callbacks
errors: models/errors
operations: models/operations
shared: models/shared
webhooks: models/webhooks
inferUnionDiscriminators: true
inputModelSuffix: input
jsonpath: legacy
jsonpath: rfc9535
laxMode: lax
maxMethodParams: 4
methodArguments: require-security-and-request
modelPropertyCasing: camel
moduleFormat: commonjs
multipartArrayFormat: legacy
outputModelSuffix: output
packageName: '@lukehagar/plexjs'
responseFormat: envelope
responseFormat: flat
sseFlatResponse: false
templateVersion: v2
unionStrategy: populated-fields
usageSDKInitImports: []
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.4
speakeasyVersion: 1.665.0
sources:
my-source:
sourceNamespace: my-source
@@ -9,27 +9,27 @@ sources:
- main
plexapi:
sourceNamespace: plexapi
sourceRevisionDigest: sha256:2066ba94b55e21d651c79003e3cf402fb77c52a0969fc52310b3383fbed038f4
sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351
sourceRevisionDigest: sha256:ace004a3b232e8ab9ca3d89f2da8e40470236e6d997073a16c3f8872d67a7383
sourceBlobDigest: sha256:993bfb796a3833b0a3b813ad12469ca34db94f23c2d15ae988a26b4d1ed80fbe
tags:
- latest
- speakeasy-sdk-regen-1741478971
- 0.0.3
- speakeasy-sdk-regen-1764553715
- 1.1.1
targets:
plexjs:
source: plexapi
sourceNamespace: plexapi
sourceRevisionDigest: sha256:2066ba94b55e21d651c79003e3cf402fb77c52a0969fc52310b3383fbed038f4
sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351
sourceRevisionDigest: sha256:ace004a3b232e8ab9ca3d89f2da8e40470236e6d997073a16c3f8872d67a7383
sourceBlobDigest: sha256:993bfb796a3833b0a3b813ad12469ca34db94f23c2d15ae988a26b4d1ed80fbe
codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:562c355ca997be7103dd50d641d9264002668b79ccbed1d1c259a98c653ce99a
codeSamplesRevisionDigest: sha256:8e6f77ee0be9e54c36682ee6244983f9a69ce9a05a6a251f64df3f5fbd5bc08a
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
sources:
plexapi:
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:
location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi
targets:
@@ -43,3 +43,5 @@ workflow:
output: codeSamples.yaml
registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
labelOverride:
fixedValue: PlexJS

View File

@@ -3,7 +3,7 @@ speakeasyVersion: latest
sources:
plexapi:
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:
location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi
targets:
@@ -17,3 +17,5 @@ targets:
output: codeSamples.yaml
registry:
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
labelOverride:
fixedValue: PlexJS

View File

@@ -20,39 +20,65 @@ specific category of applications.
```typescript
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
import { serverGetServerCapabilities } from "@lukehagar/plexjs/funcs/serverGetServerCapabilities.js";
import { SDKValidationError } from "@lukehagar/plexjs/sdk/models/errors/sdkvalidationerror.js";
import { transcoderStartTranscodeSession } from "@lukehagar/plexjs/funcs/transcoderStartTranscodeSession.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.
// You can create one instance of it to use across an application.
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() {
const res = await serverGetServerCapabilities(plexAPI);
switch (true) {
case res.ok:
// The success case will be handled outside of the switch block
break;
case res.error instanceof SDKValidationError:
// Pretty-print validation errors.
return console.log(res.error.pretty());
case res.error instanceof Error:
return console.log(res.error);
default:
// TypeScript's type checking will fail on the following line if the above
// cases were not exhaustive.
res.error satisfies never;
throw new Error("Assertion failed: expected error checks to be exhaustive: " + res.error);
const res = await transcoderStartTranscodeSession(plexAPI, {
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",
});
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();

1066
README.md

File diff suppressed because it is too large Load Diff

View File

@@ -1248,4 +1248,214 @@ Based on:
### Generated
- [typescript v0.35.1] .
### Releases
- [NPM v0.35.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.1 - .
- [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:
* [Web Fetch API][web-fetch]
* [Web Streams API][web-streams] and in particular `ReadableStream`
* [Async iterables][async-iter] using `Symbol.asyncIterator`
- [Web Fetch API][web-fetch]
- [Web Streams API][web-streams] and in particular `ReadableStream`
- [Async iterables][async-iter] using `Symbol.asyncIterator`
[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
@@ -25,7 +25,7 @@ Runtime environments that are explicitly supported are:
The following `tsconfig.json` options are recommended for projects using this
SDK in order to get static type support for features like async iterables,
streams and `fetch`-related APIs ([`for await...of`][for-await-of],
streams and `fetch`-related APIs ([`for await...of`][for-await-of],
[`AbortSignal`][abort-signal], [`Request`][request], [`Response`][response] and
so on):
@@ -38,11 +38,11 @@ so on):
{
"compilerOptions": {
"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,
unnecessary compatibility code being generated if you are not targeting old
runtimes.
runtimes.

View File

@@ -1,15 +1,67 @@
<!-- Start SDK Example Usage [usage] -->
```typescript
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({
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() {
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);
}

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