## 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:
speakeasybot
2025-10-26 10:42:55 +00:00
parent 8c02f6a6ae
commit 835a7430fa
3366 changed files with 111145 additions and 71251 deletions

View File

@@ -15,28 +15,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public class Account
{
[JsonProperty("globalViewCount")]
public long? GlobalViewCount { get; set; }
[JsonProperty("id")]
public int? Id { get; set; }
[JsonProperty("key")]
public string? Key { get; set; }
[JsonProperty("name")]
public string? Name { get; set; }
[JsonProperty("defaultAudioLanguage")]
public string? DefaultAudioLanguage { get; set; }
[JsonProperty("autoSelectAudio")]
public bool? AutoSelectAudio { get; set; }
[JsonProperty("defaultSubtitleLanguage")]
public string? DefaultSubtitleLanguage { get; set; }
[JsonProperty("subtitleMode")]
public int? SubtitleMode { get; set; }
[JsonProperty("thumb")]
public string? Thumb { get; set; }
public long? Id { get; set; }
}
}

View File

@@ -11,14 +11,52 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System;
public class Action
/// <summary>
/// The action to perform for this item on this optimizer queue
/// </summary>
public enum Action
{
[JsonProperty("id")]
public string Id { get; set; } = default!;
[JsonProperty("key")]
public string Key { get; set; } = default!;
[JsonProperty("reprocess")]
Reprocess,
[JsonProperty("disable")]
Disable,
[JsonProperty("enable")]
Enable,
}
public static class ActionExtension
{
public static string Value(this Action value)
{
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
}
public static Action ToEnum(this string value)
{
foreach(var field in typeof(Action).GetFields())
{
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
if (attributes.Length == 0)
{
continue;
}
var attribute = attributes[0] as JsonPropertyAttribute;
if (attribute != null && attribute.PropertyName == value)
{
var enumVal = field.GetValue(null);
if (enumVal is Action)
{
return (Action)enumVal;
}
}
}
throw new Exception($"Unknown value {value} for enum Action");
}
}
}

View File

@@ -9,35 +9,65 @@
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System.Collections.Generic;
public class Activity
{
[JsonProperty("uuid")]
public string? Uuid { get; set; }
[JsonProperty("type")]
public string? Type { get; set; }
/// <summary>
/// Indicates whether this activity can be cancelled
/// </summary>
[JsonProperty("cancellable")]
public bool? Cancellable { get; set; }
[JsonProperty("userID")]
public double? UserID { get; set; }
[JsonProperty("title")]
public string? Title { get; set; }
[JsonProperty("subtitle")]
public string? Subtitle { get; set; }
/// <summary>
/// An object with additional values
/// </summary>
[JsonProperty("Context")]
public Dictionary<string, object>? Context { get; set; }
/// <summary>
/// A progress percentage. A value of -1 means the progress is indeterminate
/// </summary>
[JsonProperty("progress")]
public double? Progress { get; set; }
[JsonProperty("Context")]
public Context? Context { get; set; }
/// <summary>
/// An object with the response to the async opperation
/// </summary>
[JsonProperty("Response")]
public Dictionary<string, object>? Response { get; set; }
/// <summary>
/// A user-friendly sub-title for this activity
/// </summary>
[JsonProperty("subtitle")]
public string? Subtitle { get; set; }
/// <summary>
/// A user-friendly title for this activity
/// </summary>
[JsonProperty("title")]
public string? Title { get; set; }
/// <summary>
/// The type of activity
/// </summary>
[JsonProperty("type")]
public string? Type { get; set; }
/// <summary>
/// The user this activity belongs to
/// </summary>
[JsonProperty("userID")]
public long? UserID { get; set; }
/// <summary>
/// The ID of the activity
/// </summary>
[JsonProperty("uuid")]
public string? Uuid { get; set; }
}
}

View File

@@ -9,77 +9,42 @@
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class GetUsersRequest
public class AddCollectionItemsRequest
{
/// <summary>
/// An opaque identifier unique to the client (UUID, serial number, or other unique device ID)
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string ClientID { get; set; } = default!;
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client application. (Plex Web, Plex Media Server, etc.)
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? ClientName { get; set; }
public string? Product { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? DeviceNickname { get; set; }
/// <summary>
/// The name of the device the client application is running on. This is used to track the client application and its usage. (Chrome, Safari, etc.)
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The resolution of the device the client application is running on. This is used to track the client application and its usage. (1487x1165,2560x1440)
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Screen-Resolution")]
public string? DeviceScreenResolution { get; set; }
/// <summary>
/// The version of the client application.
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? ClientVersion { get; set; }
public string? Version { get; set; }
/// <summary>
/// The platform of the client application.
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The features of the client application. This is used to track the client application and its usage. (external-media,indirect-media,hub-style-list)
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Features")]
public string? ClientFeatures { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The session ID of the client application. This is used to track the client application and its usage. (97e136ef-4ddd-4ff3-89a7-a5820c96c2ca)
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Session-Id")]
public string? XPlexSessionId { get; set; }
/// <summary>
/// The language of the client application.
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Language")]
public string? XPlexLanguage { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
@@ -87,9 +52,45 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public string? PlatformVersion { get; set; }
/// <summary>
/// An authentication token, obtained from plex.tv
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Token")]
public string XPlexToken { get; set; } = default!;
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The collection id
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=collectionId")]
public long CollectionId { get; set; } = default!;
/// <summary>
/// The URI describing the items to add to this collection
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=uri")]
public string Uri { get; set; } = default!;
}
}

View File

@@ -0,0 +1,40 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class AddCollectionItemsResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// OK
/// </summary>
public MediaContainerWithMetadata? MediaContainerWithMetadata { get; set; }
}
}

View File

@@ -0,0 +1,90 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class AddDeviceRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The URI of the device.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=uri")]
public string? Uri { get; set; }
}
}

View File

@@ -0,0 +1,40 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class AddDeviceResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// OK
/// </summary>
public MediaContainerWithDevice? MediaContainerWithDevice { get; set; }
}
}

View File

@@ -0,0 +1,35 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System.Collections.Generic;
public class AddDeviceToDVRDVR
{
[JsonProperty("Device")]
public List<Models.Components.Device>? Device { get; set; }
[JsonProperty("key")]
public string? Key { get; set; }
[JsonProperty("language")]
public string? Language { get; set; }
[JsonProperty("lineup")]
public string? Lineup { get; set; }
[JsonProperty("uuid")]
public string? Uuid { get; set; }
}
}

View File

