mirror of
https://github.com/LukeHagar/plexcsharp.git
synced 2025-12-06 04:20:46 +00:00
## Csharp SDK Changes Detected:
* `PlexApi.Butler.StartTask()`: * `request` **Changed** **Breaking** ⚠️ * `error` **Changed** **Breaking** ⚠️ * `PlexApi.Butler.StopTask()`: * `request` **Changed** **Breaking** ⚠️ * `error` **Changed** **Breaking** ⚠️ * `PlexApi.Updater.ApplyUpdates()`: * `request` **Changed** **Breaking** ⚠️ * `error` **Changed** **Breaking** ⚠️ * `PlexApi.General.GetServerInfo()`: **Added** * `PlexApi.General.GetIdentity()`: **Added** * `PlexApi.General.GetSourceConnectionInformation()`: **Added** * `PlexApi.General.GetTransientToken()`: **Added** * `PlexApi.Events.GetNotifications()`: **Added** * `PlexApi.Events.ConnectWebSocket()`: **Added** * `PlexApi.Preferences.GetAllPreferences()`: **Added** * `PlexApi.Preferences.SetPreferences()`: **Added** * `PlexApi.Preferences.GetPreference()`: **Added** * `PlexApi.Rate.SetRating()`: **Added** * `PlexApi.Timeline.MarkPlayed()`: **Added** * `PlexApi.Timeline.Report()`: **Added** * `PlexApi.Timeline.Unscrobble()`: **Added** * `PlexApi.Activities.ListActivities()`: **Added** * `PlexApi.Activities.CancelActivity()`: **Added** * `PlexApi.Butler.StopTasks()`: **Added** * `PlexApi.Butler.GetTasks()`: **Added** * `PlexApi.Butler.StartTasks()`: **Added** * `PlexApi.DownloadQueue.CreateDownloadQueue()`: **Added** * `PlexApi.DownloadQueue.GetDownloadQueue()`: **Added** * `PlexApi.DownloadQueue.AddDownloadQueueItems()`: **Added** * `PlexApi.DownloadQueue.ListDownloadQueueItems()`: **Added** * `PlexApi.DownloadQueue.GetItemDecision()`: **Added** * `PlexApi.DownloadQueue.GetDownloadQueueMedia()`: **Added** * `PlexApi.DownloadQueue.RemoveDownloadQueueItems()`: **Added** * `PlexApi.DownloadQueue.GetDownloadQueueItems()`: **Added** * `PlexApi.DownloadQueue.RestartProcessingDownloadQueueItems()`: **Added** * `PlexApi.Hubs.GetAllHubs()`: **Added** * `PlexApi.Hubs.GetContinueWatching()`: **Added** * `PlexApi.Hubs.GetHubItems()`: **Added** * `PlexApi.Hubs.GetPromotedHubs()`: **Added** * `PlexApi.Hubs.GetMetadataHubs()`: **Added** * `PlexApi.Hubs.GetPostplayHubs()`: **Added** * `PlexApi.Hubs.GetRelatedHubs()`: **Added** * `PlexApi.Hubs.GetSectionHubs()`: **Added** * `PlexApi.Hubs.ResetSectionDefaults()`: **Added** * `PlexApi.Hubs.ListHubs()`: **Added** * `PlexApi.Hubs.CreateCustomHub()`: **Added** * `PlexApi.Hubs.MoveHub()`: **Added** * `PlexApi.Hubs.DeleteCustomHub()`: **Added** * `PlexApi.Hubs.UpdateHubVisibility()`: **Added** * `PlexApi.Search.SearchHubs()`: **Added** * `PlexApi.Search.VoiceSearchHubs()`: **Added** * `PlexApi.Library.GetLibraryItems()`: **Added** * `PlexApi.Library.DeleteCaches()`: **Added** * `PlexApi.Library.CleanBundles()`: **Added** * `PlexApi.Library.IngestTransientItem()`: **Added** * `PlexApi.Library.GetLibraryMatches()`: **Added** * `PlexApi.Library.OptimizeDatabase()`: **Added** * `PlexApi.Library.GetRandomArtwork()`: **Added** * `PlexApi.Library.GetSections()`: **Added** * `PlexApi.Library.AddSection()`: **Added** * `PlexApi.Library.StopAllRefreshes()`: **Added** * `PlexApi.Library.GetSectionsPrefs()`: **Added** * `PlexApi.Library.RefreshSectionsMetadata()`: **Added** * `PlexApi.Library.GetTags()`: **Added** * `PlexApi.Library.DeleteMetadataItem()`: **Added** * `PlexApi.Library.EditMetadataItem()`: **Added** * `PlexApi.Library.DetectAds()`: **Added** * `PlexApi.Library.GetAllItemLeaves()`: **Added** * `PlexApi.Library.AnalyzeMetadata()`: **Added** * `PlexApi.Library.GenerateThumbs()`: **Added** * `PlexApi.Library.DetectCredits()`: **Added** * `PlexApi.Library.GetExtras()`: **Added** * `PlexApi.Library.AddExtras()`: **Added** * `PlexApi.Library.GetFile()`: **Added** * `PlexApi.Library.StartBifGeneration()`: **Added** * `PlexApi.Library.DetectIntros()`: **Added** * `PlexApi.Library.CreateMarker()`: **Added** * `PlexApi.Library.MatchItem()`: **Added** * `PlexApi.Library.ListMatches()`: **Added** * `PlexApi.Library.MergeItems()`: **Added** * `PlexApi.Library.ListSonicallySimilar()`: **Added** * `PlexApi.Library.SetItemPreferences()`: **Added** * `PlexApi.Library.RefreshItemsMetadata()`: **Added** * `PlexApi.Library.GetRelatedItems()`: **Added** * `PlexApi.Library.ListSimilar()`: **Added** * `PlexApi.Library.SplitItem()`: **Added** * `PlexApi.Library.AddSubtitles()`: **Added** * `PlexApi.Library.GetItemTree()`: **Added** * `PlexApi.Library.Unmatch()`: **Added** * `PlexApi.Library.ListTopUsers()`: **Added** * `PlexApi.Library.DetectVoiceActivity()`: **Added** * `PlexApi.Library.GetAugmentationStatus()`: **Added** * `PlexApi.Library.SetStreamSelection()`: **Added** * `PlexApi.Library.GetPerson()`: **Added** * `PlexApi.Library.ListPersonMedia()`: **Added** * `PlexApi.Library.DeleteLibrarySection()`: **Added** * `PlexApi.Library.GetLibraryDetails()`: **Added** * `PlexApi.Library.EditSection()`: **Added** * `PlexApi.Library.UpdateItems()`: **Added** * `PlexApi.Library.StartAnalysis()`: **Added** * `PlexApi.Library.Autocomplete()`: **Added** * `PlexApi.Library.GetCollections()`: **Added** * `PlexApi.Library.GetCommon()`: **Added** * `PlexApi.Library.EmptyTrash()`: **Added** * `PlexApi.Library.GetSectionFilters()`: **Added** * `PlexApi.Library.GetFirstCharacters()`: **Added** * `PlexApi.Library.DeleteIndexes()`: **Added** * `PlexApi.Library.DeleteIntros()`: **Added** * `PlexApi.Library.GetSectionPreferences()`: **Added** * `PlexApi.Library.SetSectionPreferences()`: **Added** * `PlexApi.Library.CancelRefresh()`: **Added** * `PlexApi.Library.RefreshSection()`: **Added** * `PlexApi.Library.GetAvailableSorts()`: **Added** * `PlexApi.Library.GetStreamLevels()`: **Added** * `PlexApi.Library.GetStreamLoudness()`: **Added** * `PlexApi.Library.GetChapterImage()`: **Added** * `PlexApi.Library.SetItemArtwork()`: **Added** * `PlexApi.Library.UpdateItemArtwork()`: **Added** * `PlexApi.Library.DeleteMarker()`: **Added** * `PlexApi.Library.EditMarker()`: **Added** * `PlexApi.Library.DeleteMediaItem()`: **Added** * `PlexApi.Library.GetPartIndex()`: **Added** * `PlexApi.Library.DeleteCollection()`: **Added** * `PlexApi.Library.GetSectionImage()`: **Added** * `PlexApi.Library.DeleteStream()`: **Added** * `PlexApi.Library.GetStream()`: **Added** * `PlexApi.Library.SetStreamOffset()`: **Added** * `PlexApi.Library.GetItemArtwork()`: **Added** * `PlexApi.Library.GetMediaPart()`: **Added** * `PlexApi.Library.GetImageFromBif()`: **Added** * `PlexApi.Collections.CreateCollection()`: **Added** * `PlexApi.DvRs.ListDvRs()`: **Added** * `PlexApi.DvRs.CreateDvr()`: **Added** * `PlexApi.DvRs.DeleteDvr()`: **Added** * `PlexApi.DvRs.GetDvr()`: **Added** * `PlexApi.DvRs.DeleteLineup()`: **Added** * `PlexApi.DvRs.AddLineup()`: **Added** * `PlexApi.DvRs.SetDvrPreferences()`: **Added** * `PlexApi.DvRs.StopDvrReload()`: **Added** * `PlexApi.DvRs.ReloadGuide()`: **Added** * `PlexApi.DvRs.TuneChannel()`: **Added** * `PlexApi.DvRs.RemoveDeviceFromDvr()`: **Added** * `PlexApi.DvRs.AddDeviceToDvr()`: **Added** * `PlexApi.Epg.ComputeChannelMap()`: **Added** * `PlexApi.Epg.GetChannels()`: **Added** * `PlexApi.Epg.GetCountries()`: **Added** * `PlexApi.Epg.GetAllLanguages()`: **Added** * `PlexApi.Epg.GetLineup()`: **Added** * `PlexApi.Epg.GetLineupChannels()`: **Added** * `PlexApi.Epg.GetCountriesLineups()`: **Added** * `PlexApi.Epg.GetCountryRegions()`: **Added** * `PlexApi.Epg.ListLineups()`: **Added** * `PlexApi.LiveTv.GetSessions()`: **Added** * `PlexApi.LiveTv.GetLiveTvSession()`: **Added** * `PlexApi.LiveTv.GetSessionPlaylistIndex()`: **Added** * `PlexApi.LiveTv.GetSessionSegment()`: **Added** * `PlexApi.Log.WriteLog()`: **Added** * `PlexApi.Log.WriteMessage()`: **Added** * `PlexApi.Log.EnablePapertrail()`: **Added** * `PlexApi.Devices.GetAvailableGrabbers()`: **Added** * `PlexApi.Devices.ListDevices()`: **Added** * `PlexApi.Devices.AddDevice()`: **Added** * `PlexApi.Devices.DiscoverDevices()`: **Added** * `PlexApi.Devices.RemoveDevice()`: **Added** * `PlexApi.Devices.GetDeviceDetails()`: **Added** * `PlexApi.Devices.ModifyDevice()`: **Added** * `PlexApi.Devices.SetChannelmap()`: **Added** * `PlexApi.Devices.GetDevicesChannels()`: **Added** * `PlexApi.Devices.SetDevicePreferences()`: **Added** * `PlexApi.Devices.StopScan()`: **Added** * `PlexApi.Devices.Scan()`: **Added** * `PlexApi.Devices.GetThumb()`: **Added** * `PlexApi.Provider.ListProviders()`: **Added** * `PlexApi.Provider.AddProvider()`: **Added** * `PlexApi.Provider.RefreshProviders()`: **Added** * `PlexApi.Provider.DeleteMediaProvider()`: **Added** * `PlexApi.Subscriptions.GetAllSubscriptions()`: **Added** * `PlexApi.Subscriptions.CreateSubscription()`: **Added** * `PlexApi.Subscriptions.ProcessSubscriptions()`: **Added** * `PlexApi.Subscriptions.GetScheduledRecordings()`: **Added** * `PlexApi.Subscriptions.GetTemplate()`: **Added** * `PlexApi.Subscriptions.CancelGrab()`: **Added** * `PlexApi.Subscriptions.DeleteSubscription()`: **Added** * `PlexApi.Subscriptions.GetSubscription()`: **Added** * `PlexApi.Subscriptions.EditSubscriptionPreferences()`: **Added** * `PlexApi.Subscriptions.ReorderSubscription()`: **Added** * `PlexApi.Transcoder.TranscodeImage()`: **Added** * `PlexApi.Transcoder.MakeDecision()`: **Added** * `PlexApi.Transcoder.TriggerFallback()`: **Added** * `PlexApi.Transcoder.TranscodeSubtitles()`: **Added** * `PlexApi.Transcoder.StartTranscodeSession()`: **Added** * `PlexApi.Playlist.ListPlaylists()`: **Added** * `PlexApi.Playlist.GetPlaylist()`: **Added** * `PlexApi.Playlist.GetPlaylistItems()`: **Added** * `PlexApi.LibraryPlaylists.CreatePlaylist()`: **Added** * `PlexApi.LibraryPlaylists.UploadPlaylist()`: **Added** * `PlexApi.LibraryPlaylists.DeletePlaylist()`: **Added** * `PlexApi.LibraryPlaylists.UpdatePlaylist()`: **Added** * `PlexApi.LibraryPlaylists.GetPlaylistGenerators()`: **Added** * `PlexApi.LibraryPlaylists.ClearPlaylistItems()`: **Added** * `PlexApi.LibraryPlaylists.AddPlaylistItems()`: **Added** * `PlexApi.LibraryPlaylists.DeletePlaylistItem()`: **Added** * `PlexApi.LibraryPlaylists.GetPlaylistGenerator()`: **Added** * `PlexApi.LibraryPlaylists.GetPlaylistGeneratorItems()`: **Added** * `PlexApi.LibraryPlaylists.MovePlaylistItem()`: **Added** * `PlexApi.LibraryPlaylists.RefreshPlaylist()`: **Added** * `PlexApi.PlayQueue.CreatePlayQueue()`: **Added** * `PlexApi.PlayQueue.GetPlayQueue()`: **Added** * `PlexApi.PlayQueue.AddToPlayQueue()`: **Added** * `PlexApi.PlayQueue.ClearPlayQueue()`: **Added** * `PlexApi.PlayQueue.ResetPlayQueue()`: **Added** * `PlexApi.PlayQueue.Shuffle()`: **Added** * `PlexApi.PlayQueue.Unshuffle()`: **Added** * `PlexApi.PlayQueue.DeletePlayQueueItem()`: **Added** * `PlexApi.PlayQueue.MovePlayQueueItem()`: **Added** * `PlexApi.UltraBlur.GetColors()`: **Added** * `PlexApi.UltraBlur.GetImage()`: **Added** * `PlexApi.Status.ListSessions()`: **Added** * `PlexApi.Status.GetBackgroundTasks()`: **Added** * `PlexApi.Status.ListPlaybackHistory()`: **Added** * `PlexApi.Status.TerminateSession()`: **Added** * `PlexApi.Status.DeleteHistory()`: **Added** * `PlexApi.Status.GetHistoryItem()`: **Added** * `PlexApi.Updater.CheckUpdates()`: **Added** * `PlexApi.Updater.GetUpdatesStatus()`: **Added** * `PlexApi.Content.GetCollectionItems()`: **Added** * `PlexApi.Content.GetMetadataItem()`: **Added** * `PlexApi.Content.GetAlbums()`: **Added** * `PlexApi.Content.ListContent()`: **Added** * `PlexApi.Content.GetAllLeaves()`: **Added** * `PlexApi.Content.GetArts()`: **Added** * `PlexApi.Content.GetCategories()`: **Added** * `PlexApi.Content.GetCluster()`: **Added** * `PlexApi.Content.GetSonicPath()`: **Added** * `PlexApi.Content.GetFolders()`: **Added** * `PlexApi.Content.ListMoments()`: **Added** * `PlexApi.Content.GetSonicallySimilar()`: **Added** * `PlexApi.Content.GetCollectionImage()`: **Added** * `PlexApi.LibraryCollections.AddCollectionItems()`: **Added** * `PlexApi.LibraryCollections.DeleteCollectionItem()`: **Added** * `PlexApi.LibraryCollections.MoveCollectionItem()`: **Added** * `PlexApi.Server.GetServerCapabilities()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Server.GetServerPreferences()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Server.GetAvailableClients()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Server.GetDevices()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Server.Get-Server-Identity()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Server.GetMyPlexAccount()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Server.GetResizedPhoto()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Server.Get-Media-Providers()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Server.GetServerList()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Media.MarkPlayed()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Media.MarkUnplayed()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Media.UpdatePlayProgress()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Media.Get-Banner-Image()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Media.Get-Thumb-Image()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Video.GetTimeline()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Video.StartUniversalTranscode()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Activities.GetServerActivities()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Activities.CancelServerActivities()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Butler.GetButlerTasks()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Butler.StartAllTasks()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Butler.StopAllTasks()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Plex.GetCompanionsData()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Plex.GetUserFriends()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Plex.GetGeoData()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Plex.GetHomeData()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Plex.Get-Server-Resources()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Plex.GetPin()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Plex.GetTokenByPinId()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Hubs.GetGlobalHubs()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Hubs.Get-Recently-Added()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Hubs.GetLibraryHubs()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Search.PerformSearch()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Search.PerformVoiceSearch()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Search.GetSearchResults()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.GetFileHash()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Recently-Added-Library()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-All-Libraries()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Library-Details()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.DeleteLibrary()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Library-Items()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Library-Sections-All()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Refresh-Library-Metadata()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Search-Library()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Genres-Library()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Countries-Library()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Actors-Library()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Search-All-Libraries()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Media-Meta-Data()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Media-Arts()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Post-Media-Arts()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Get-Media-Posters()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.Post-Media-Poster()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.GetMetadataChildren()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Library.GetTopWatchedContent()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Watchlist.Get-Watch-List()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Log.LogLine()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Log.LogMultiLine()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Log.EnablePaperTrail()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Playlists.CreatePlaylist()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Playlists.GetPlaylists()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Playlists.GetPlaylist()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Playlists.DeletePlaylist()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Playlists.UpdatePlaylist()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Playlists.GetPlaylistContents()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Playlists.ClearPlaylistContents()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Playlists.AddPlaylistContents()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Playlists.UploadPlaylist()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Authentication.GetTransientToken()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Authentication.GetSourceConnectionInformation()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Authentication.GetTokenDetails()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Authentication.Post-Users-Sign-In-Data()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Statistics.GetStatistics()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Statistics.GetResourcesStatistics()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Statistics.GetBandwidthStatistics()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Sessions.GetSessions()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Sessions.GetSessionHistory()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Sessions.GetTranscodeSessions()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Sessions.StopTranscodeSession()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Updater.GetUpdateStatus()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Updater.CheckForUpdates()`: **Deleted** **Breaking** ⚠️ * `PlexApi.Users.Get-Users()`: **Deleted** **Breaking** ⚠️
This commit is contained in:
706
docs/sdks/devices/README.md
Normal file
706
docs/sdks/devices/README.md
Normal file
@@ -0,0 +1,706 @@
|
||||
# Devices
|
||||
(*Devices*)
|
||||
|
||||
## Overview
|
||||
|
||||
Media grabbers provide ways for media to be obtained for a given protocol. The simplest ones are `stream` and `download`. More complex grabbers can have associated devices
|
||||
|
||||
Network tuners can present themselves on the network using the Simple Service Discovery Protocol and Plex Media Server will discover them. The following XML is an example of the data returned from SSDP. The `deviceType`, `serviceType`, and `serviceId` values must remain as they are in the example in order for PMS to properly discover the device. Other less-obvious fields are described in the parameters section below.
|
||||
|
||||
Example SSDP output
|
||||
```
|
||||
<root xmlns="urn:schemas-upnp-org:device-1-0">
|
||||
<specVersion>
|
||||
<major>1</major>
|
||||
<minor>0</minor>
|
||||
</specVersion>
|
||||
<device>
|
||||
<deviceType>urn:plex-tv:device:Media:1</deviceType>
|
||||
<friendlyName>Turing Hopper 3000</friendlyName>
|
||||
<manufacturer>Plex, Inc.</manufacturer>
|
||||
<manufacturerURL>https://plex.tv/</manufacturerURL>
|
||||
<modelDescription>Turing Hopper 3000 Media Grabber</modelDescription>
|
||||
<modelName>Plex Media Grabber</modelName>
|
||||
<modelNumber>1</modelNumber>
|
||||
<modelURL>https://plex.tv</modelURL>
|
||||
<UDN>uuid:42fde8e4-93b6-41e5-8a63-12d848655811</UDN>
|
||||
<serviceList>
|
||||
<service>
|
||||
<URLBase>http://10.0.0.5:8088</URLBase>
|
||||
<serviceType>urn:plex-tv:service:MediaGrabber:1</serviceType>
|
||||
<serviceId>urn:plex-tv:serviceId:MediaGrabber</serviceId>
|
||||
</service>
|
||||
</serviceList>
|
||||
</device>
|
||||
</root>
|
||||
```
|
||||
|
||||
- UDN: (string) A UUID for the device. This should be unique across models of a device at minimum.
|
||||
- URLBase: (string) The base HTTP URL for the device from which all of the other endpoints are hosted.
|
||||
|
||||
|
||||
### Available Operations
|
||||
|
||||
* [GetAvailableGrabbers](#getavailablegrabbers) - Get available grabbers
|
||||
* [ListDevices](#listdevices) - Get all devices
|
||||
* [AddDevice](#adddevice) - Add a device
|
||||
* [DiscoverDevices](#discoverdevices) - Tell grabbers to discover devices
|
||||
* [RemoveDevice](#removedevice) - Remove a device
|
||||
* [GetDeviceDetails](#getdevicedetails) - Get device details
|
||||
* [ModifyDevice](#modifydevice) - Enable or disable a device
|
||||
* [SetChannelmap](#setchannelmap) - Set a device's channel mapping
|
||||
* [GetDevicesChannels](#getdeviceschannels) - Get a device's channels
|
||||
* [SetDevicePreferences](#setdevicepreferences) - Set device preferences
|
||||
* [StopScan](#stopscan) - Tell a device to stop scanning for channels
|
||||
* [Scan](#scan) - Tell a device to scan for channels
|
||||
* [GetThumb](#getthumb) - Get device thumb
|
||||
|
||||
## GetAvailableGrabbers
|
||||
|
||||
Get available grabbers visible to the server
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="getAvailableGrabbers" method="get" path="/media/grabbers" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accepts: LukeHagar.PlexAPI.SDK.Models.Components.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>"
|
||||
);
|
||||
|
||||
GetAvailableGrabbersRequest req = new GetAvailableGrabbersRequest() {
|
||||
Protocol = "livetv",
|
||||
};
|
||||
|
||||
var res = await sdk.Devices.GetAvailableGrabbersAsync(req);
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `request` | [GetAvailableGrabbersRequest](../../Models/Requests/GetAvailableGrabbersRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
|
||||
### Response
|
||||
|
||||
**[GetAvailableGrabbersResponse](../../Models/Requests/GetAvailableGrabbersResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
|
||||
## ListDevices
|
||||
|
||||
Get the list of all devices present
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="listDevices" method="get" path="/media/grabbers/devices" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
|
||||
var sdk = new PlexAPI(token: "<YOUR_API_KEY_HERE>");
|
||||
|
||||
var res = await sdk.Devices.ListDevicesAsync();
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Response
|
||||
|
||||
**[ListDevicesResponse](../../Models/Requests/ListDevicesResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
|
||||
## AddDevice
|
||||
|
||||
This endpoint adds a device to an existing grabber. The device is identified, and added to the correct grabber.
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="addDevice" method="post" path="/media/grabbers/devices" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accepts: LukeHagar.PlexAPI.SDK.Models.Components.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>"
|
||||
);
|
||||
|
||||
AddDeviceRequest req = new AddDeviceRequest() {
|
||||
Uri = "http://10.0.0.5",
|
||||
};
|
||||
|
||||
var res = await sdk.Devices.AddDeviceAsync(req);
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
|
||||
| `request` | [AddDeviceRequest](../../Models/Requests/AddDeviceRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
|
||||
### Response
|
||||
|
||||
**[AddDeviceResponse](../../Models/Requests/AddDeviceResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
|
||||
## DiscoverDevices
|
||||
|
||||
Tell grabbers to discover devices
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="discoverDevices" method="post" path="/media/grabbers/devices/discover" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
|
||||
var sdk = new PlexAPI(token: "<YOUR_API_KEY_HERE>");
|
||||
|
||||
var res = await sdk.Devices.DiscoverDevicesAsync();
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Response
|
||||
|
||||
**[DiscoverDevicesResponse](../../Models/Requests/DiscoverDevicesResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
|
||||
## RemoveDevice
|
||||
|
||||
Remove a devices by its id along with its channel mappings
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="removeDevice" method="delete" path="/media/grabbers/devices/{deviceId}" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accepts: LukeHagar.PlexAPI.SDK.Models.Components.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>"
|
||||
);
|
||||
|
||||
RemoveDeviceRequest req = new RemoveDeviceRequest() {
|
||||
DeviceId = 685908,
|
||||
};
|
||||
|
||||
var res = await sdk.Devices.RemoveDeviceAsync(req);
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
|
||||
| `request` | [RemoveDeviceRequest](../../Models/Requests/RemoveDeviceRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
|
||||
### Response
|
||||
|
||||
**[RemoveDeviceResponse](../../Models/Requests/RemoveDeviceResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
|
||||
## GetDeviceDetails
|
||||
|
||||
Get a device's details by its id
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="getDeviceDetails" method="get" path="/media/grabbers/devices/{deviceId}" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accepts: LukeHagar.PlexAPI.SDK.Models.Components.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>"
|
||||
);
|
||||
|
||||
GetDeviceDetailsRequest req = new GetDeviceDetailsRequest() {
|
||||
DeviceId = 170949,
|
||||
};
|
||||
|
||||
var res = await sdk.Devices.GetDeviceDetailsAsync(req);
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
|
||||
| `request` | [GetDeviceDetailsRequest](../../Models/Requests/GetDeviceDetailsRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
|
||||
### Response
|
||||
|
||||
**[GetDeviceDetailsResponse](../../Models/Requests/GetDeviceDetailsResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
|
||||
## ModifyDevice
|
||||
|
||||
Enable or disable a device by its id
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="modifyDevice" method="put" path="/media/grabbers/devices/{deviceId}" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accepts: LukeHagar.PlexAPI.SDK.Models.Components.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>"
|
||||
);
|
||||
|
||||
ModifyDeviceRequest req = new ModifyDeviceRequest() {
|
||||
DeviceId = 879135,
|
||||
Enabled = BoolInt.One,
|
||||
};
|
||||
|
||||
var res = await sdk.Devices.ModifyDeviceAsync(req);
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
|
||||
| `request` | [ModifyDeviceRequest](../../Models/Requests/ModifyDeviceRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
|
||||
### Response
|
||||
|
||||
**[ModifyDeviceResponse](../../Models/Requests/ModifyDeviceResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
|
||||
## SetChannelmap
|
||||
|
||||
Set a device's channel mapping
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="setChannelmap" method="put" path="/media/grabbers/devices/{deviceId}/channelmap" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
using System.Collections.Generic;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accepts: LukeHagar.PlexAPI.SDK.Models.Components.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>"
|
||||
);
|
||||
|
||||
SetChannelmapRequest req = new SetChannelmapRequest() {
|
||||
DeviceId = 937661,
|
||||
ChannelMapping = new LukeHagar.PlexAPI.SDK.Models.Requests.ChannelMapping() {},
|
||||
ChannelMappingByKey = new ChannelMappingByKey() {},
|
||||
ChannelsEnabled = new List<string>() {
|
||||
"4",
|
||||
"6",
|
||||
".",
|
||||
"1",
|
||||
",",
|
||||
"4",
|
||||
"4",
|
||||
".",
|
||||
"1",
|
||||
",",
|
||||
"4",
|
||||
"5",
|
||||
".",
|
||||
"1",
|
||||
},
|
||||
};
|
||||
|
||||
var res = await sdk.Devices.SetChannelmapAsync(req);
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `request` | [SetChannelmapRequest](../../Models/Requests/SetChannelmapRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
|
||||
### Response
|
||||
|
||||
**[SetChannelmapResponse](../../Models/Requests/SetChannelmapResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
|
||||
## GetDevicesChannels
|
||||
|
||||
Get a device's channels by its id
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="getDevicesChannels" method="get" path="/media/grabbers/devices/{deviceId}/channels" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accepts: LukeHagar.PlexAPI.SDK.Models.Components.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>"
|
||||
);
|
||||
|
||||
GetDevicesChannelsRequest req = new GetDevicesChannelsRequest() {
|
||||
DeviceId = 517209,
|
||||
};
|
||||
|
||||
var res = await sdk.Devices.GetDevicesChannelsAsync(req);
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
|
||||
| `request` | [GetDevicesChannelsRequest](../../Models/Requests/GetDevicesChannelsRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
|
||||
### Response
|
||||
|
||||
**[GetDevicesChannelsResponse](../../Models/Requests/GetDevicesChannelsResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
|
||||
## SetDevicePreferences
|
||||
|
||||
Set device preferences by its id
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="setDevicePreferences" method="put" path="/media/grabbers/devices/{deviceId}/prefs" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accepts: LukeHagar.PlexAPI.SDK.Models.Components.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>"
|
||||
);
|
||||
|
||||
SetDevicePreferencesRequest req = new SetDevicePreferencesRequest() {
|
||||
DeviceId = 420973,
|
||||
};
|
||||
|
||||
var res = await sdk.Devices.SetDevicePreferencesAsync(req);
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `request` | [SetDevicePreferencesRequest](../../Models/Requests/SetDevicePreferencesRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
|
||||
### Response
|
||||
|
||||
**[SetDevicePreferencesResponse](../../Models/Requests/SetDevicePreferencesResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
|
||||
## StopScan
|
||||
|
||||
Tell a device to stop scanning for channels
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="stopScan" method="delete" path="/media/grabbers/devices/{deviceId}/scan" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accepts: LukeHagar.PlexAPI.SDK.Models.Components.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>"
|
||||
);
|
||||
|
||||
StopScanRequest req = new StopScanRequest() {
|
||||
DeviceId = 576494,
|
||||
};
|
||||
|
||||
var res = await sdk.Devices.StopScanAsync(req);
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
|
||||
| `request` | [StopScanRequest](../../Models/Requests/StopScanRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
|
||||
### Response
|
||||
|
||||
**[StopScanResponse](../../Models/Requests/StopScanResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
|
||||
## Scan
|
||||
|
||||
Tell a device to scan for channels
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="scan" method="post" path="/media/grabbers/devices/{deviceId}/scan" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accepts: LukeHagar.PlexAPI.SDK.Models.Components.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>"
|
||||
);
|
||||
|
||||
ScanRequest req = new ScanRequest() {
|
||||
DeviceId = 57391,
|
||||
Source = "Cable",
|
||||
};
|
||||
|
||||
var res = await sdk.Devices.ScanAsync(req);
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
|
||||
| `request` | [ScanRequest](../../Models/Requests/ScanRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
|
||||
### Response
|
||||
|
||||
**[ScanResponse](../../Models/Requests/ScanResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
|
||||
## GetThumb
|
||||
|
||||
Get a device's thumb for display to the user
|
||||
|
||||
### Example Usage
|
||||
|
||||
<!-- UsageSnippet language="csharp" operationID="getThumb" method="get" path="/media/grabbers/devices/{deviceId}/thumb/{version}" -->
|
||||
```csharp
|
||||
using LukeHagar.PlexAPI.SDK;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accepts: LukeHagar.PlexAPI.SDK.Models.Components.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>"
|
||||
);
|
||||
|
||||
GetThumbRequest req = new GetThumbRequest() {
|
||||
DeviceId = 960617,
|
||||
VersionPathParameter = 1025,
|
||||
};
|
||||
|
||||
var res = await sdk.Devices.GetThumbAsync(req);
|
||||
|
||||
// handle response
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
|
||||
| `request` | [GetThumbRequest](../../Models/Requests/GetThumbRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
|
||||
### Response
|
||||
|
||||
**[GetThumbResponse](../../Models/Requests/GetThumbResponse.md)**
|
||||
|
||||
### Errors
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
|
||||
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
||||
Reference in New Issue
Block a user