@@ -0,0 +1,59 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
/// <summary>
/// `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.<br/>
///
/// <remarks>
/// 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)<br/>
/// The container often &quot;hoists&quot; 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.<br/>
///
/// </remarks>
/// </summary>
public class AddDeviceToDVRDVRsMediaContainer
{
[JsonProperty("identifier")]
public string? Identifier { get; set; }
/// <summary>
/// The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[JsonProperty("offset")]
public long? Offset { get; set; }
[JsonProperty("size")]
public long? Size { get; set; }
/// <summary>
/// The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[JsonProperty("totalSize")]
public long? TotalSize { get; set; }
/// <summary>
/// A status indicator. If present and non-zero, indicates an error
/// </summary>
[JsonProperty("status")]
public long? Status { get; set; }
}
}

View File

@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System.Collections.Generic;
public class AddDeviceToDVRMediaContainer
{
[JsonProperty("MediaContainer")]
public AddDeviceToDVRDVRsMediaContainer? MediaContainer { get; set; }
[JsonProperty("DVR")]
public List<AddDeviceToDVRDVR>? Dvr { get; set; }
}
}

View File

@@ -0,0 +1,96 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class AddDeviceToDVRRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The ID of the DVR.
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=dvrId")]
public long DvrId { get; set; } = default!;
/// <summary>
/// The ID of the device to add.
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=deviceId")]
public long DeviceId { get; set; } = default!;
}
}

View File

@@ -0,0 +1,43 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Collections.Generic;
using System.Net.Http;
public class AddDeviceToDVRResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// OK
/// </summary>
public AddDeviceToDVRResponseBody? Object { get; set; }
public Dictionary<string, List<string>> Headers { get; set; } = default!;
}
}

View File

@@ -14,12 +14,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using Newtonsoft.Json;
/// <summary>
/// returns all playlists
/// OK
/// </summary>
public class CreatePlaylistResponseBody
public class AddDeviceToDVRResponseBody
{
[JsonProperty("MediaContainer")]
public CreatePlaylistMediaContainer? MediaContainer { get; set; }
public AddDeviceToDVRMediaContainer? MediaContainer { get; set; }
}
}

View File

@@ -0,0 +1,58 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System.Collections.Generic;
/// <summary>
/// `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.<br/>
///
/// <remarks>
/// 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)<br/>
/// The container often &quot;hoists&quot; 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.<br/>
///
/// </remarks>
/// </summary>
public class AddDownloadQueueItemsMediaContainer
{
[JsonProperty("identifier")]
public string? Identifier { get; set; }
/// <summary>
/// The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[JsonProperty("offset")]
public long? Offset { get; set; }
[JsonProperty("size")]
public long? Size { get; set; }
/// <summary>
/// The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[JsonProperty("totalSize")]
public long? TotalSize { get; set; }
[JsonProperty("AddedQueueItems")]
public List<AddedQueueItems>? AddedQueueItems { get; set; }
}
}

View File

@@ -0,0 +1,265 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System.Collections.Generic;
public class AddDownloadQueueItemsRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The queue id
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=queueId")]
public long QueueId { get; set; } = default!;
/// <summary>
/// Keys to add
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=false,name=keys")]
public List<string> Keys { get; set; } = default!;
/// <summary>
/// Indicates how incompatible advanced subtitles (such as ass/ssa) should be included: * &apos;burn&apos; - Burn incompatible advanced text subtitles into the video stream * &apos;text&apos; - Transcode incompatible advanced text subtitles to a compatible text format, even if some markup is lost<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=advancedSubtitles")]
public Models.Components.AdvancedSubtitles? AdvancedSubtitles { get; set; }
/// <summary>
/// Percentage of original audio loudness to use when transcoding (100 is equivalent to original volume, 50 is half, 200 is double, etc)
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=audioBoost")]
public long? AudioBoost { get; set; }
/// <summary>
/// Target video number of audio channels.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=audioChannelCount")]
public long? AudioChannelCount { get; set; }
/// <summary>
/// Indicates the client supports ABR.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=autoAdjustQuality")]
public BoolInt? AutoAdjustQuality { get; set; }
/// <summary>
/// Indicates if the server should adjust subtitles based on Voice Activity Data.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=autoAdjustSubtitle")]
public BoolInt? AutoAdjustSubtitle { get; set; }
/// <summary>
/// Indicates the client supports direct playing the indicated content.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=directPlay")]
public BoolInt? DirectPlay { get; set; }
/// <summary>
/// Indicates the client supports direct streaming the video of the indicated content.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=directStream")]
public BoolInt? DirectStream { get; set; }
/// <summary>
/// Indicates the client supports direct streaming the audio of the indicated content.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=directStreamAudio")]
public BoolInt? DirectStreamAudio { get; set; }
/// <summary>
/// Indicates if resolution should be adjusted for orientation.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=disableResolutionRotation")]
public BoolInt? DisableResolutionRotation { get; set; }
/// <summary>
/// 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
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=hasMDE")]
public BoolInt? HasMDE { get; set; }
/// <summary>
/// Network type of the client, can be used to help determine target bitrate.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=location")]
public Models.Components.Location? Location { get; set; }
/// <summary>
/// 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.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=mediaBufferSize")]
public long? MediaBufferSize { get; set; }
/// <summary>
/// Index of the media to transcode. -1 or not specified indicates let the server choose.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=mediaIndex")]
public long? MediaIndex { get; set; }
/// <summary>
/// Target bitrate for audio only files (in kbps, used to transcode).
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=musicBitrate")]
public long? MusicBitrate { get; set; }
/// <summary>
/// Offset from the start of the media (in seconds).
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset")]
public double? Offset { get; set; }
/// <summary>
/// Index of the part to transcode. -1 or not specified indicates the server should join parts together in a transcode
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=partIndex")]
public long? PartIndex { get; set; }
/// <summary>
/// Internal PMS path of the media to transcode.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=path")]
public string? Path { get; set; }
/// <summary>
/// Maximum bitrate (in kbps) to use in ABR.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=peakBitrate")]
public long? PeakBitrate { get; set; }
/// <summary>
/// Target photo resolution.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=photoResolution")]
public string? PhotoResolution { get; set; }
/// <summary>
/// Indicates the network streaming protocol to be used for the transcode session: * &apos;http&apos; - include the file in the http response such as MKV streaming * &apos;hls&apos; - hls stream (RFC 8216) * &apos;dash&apos; - dash stream (ISO/IEC 23009-1:2022)<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=protocol")]
public Models.Components.Protocol? Protocol { get; set; }
/// <summary>
/// Number of seconds to include in each transcoded segment
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=secondsPerSegment")]
public long? SecondsPerSegment { get; set; }
/// <summary>
/// Percentage of original subtitle size to use when burning subtitles (100 is equivalent to original size, 50 is half, ect)
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=subtitleSize")]
public long? SubtitleSize { get; set; }
/// <summary>
/// Indicates how subtitles should be included: * &apos;auto&apos; - Compute the appropriate subtitle setting automatically * &apos;burn&apos; - Burn the selected subtitle; auto if no selected subtitle * &apos;none&apos; - Ignore all subtitle streams * &apos;sidecar&apos; - The selected subtitle should be provided as a sidecar * &apos;embedded&apos; - The selected subtitle should be provided as an embedded stream * &apos;segmented&apos; - The selected subtitle should be provided as a segmented stream<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=subtitles")]
public Models.Components.Subtitles? Subtitles { get; set; }
/// <summary>
/// Target video bitrate (in kbps).
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=videoBitrate")]
public long? VideoBitrate { get; set; }
/// <summary>
/// Target photo quality.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=videoQuality")]
public long? VideoQuality { get; set; }
/// <summary>
/// Target maximum video resolution.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=videoResolution")]
public string? VideoResolution { get; set; }
}
}

View File

@@ -14,7 +14,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using System;
using System.Net.Http;
public class GetButlerTasksResponse
public class AddDownloadQueueItemsResponse
{
/// <summary>
@@ -33,8 +33,8 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// All butler tasks
/// OK
/// </summary>
public GetButlerTasksResponseBody? Object { get; set; }
public AddDownloadQueueItemsResponseBody? Object { get; set; }
}
}

View File

@@ -14,12 +14,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using Newtonsoft.Json;
/// <summary>
/// The Server Capabilities
/// OK
/// </summary>
public class GetServerCapabilitiesResponseBody
public class AddDownloadQueueItemsResponseBody
{
[JsonProperty("MediaContainer")]
public MediaContainer? MediaContainer { get; set; }
public AddDownloadQueueItemsMediaContainer? MediaContainer { get; set; }
}
}

View File

@@ -0,0 +1,105 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class AddExtrasRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ids")]
public string Ids { get; set; } = default!;
/// <summary>
/// The metadata type of the extra
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=extraType")]
public long? ExtraType { get; set; }
/// <summary>
/// The URL of the extra
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=url")]
public string Url { get; set; } = default!;
/// <summary>
/// The title to filter by or assign
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=title")]
public string? Title { get; set; }
}
}

View File

@@ -13,7 +13,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using System;
using System.Net.Http;
public class GetTimelineResponse
public class AddExtrasResponse
{
/// <summary>

View File

@@ -9,25 +9,27 @@
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System.Collections.Generic;
public class GetLibraryDetailsDirectory
public class AddLineupDVR
{
[JsonProperty("Device")]
public List<Models.Components.Device>? Device { get; set; }
[JsonProperty("key")]
public string? Key { get; set; }
[JsonProperty("title")]
public string? Title { get; set; }
[JsonProperty("language")]
public string? Language { get; set; }
[JsonProperty("secondary")]
public bool? Secondary { get; set; }
[JsonProperty("lineup")]
public string? Lineup { get; set; }
[JsonProperty("prompt")]
public string? Prompt { get; set; }
[JsonProperty("search")]
public bool? Search { get; set; }
[JsonProperty("uuid")]
public string? Uuid { get; set; }
}
}

View File

@@ -0,0 +1,59 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
/// <summary>
/// `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.<br/>
///
/// <remarks>
/// 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)<br/>
/// The container often &quot;hoists&quot; 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.<br/>
///
/// </remarks>
/// </summary>
public class AddLineupDVRsMediaContainer
{
[JsonProperty("identifier")]
public string? Identifier { get; set; }
/// <summary>
/// The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[JsonProperty("offset")]
public long? Offset { get; set; }
[JsonProperty("size")]
public long? Size { get; set; }
/// <summary>
/// The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[JsonProperty("totalSize")]
public long? TotalSize { get; set; }
/// <summary>
/// A status indicator. If present and non-zero, indicates an error
/// </summary>
[JsonProperty("status")]
public long? Status { get; set; }
}
}

View File

@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System.Collections.Generic;
public class AddLineupMediaContainer
{
[JsonProperty("MediaContainer")]
public AddLineupDVRsMediaContainer? MediaContainer { get; set; }
[JsonProperty("DVR")]
public List<AddLineupDVR>? Dvr { get; set; }
}
}

View File

@@ -0,0 +1,96 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class AddLineupRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The ID of the DVR.
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=dvrId")]
public long DvrId { get; set; } = default!;
/// <summary>
/// The lineup to delete
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=lineup")]
public string Lineup { get; set; } = default!;
}
}

View File

@@ -15,7 +15,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using System.Collections.Generic;
using System.Net.Http;
public class GetCompanionsDataResponse
public class AddLineupResponse
{
/// <summary>
@@ -34,8 +34,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// Companions Data
/// OK
/// </summary>
public List<ResponseBody>? ResponseBodies { get; set; }
public AddLineupResponseBody? Object { get; set; }
public Dictionary<string, List<string>> Headers { get; set; } = default!;
}
}

View File

@@ -14,12 +14,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using Newtonsoft.Json;
/// <summary>
/// Media Statistics
/// OK
/// </summary>
public class GetStatisticsResponseBody
public class AddLineupResponseBody
{
[JsonProperty("MediaContainer")]
public GetStatisticsMediaContainer? MediaContainer { get; set; }
public AddLineupMediaContainer? MediaContainer { get; set; }
}
}

View File

@@ -1,32 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System.Collections.Generic;
public class AddPlaylistContentsMediaContainer
{
[JsonProperty("size")]
public int? Size { get; set; }
[JsonProperty("leafCountAdded")]
public int? LeafCountAdded { get; set; }
[JsonProperty("leafCountRequested")]
public int? LeafCountRequested { get; set; }
[JsonProperty("Metadata")]
public List<AddPlaylistContentsMetadata>? Metadata { get; set; }
}
}

View File

@@ -1,57 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
public class AddPlaylistContentsMetadata
{
[JsonProperty("ratingKey")]
public string? RatingKey { get; set; }
[JsonProperty("key")]
public string? Key { get; set; }
[JsonProperty("guid")]
public string? Guid { get; set; }
[JsonProperty("type")]
public string? Type { get; set; }
[JsonProperty("title")]
public string? Title { get; set; }
[JsonProperty("summary")]
public string? Summary { get; set; }
[JsonProperty("smart")]
public bool? Smart { get; set; }
[JsonProperty("playlistType")]
public string? PlaylistType { get; set; }
[JsonProperty("composite")]
public string? Composite { get; set; }
[JsonProperty("duration")]
public int? Duration { get; set; }
[JsonProperty("leafCount")]
public int? LeafCount { get; set; }
[JsonProperty("addedAt")]
public int? AddedAt { get; set; }
[JsonProperty("updatedAt")]
public int? UpdatedAt { get; set; }
}
}

View File

@@ -1,35 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
public class AddPlaylistContentsRequest
{
/// <summary>
/// the ID of the playlist
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=playlistID")]
public double PlaylistID { get; set; } = default!;
/// <summary>
/// the content URI for the playlist
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=uri")]
public string Uri { get; set; } = default!;
/// <summary>
/// the play queue to add to a playlist
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=playQueueID")]
public double? PlayQueueID { get; set; }
}
}

View File

@@ -0,0 +1,102 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class AddPlaylistItemsRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The ID of the playlist
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=playlistId")]
public long PlaylistId { get; set; } = default!;
/// <summary>
/// The content URI for the playlist.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=uri")]
public string? Uri { get; set; }
/// <summary>
/// The play queue to add to a playlist.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=playQueueID")]
public long? PlayQueueID { get; set; }
}
}

View File

@@ -0,0 +1,40 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class AddPlaylistItemsResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// OK
/// </summary>
public MediaContainerWithPlaylistMetadata? MediaContainerWithPlaylistMetadata { get; set; }
}
}

View File

@@ -0,0 +1,90 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class AddProviderRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The URL of the media provider to add.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=url")]
public string Url { get; set; } = default!;
}
}

View File

@@ -13,7 +13,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using System;
using System.Net.Http;
public class GetFileHashResponse
public class AddProviderResponse
{
/// <summary>

View File

@@ -0,0 +1,146 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using System.Collections.Generic;
public class AddSectionRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The name of the new section
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=name")]
public string Name { get; set; } = default!;
/// <summary>
/// The type of library section
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")]
public long Type { get; set; } = default!;
/// <summary>
/// The scanner this section should use
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=scanner")]
public string? Scanner { get; set; }
/// <summary>
/// The agent this section should use for metadata
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=agent")]
public string Agent { get; set; } = default!;
/// <summary>
/// The agent group id for this section
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=metadataAgentProviderGroupId")]
public string? MetadataAgentProviderGroupId { get; set; }
/// <summary>
/// The language of this section
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=language")]
public string Language { get; set; } = default!;
/// <summary>
/// The locations on disk to add to this section
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=locations")]
public List<string>? Locations { get; set; }
/// <summary>
/// The preferences for this section
/// </summary>
[SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=prefs")]
public QueryParamPrefs? Prefs { get; set; }
/// <summary>
/// If set, paths are relative to `Media Upload` path
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=relative")]
public BoolInt? Relative { get; set; }
/// <summary>
/// If set, import media from iTunes.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=importFromiTunes")]
public BoolInt? ImportFromiTunes { get; set; }
}
}

View File

@@ -0,0 +1,40 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class AddSectionResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// OK
/// </summary>
public SlashGetResponses200? SlashGetResponses200 { get; set; }
}
}

View File

@@ -0,0 +1,111 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class AddSubtitlesRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ids")]
public string Ids { get; set; } = default!;
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=title")]
public string? Title { get; set; }
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=language")]
public string? Language { get; set; }
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=mediaItemID")]
public long? MediaItemID { get; set; }
/// <summary>
/// The URL of the subtitle. If not provided, the contents of the subtitle must be in the post body
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=url")]
public string? Url { get; set; }
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=format")]
public string? Format { get; set; }
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=forced")]
public BoolInt? Forced { get; set; }
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=hearingImpaired")]
public BoolInt? HearingImpaired { get; set; }
}
}

View File

@@ -13,7 +13,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using System;
using System.Net.Http;
public class LogMultiLineResponse
public class AddSubtitlesResponse
{
/// <summary>

View File

@@ -0,0 +1,108 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class AddToPlayQueueRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The ID of the play queue.
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=playQueueId")]
public long PlayQueueId { get; set; } = default!;
/// <summary>
/// The content URI for what we&apos;re adding to the queue.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=uri")]
public string? Uri { get; set; }
/// <summary>
/// The ID of the playlist to add to the playQueue.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=playlistID")]
public string? PlaylistID { get; set; }
/// <summary>
/// Play this item next (defaults to 0 - queueing at the end of manually queued items).
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=next")]
public BoolInt? Next { get; set; }
}
}

View File

@@ -9,12 +9,12 @@
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class GetAllLibrariesResponse
public class AddToPlayQueueResponse
{
/// <summary>
@@ -33,8 +33,8 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// The libraries available on the Server
/// OK
/// </summary>
public GetAllLibrariesResponseBody? Object { get; set; }
public MediaContainerWithPlaylistMetadata? MediaContainerWithPlaylistMetadata { get; set; }
}
}

View File

@@ -12,19 +12,19 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
public class GetAllLibrariesLocation
public class AddedQueueItems
{
/// <summary>
/// The ID of the location.
/// The queue item id that was added or the existing one if an item already exists in this queue with the same parameters
/// </summary>
[JsonProperty("id")]
public int Id { get; set; } = default!;
public long? Id { get; set; }
/// <summary>
/// The path to the media item.
/// The key added to the queue
/// </summary>
[JsonProperty("path")]
public string Path { get; set; } = default!;
[JsonProperty("key")]
public string? Key { get; set; }
}
}

View File

@@ -0,0 +1,65 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System;
public enum AdvancedSubtitles
{
[JsonProperty("auto")]
Auto,
[JsonProperty("burn")]
Burn,
[JsonProperty("none")]
None,
[JsonProperty("sidecar")]
Sidecar,
[JsonProperty("embedded")]
Embedded,
[JsonProperty("segmented")]
Segmented,
}
public static class AdvancedSubtitlesExtension
{
public static string Value(this AdvancedSubtitles value)
{
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
}
public static AdvancedSubtitles ToEnum(this string value)
{
foreach(var field in typeof(AdvancedSubtitles).GetFields())
{
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
if (attributes.Length == 0)
{
continue;
}
var attribute = attributes[0] as JsonPropertyAttribute;
if (attribute != null && attribute.PropertyName == value)
{
var enumVal = field.GetValue(null);
if (enumVal is AdvancedSubtitles)
{
return (AdvancedSubtitles)enumVal;
}
}
}
throw new Exception($"Unknown value {value} for enum AdvancedSubtitles");
}
}
}

View File

@@ -1,23 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
/// <summary>
/// Indicates if the user is allowed to upload from a camera.
/// </summary>
public enum AllowCameraUpload
{
Disable = 0,
Enable = 1,
}
}

View File

@@ -1,23 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
/// <summary>
/// Indicates if the user can manage subtitles.
/// </summary>
public enum AllowSubtitleAdmin
{
Disable = 0,
Enable = 1,
}
}

View File

@@ -1,23 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
/// <summary>
/// Indicates if the user is allowed to sync media.
/// </summary>
public enum AllowSync
{
Disable = 0,
Enable = 1,
}
}

View File

@@ -0,0 +1,99 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class AnalyzeMetadataRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ids")]
public string Ids { get; set; } = default!;
/// <summary>
/// Set the offset to be used for thumbnails
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=thumbOffset")]
public double? ThumbOffset { get; set; }
/// <summary>
/// Set the offset to be used for artwork
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=artOffset")]
public double? ArtOffset { get; set; }
}
}

View File

@@ -13,7 +13,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using System;
using System.Net.Http;
public class GetResizedPhotoResponse
public class AnalyzeMetadataResponse
{
/// <summary>

View File

@@ -9,22 +9,88 @@
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class ApplyUpdatesRequest
{
/// <summary>
/// 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
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=tonight")]
public Tonight? Tonight { get; set; }
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// Indicate that the latest version should be marked as skipped. The [Release] entry for this version will have the `state` set to `skipped`.
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// 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.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=tonight")]
public BoolInt? Tonight { get; set; }
/// <summary>
/// Indicate that the latest version should be marked as skipped. The &lt;Release&gt; entry for this version will have the `state` set to `skipped`.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=skip")]
public Skip? Skip { get; set; }
public BoolInt? Skip { get; set; }
}
}

View File

@@ -12,12 +12,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils;
/// <summary>
/// whether the playlist is smart or not
/// The new values for the metadata item
/// </summary>
public enum Smart
public class Args
{
Zero = 0,
One = 1,
}
}

View File

@@ -10,24 +10,11 @@
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
/// <summary>
/// Attributes associated with the marker.
/// The attributes to assign to this marker
/// </summary>
public class Attributes
{
/// <summary>
/// The identifier for the attributes.
/// </summary>
[JsonProperty("id")]
public long Id { get; set; } = default!;
/// <summary>
/// The version number of the marker attributes.
/// </summary>
[JsonProperty("version")]
public long? Version { get; set; }
}
}

View File

@@ -1,23 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
/// <summary>
/// The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
/// </summary>
public enum AutoSelectSubtitle
{
Disable = 0,
Enable = 1,
}
}

View File

@@ -0,0 +1,108 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class AutocompleteRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// Section identifier
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")]
public long SectionId { get; set; } = default!;
/// <summary>
/// Item type
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")]
public long? Type { get; set; }
/// <summary>
/// The &quot;field&quot; stands in for any field, the value is a partial string for matching
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=field.query")]
public string? FieldQuery { get; set; }
/// <summary>
/// This is a complex query built of several parameters. See <a href="#section/API-Info/Media-Queries">API Info section</a> for information on building media queries
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=mediaQuery")]
public MediaQuery? MediaQuery { get; set; }
}
}

View File

@@ -0,0 +1,43 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Collections.Generic;
using System.Net.Http;
public class AutocompleteResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// OK
/// </summary>
public MediaContainerWithMetadata? MediaContainerWithMetadata { get; set; }
public Dictionary<string, List<string>> Headers { get; set; } = default!;
}
}

View File

@@ -12,25 +12,25 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
public class Ratings
public class Bandwidth
{
/// <summary>
/// The image or reference for the rating.
/// The bandwidth at this time in kbps
/// </summary>
[JsonProperty("image")]
public string Image { get; set; } = default!;
[JsonProperty("bandwidth")]
public long? BandwidthValue { get; set; }
/// <summary>
/// The rating value.
/// The user-friendly resolution at this time
/// </summary>
[JsonProperty("value")]
public float Value { get; set; } = default!;
[JsonProperty("resolution")]
public string? Resolution { get; set; }
/// <summary>
/// The type of rating (e.g., audience, critic).
/// Media playback time where this bandwidth started
/// </summary>
[JsonProperty("type")]
public string Type { get; set; } = default!;
[JsonProperty("time")]
public long? Time { get; set; }
}
}

View File

@@ -14,13 +14,13 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using Newtonsoft.Json;
using System.Collections.Generic;
public class FieldType
/// <summary>
/// A list of media times and bandwidths when trascoding is using with auto adjustment of bandwidth
/// </summary>
public class Bandwidths
{
[JsonProperty("type")]
public string Type { get; set; } = default!;
[JsonProperty("Operator")]
public List<Operator> Operator { get; set; } = default!;
[JsonProperty("Bandwidth")]
public List<Bandwidth>? Bandwidth { get; set; }
}
}

View File

@@ -1,25 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
public class Billing
{
[JsonProperty("internalPaymentMethod")]
public InternalPaymentMethod InternalPaymentMethod { get; set; } = default!;
[JsonProperty("paymentMethodId", NullValueHandling = NullValueHandling.Include)]
public long? PaymentMethodId { get; set; }
}
}

View File

@@ -15,22 +15,40 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public class ButlerTask
{
[JsonProperty("name")]
public string? Name { get; set; }
[JsonProperty("interval")]
public double? Interval { get; set; }
[JsonProperty("scheduleRandomized")]
public bool? ScheduleRandomized { get; set; }
/// <summary>
/// A user-friendly description of the task
/// </summary>
[JsonProperty("description")]
public string? Description { get; set; }
/// <summary>
/// Whether this task is enabled or not
/// </summary>
[JsonProperty("enabled")]
public bool? Enabled { get; set; }
/// <summary>
/// The interval (in days) of when this task is run. A value of 1 is run every day, 7 is every week, etc.
/// </summary>
[JsonProperty("interval")]
public long? Interval { get; set; }
/// <summary>
/// The name of the task
/// </summary>
[JsonProperty("name")]
public string? Name { get; set; }
/// <summary>
/// Indicates whether the timing of the task is randomized within the butler interval
/// </summary>
[JsonProperty("scheduleRandomized")]
public bool? ScheduleRandomized { get; set; }
/// <summary>
/// A user-friendly title of the task
/// </summary>
[JsonProperty("title")]
public string? Title { get; set; }
[JsonProperty("description")]
public string? Description { get; set; }
}
}

View File

@@ -0,0 +1,90 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class CancelActivityRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The UUID of the activity to cancel.
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=activityId")]
public string ActivityId { get; set; } = default!;
}
}

View File

@@ -0,0 +1,34 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class CancelActivityResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
}
}

View File

@@ -0,0 +1,90 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class CancelGrabRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The ID of the operation.
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=operationId")]
public string OperationId { get; set; } = default!;
}
}

View File

@@ -0,0 +1,34 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class CancelGrabResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
}
}

View File

@@ -0,0 +1,90 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class CancelRefreshRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// Section identifier
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")]
public long SectionId { get; set; } = default!;
}
}

View File

@@ -13,7 +13,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using System;
using System.Net.Http;
public class DeleteLibraryResponse
public class CancelRefreshResponse
{
/// <summary>

View File

@@ -1,23 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
public class CancelServerActivitiesRequest
{
/// <summary>
/// The UUID of the activity to cancel.
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=activityUUID")]
public string ActivityUUID { get; set; } = default!;
}
}

View File

@@ -12,12 +12,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils;
/// <summary>
/// Include IPv6 entries in the results
/// The mapping of changes, passed as a map of device channel to lineup VCN.
/// </summary>
public enum IncludeIPv6
public class ChannelMapping
{
Disable = 0,
Enable = 1,
}
}

View File

@@ -12,12 +12,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils;
/// <summary>
/// Indicates if the user is part of a home group.
/// The mapping of changes, passed as a map of device channel to lineup key.
/// </summary>
public enum Home
public class ChannelMappingByKey
{
Disable = 0,
Enable = 1,
}
}

View File

@@ -1,39 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
/// <summary>
/// The thumbnail for the chapter
/// </summary>
public class Chapter
{
[JsonProperty("id")]
public long Id { get; set; } = default!;
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
[JsonProperty("index")]
public long Index { get; set; } = default!;
[JsonProperty("startTimeOffset")]
public long StartTimeOffset { get; set; } = default!;
[JsonProperty("endTimeOffset")]
public long EndTimeOffset { get; set; } = default!;
[JsonProperty("thumb")]
public string Thumb { get; set; } = default!;
}
}

View File

@@ -1,24 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
public class CheckForUpdatesRequest
{
/// <summary>
/// Indicate that you want to start download any updates found.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=download")]
public Download? Download { get; set; }
}
}

View File

@@ -0,0 +1,90 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class CheckUpdatesRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// Indicate that you want to start download any updates found.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=download")]
public BoolInt? Download { get; set; }
}
}

View File

@@ -0,0 +1,34 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class CheckUpdatesResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
}
}

View File

@@ -12,16 +12,22 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils;
/// <summary>
/// include collections in the results<br/>
/// Use the specified chroma subsambling.<br/>
///
/// <remarks>
///
/// - 0: 411<br/>
/// - 1: 420<br/>
/// - 2: 422<br/>
/// - 3: 444<br/>
/// Defaults to 3 (444)
/// </remarks>
/// </summary>
public enum IncludeCollections
public enum ChromaSubsampling
{
One = 1,
Zero = 0,
One = 1,
Two = 2,
Three = 3,
}
}

View File

@@ -0,0 +1,34 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class CleanBundlesResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
}
}

View File

@@ -0,0 +1,90 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class ClearPlayQueueRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The ID of the play queue.
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=playQueueId")]
public long PlayQueueId { get; set; } = default!;
}
}

View File

@@ -0,0 +1,40 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class ClearPlayQueueResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// OK
/// </summary>
public MediaContainerWithPlaylistMetadata? MediaContainerWithPlaylistMetadata { get; set; }
}
}

View File

@@ -1,23 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
public class ClearPlaylistContentsRequest
{
/// <summary>
/// the ID of the playlist
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=playlistID")]
public double PlaylistID { get; set; } = default!;
}
}

View File

@@ -0,0 +1,90 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class ClearPlaylistItemsRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The ID of the playlist
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=playlistId")]
public long PlaylistId { get; set; } = default!;
}
}

View File

@@ -0,0 +1,40 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class ClearPlaylistItemsResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// OK
/// </summary>
public MediaContainerWithPlaylistMetadata? MediaContainerWithPlaylistMetadata { get; set; }
}
}

View File

@@ -1,24 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
public class Collection
{
/// <summary>
/// The user-made collection this media item belongs to
/// </summary>
[JsonProperty("tag")]
public string Tag { get; set; } = default!;
}
}

View File

@@ -12,25 +12,25 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
public class GetLibraryItemsWriter
public class ComputeChannelMapChannelMapping
{
/// <summary>
/// Unique identifier for the writer.
/// </summary>
[JsonProperty("id")]
public int Id { get; set; } = default!;
[JsonProperty("channelKey")]
public string? ChannelKey { get; set; }
/// <summary>
/// The role of Writer
/// The channel description on the device
/// </summary>
[JsonProperty("tag")]
public string Tag { get; set; } = default!;
[JsonProperty("deviceIdentifier")]
public string? DeviceIdentifier { get; set; }
[JsonProperty("favorite")]
public bool? Favorite { get; set; }
/// <summary>
/// The absolute URL of the thumbnail image for the writer.
/// The channel identifier in the lineup
/// </summary>
[JsonProperty("thumb")]
public string? Thumb { get; set; }
[JsonProperty("lineupIdentifier")]
public string? LineupIdentifier { get; set; }
}
}

View File

@@ -0,0 +1,58 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System.Collections.Generic;
/// <summary>
/// `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.<br/>
///
/// <remarks>
/// 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)<br/>
/// The container often &quot;hoists&quot; 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.<br/>
///
/// </remarks>
/// </summary>
public class ComputeChannelMapMediaContainer
{
[JsonProperty("identifier")]
public string? Identifier { get; set; }
/// <summary>
/// The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[JsonProperty("offset")]
public long? Offset { get; set; }
[JsonProperty("size")]
public long? Size { get; set; }
/// <summary>
/// The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[JsonProperty("totalSize")]
public long? TotalSize { get; set; }
[JsonProperty("ChannelMapping")]
public List<ComputeChannelMapChannelMapping>? ChannelMapping { get; set; }
}
}

View File

@@ -0,0 +1,96 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class ComputeChannelMapRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The URI describing the device
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=device")]
public string DeviceQueryParameter { get; set; } = default!;
/// <summary>
/// The URI describing the lineup
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=lineup")]
public string Lineup { get; set; } = default!;
}
}

View File

@@ -0,0 +1,43 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Collections.Generic;
using System.Net.Http;
public class ComputeChannelMapResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// OK
/// </summary>
public ComputeChannelMapResponseBody? Object { get; set; }
public Dictionary<string, List<string>> Headers { get; set; } = default!;
}
}

View File

@@ -14,12 +14,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using Newtonsoft.Json;
/// <summary>
/// List of Plex Sessions
/// OK
/// </summary>
public class GetSessionHistoryResponseBody
public class ComputeChannelMapResponseBody
{
[JsonProperty("MediaContainer")]
public GetSessionHistoryMediaContainer? MediaContainer { get; set; }
public ComputeChannelMapMediaContainer? MediaContainer { get; set; }
}
}

View File

@@ -0,0 +1,100 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System.Collections.Generic;
public class ConnectWebSocketRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// By default, all events except logs are sent. A rich filtering mechanism is provided to allow clients to opt into or out of each event type using the `filters` parameter. For example:<br/>
///
/// <remarks>
/// <br/>
/// - `filters=-log`: All event types except logs (the default).<br/>
/// - `filters=foo,bar`: Only the foo and bar event types.<br/>
/// - `filters=`: All events types.<br/>
/// - `filters=-foo,bar`: All event types except foo and bar.<br/>
///
/// </remarks>
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=filter")]
public List<string>? Filter { get; set; }
}
}

View File

@@ -0,0 +1,39 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class ConnectWebSocketResponse
{
/// <summary>
/// HTTP response content type for this operation
/// </summary>
public string? ContentType { get; set; } = default!;
/// <summary>
/// HTTP response status code for this operation
/// </summary>
public int StatusCode { get; set; } = default!;
/// <summary>
/// Raw HTTP response; suitable for custom response parsing
/// </summary>
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// OK
/// </summary>
public byte[]? Bytes { get; set; }
}
}

View File

@@ -12,25 +12,31 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
public class GetServerListServer
public class Connection
{
[JsonProperty("name")]
public string? Name { get; set; }
[JsonProperty("host")]
public string? Host { get; set; }
[JsonProperty("address")]
public string? Address { get; set; }
/// <summary>
/// Indicates if the connection is the server&apos;s LAN address
/// </summary>
[JsonProperty("local")]
public bool? Local { get; set; }
[JsonProperty("port")]
public double? Port { get; set; }
public long? Port { get; set; }
[JsonProperty("machineIdentifier")]
public string? MachineIdentifier { get; set; }
[JsonProperty("protocol")]
public string? Protocol { get; set; }
[JsonProperty("version")]
public string? Version { get; set; }
/// <summary>
/// Indicates the connection is over a relayed connection
/// </summary>
[JsonProperty("relay")]
public bool? Relay { get; set; }
[JsonProperty("uri")]
public string? Uri { get; set; }
}
}

View File

@@ -1,61 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
public class Connections
{
/// <summary>
/// The protocol used for the connection (http, https, etc)
/// </summary>
[JsonProperty("protocol")]
public Protocol Protocol { get; set; } = default!;
/// <summary>
/// The (ip) address or domain name used for the connection
/// </summary>
[JsonProperty("address")]
public string Address { get; set; } = default!;
/// <summary>
/// The port used for the connection
/// </summary>
[JsonProperty("port")]
public int Port { get; set; } = default!;
/// <summary>
/// The full URI of the connection
/// </summary>
[JsonProperty("uri")]
public string Uri { get; set; } = default!;
/// <summary>
/// If the connection is local address
/// </summary>
[JsonProperty("local")]
public bool Local { get; set; } = default!;
/// <summary>
/// If the connection is relayed through plex.direct
/// </summary>
[JsonProperty("relay")]
public bool Relay { get; set; } = default!;
/// <summary>
/// If the connection is using IPv6
/// </summary>
[JsonProperty("IPv6")]
public bool IPv6 { get; set; } = default!;
}
}

View File

@@ -9,33 +9,53 @@
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
/// <summary>
/// The filter query string for country media items.
/// </summary>
public class Country
{
/// <summary>
/// The unique identifier for the country.<br/>
/// Three letter code
/// </summary>
[JsonProperty("code")]
public string? Code { get; set; }
[JsonProperty("example")]
public string? Example { get; set; }
/// <summary>
/// - `0`: The country is divided into regions, and following the key will lead to a list of regions.<br/>
///
/// <remarks>
/// NOTE: This is different for each Plex server and is not globally unique.<br/>
/// - `1`: The county is divided by postal codes, and an example code is returned in `example`.<br/>
/// - `2`: The country has a single postal code, returned in `example`.<br/>
///
/// </remarks>
/// </summary>
[JsonProperty("id")]
public int Id { get; set; } = default!;
[JsonProperty("flavor")]
public Flavor? Flavor { get; set; }
[JsonProperty("key")]
public string? Key { get; set; }
/// <summary>
/// The country of origin of this media item
/// Three letter language code
/// </summary>
[JsonProperty("tag")]
public string Tag { get; set; } = default!;
[JsonProperty("language")]
public string? Language { get; set; }
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
/// <summary>
/// The title of the language
/// </summary>
[JsonProperty("languageTitle")]
public string? LanguageTitle { get; set; }
[JsonProperty("title")]
public string? Title { get; set; }
[JsonProperty("type")]
public string? Type { get; set; }
}
}

View File

@@ -0,0 +1,114 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class CreateCollectionRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The section where this collection will be created
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=sectionId")]
public string SectionId { get; set; } = default!;
/// <summary>
/// The title to filter by or assign
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=title")]
public string? Title { get; set; }
/// <summary>
/// Whether this is a smart collection/playlist
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=smart")]
public bool? Smart { get; set; }
/// <summary>
/// The URI for processing the smart collection. Required for a smart collection
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=uri")]
public string? Uri { get; set; }
/// <summary>
/// The metadata type to filter by
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")]
public long? Type { get; set; }
}
}

View File

@@ -9,12 +9,12 @@
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Net.Http;
public class AddPlaylistContentsResponse
public class CreateCollectionResponse
{
/// <summary>
@@ -33,8 +33,8 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// Playlist Updated
/// OK
/// </summary>
public AddPlaylistContentsResponseBody? Object { get; set; }
public MediaContainerWithMetadata? MediaContainerWithMetadata { get; set; }
}
}

View File

@@ -0,0 +1,114 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
public class CreateCustomHubRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The section ID for the hubs to reorder
/// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")]
public long SectionId { get; set; } = default!;
/// <summary>
/// The metadata item on which to base this hub. This must currently be a collection
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=metadataItemId")]
public long MetadataItemId { get; set; } = default!;
/// <summary>
/// Whether this hub should be displayed in recommended
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=promotedToRecommended")]
public BoolInt? PromotedToRecommended { get; set; }
/// <summary>
/// Whether this hub should be displayed in admin&apos;s home
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=promotedToOwnHome")]
public BoolInt? PromotedToOwnHome { get; set; }
/// <summary>
/// Whether this hub should be displayed in shared user&apos;s home
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=promotedToSharedHome")]
public BoolInt? PromotedToSharedHome { get; set; }
}
}

View File

@@ -13,7 +13,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using System;
using System.Net.Http;
public class CheckForUpdatesResponse
public class CreateCustomHubResponse
{
/// <summary>

View File

@@ -0,0 +1,103 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System.Collections.Generic;
public class CreateDVRRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
/// <summary>
/// The EPG lineup.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=lineup")]
public string? Lineup { get; set; }
/// <summary>
/// The device.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=device")]
public List<string>? DeviceQueryParameter { get; set; }
/// <summary>
/// The language.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=language")]
public string? Language { get; set; }
}
}

View File

@@ -9,12 +9,13 @@
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using System;
using System.Collections.Generic;
using System.Net.Http;
public class GetUpdateStatusResponse
public class CreateDVRResponse
{
/// <summary>
@@ -33,8 +34,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// The Server Updates
/// OK
/// </summary>
public GetUpdateStatusResponseBody? Object { get; set; }
public DvrRequestHandlerSlashGetResponses200? DvrRequestHandlerSlashGetResponses200 { get; set; }
public Dictionary<string, List<string>> Headers { get; set; } = default!;
}
}

View File

@@ -0,0 +1,58 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System.Collections.Generic;
/// <summary>
/// `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.<br/>
///
/// <remarks>
/// 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)<br/>
/// The container often &quot;hoists&quot; 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.<br/>
///
/// </remarks>
/// </summary>
public class CreateDownloadQueueMediaContainer
{
[JsonProperty("identifier")]
public string? Identifier { get; set; }
/// <summary>
/// The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[JsonProperty("offset")]
public long? Offset { get; set; }
[JsonProperty("size")]
public long? Size { get; set; }
/// <summary>
/// The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[JsonProperty("totalSize")]
public long? TotalSize { get; set; }
[JsonProperty("DownloadQueue")]
public List<Models.Requests.DownloadQueue>? DownloadQueue { get; set; }
}
}

View File

@@ -14,7 +14,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using System;
using System.Net.Http;
public class GetServerListResponse
public class CreateDownloadQueueResponse
{
/// <summary>
@@ -33,8 +33,8 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// List of Servers
/// OK
/// </summary>
public GetServerListResponseBody? Object { get; set; }
public CreateDownloadQueueResponseBody? Object { get; set; }
}
}

View File

@@ -14,12 +14,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using Newtonsoft.Json;
/// <summary>
/// Playlist Updated
/// OK
/// </summary>
public class AddPlaylistContentsResponseBody
public class CreateDownloadQueueResponseBody
{
[JsonProperty("MediaContainer")]
public AddPlaylistContentsMediaContainer? MediaContainer { get; set; }
public CreateDownloadQueueMediaContainer? MediaContainer { get; set; }
}
}

View File

@@ -0,0 +1,76 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System.Collections.Generic;
/// <summary>
/// `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.<br/>
///
/// <remarks>
/// 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)<br/>
/// The container often &quot;hoists&quot; 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.<br/>
///
/// </remarks>
/// </summary>
public class CreateMarkerMediaContainer
{
[JsonProperty("identifier")]
public string? Identifier { get; set; }
/// <summary>
/// The offset of where this container page starts among the total objects available. Also provided in the `X-Plex-Container-Start` header.<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[JsonProperty("offset")]
public long? Offset { get; set; }
[JsonProperty("size")]
public long? Size { get; set; }
/// <summary>
/// The total size of objects available. Also provided in the `X-Plex-Container-Total-Size` header.<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[JsonProperty("totalSize")]
public long? TotalSize { get; set; }
[JsonProperty("color")]
public string? Color { get; set; }
[JsonProperty("endTimeOffset")]
public long? EndTimeOffset { get; set; }
[JsonProperty("id")]
public long? Id { get; set; }
[JsonProperty("startTimeOffset")]
public long? StartTimeOffset { get; set; }
[JsonProperty("title")]
public string? Title { get; set; }
[JsonProperty("type")]
public CreateMarkerType? Type { get; set; }
[JsonProperty("additionalProperties")]
public Dictionary<string, object>? AdditionalProperties { get; set; }
}
}

View File

@@ -0,0 +1,112 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
public class CreateMarkerRequest
{
/// <summary>
/// Indicates the client accepts the indicated media types
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
/// <summary>
/// An opaque identifier unique to the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
/// <summary>
/// The name of the client product
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
/// <summary>
/// The version of the client application
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
/// <summary>
/// The platform of the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
/// <summary>
/// The version of the platform
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
/// <summary>
/// A relatively friendly name for the client device
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
/// <summary>
/// A potentially less friendly identifier for the device model
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
/// <summary>
/// The device vendor
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
/// <summary>
/// A friendly name for the client
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
/// <summary>
/// The marketplace on which the client application is distributed
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ids")]
public string Ids { get; set; } = default!;
/// <summary>
/// The type of marker to edit/create
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")]
public long Type { get; set; } = default!;
/// <summary>
/// The start time of the marker
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=startTimeOffset")]
public long StartTimeOffset { get; set; } = default!;
/// <summary>
/// The end time of the marker
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=endTimeOffset")]
public long? EndTimeOffset { get; set; }
/// <summary>
/// The attributes to assign to this marker
/// </summary>
[SpeakeasyMetadata("queryParam:style=deepObject,explode=true,name=attributes")]
public Attributes? Attributes { get; set; }
}
}

View File

@@ -14,7 +14,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using System;
using System.Net.Http;
public class GetDevicesResponse
public class CreateMarkerResponse
{
/// <summary>
@@ -33,8 +33,8 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public HttpResponseMessage RawResponse { get; set; } = default!;
/// <summary>
/// Devices
/// OK
/// </summary>
public GetDevicesResponseBody? Object { get; set; }
public CreateMarkerResponseBody? Object { get; set; }
}
}

View File

@@ -14,12 +14,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using Newtonsoft.Json;
/// <summary>
/// returns all playlists
/// OK
/// </summary>
public class GetPlaylistsResponseBody
public class CreateMarkerResponseBody
{
[JsonProperty("MediaContainer")]
public GetPlaylistsMediaContainer? MediaContainer { get; set; }
public CreateMarkerMediaContainer? MediaContainer { get; set; }
}
}

View File

@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System;
public enum CreateMarkerType
{
[JsonProperty("intro")]
Intro,
[JsonProperty("commercial")]
Commercial,
[JsonProperty("bookmark")]
Bookmark,
[JsonProperty("resume")]
Resume,
[JsonProperty("credit")]
Credit,
}
public static class CreateMarkerTypeExtension
{
public static string Value(this CreateMarkerType value)
{
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
}
public static CreateMarkerType ToEnum(this string value)
{
foreach(var field in typeof(CreateMarkerType).GetFields())
{
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
if (attributes.Length == 0)
{
continue;
}
var attribute = attributes[0] as JsonPropertyAttribute;
if (attribute != null && attribute.PropertyName == value)
{
var enumVal = field.GetValue(null);
if (enumVal is CreateMarkerType)
{
return (CreateMarkerType)enumVal;
}
}
}
throw new Exception($"Unknown value {value} for enum CreateMarkerType");
}
}
}

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