Compare commits

...

3 Commits

Author SHA1 Message Date
speakeasybot
9ccab7b22d ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.529.1 2025-04-19 00:24:30 +00:00
speakeasybot
eb2f6e54a2 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.529.1 2025-04-14 00:26:56 +00:00
speakeasybot
4b798cbb85 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.529.1 2025-04-06 00:25:51 +00:00
58 changed files with 563 additions and 374 deletions

File diff suppressed because one or more lines are too long

View File

@@ -15,7 +15,7 @@ generation:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false oAuth2PasswordEnabled: false
csharp: csharp:
version: 0.14.4 version: 0.14.9
additionalDependencies: [] additionalDependencies: []
author: LukeHagar author: LukeHagar
clientServerStatusCodesAsErrors: true clientServerStatusCodesAsErrors: true

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.528.1 speakeasyVersion: 1.529.1
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
@@ -16,19 +16,19 @@ sources:
- main - main
plexapi: plexapi:
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:b5580df6ec4a386e12249ff13f35b916fe5559e101de4a816b53e47d6947f1a5 sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615
sourceBlobDigest: sha256:6108b6c35fbe7e9163ffe0c804170f5e3a6edb63b8e745454ea8ee249bd790c3 sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9
tags: tags:
- latest - latest
- speakeasy-sdk-regen-1743639761 - speakeasy-sdk-regen-1745022139
targets: targets:
plexcsharp: plexcsharp:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:b5580df6ec4a386e12249ff13f35b916fe5559e101de4a816b53e47d6947f1a5 sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615
sourceBlobDigest: sha256:6108b6c35fbe7e9163ffe0c804170f5e3a6edb63b8e745454ea8ee249bd790c3 sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9
codeSamplesNamespace: code-samples-csharp-plexcsharp codeSamplesNamespace: code-samples-csharp-plexcsharp
codeSamplesRevisionDigest: sha256:59d58ee30b9abe3511fd8450598f0c876432931b625d5d7d628490ea2337b25b codeSamplesRevisionDigest: sha256:004ab610284c105c8117c397a7f5978e24de0ef188017a338cb854644394a990
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest

View File

@@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -95,10 +95,10 @@ namespace LukeHagar.PlexAPI.SDK
}; };
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -101,10 +101,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -73,10 +73,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -72,14 +72,14 @@ namespace LukeHagar.PlexAPI.SDK
/// <remarks> /// <remarks>
/// ## Library Details Endpoint<br/> /// ## Library Details Endpoint<br/>
/// <br/> /// <br/>
/// This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself. <br/> /// This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself.<br/>
/// <br/> /// <br/>
/// The details include:<br/> /// The details include:<br/>
/// <br/> /// <br/>
/// ### Directories<br/> /// ### Directories<br/>
/// Organized into three categories:<br/> /// Organized into three categories:<br/>
/// <br/> /// <br/>
/// - **Primary Directories**: <br/> /// - **Primary Directories**:<br/>
/// - Used in some clients for quick access to media subsets (e.g., &quot;All&quot;, &quot;On Deck&quot;).<br/> /// - Used in some clients for quick access to media subsets (e.g., &quot;All&quot;, &quot;On Deck&quot;).<br/>
/// - Most can be replicated via media queries.<br/> /// - Most can be replicated via media queries.<br/>
/// - Customizable by users.<br/> /// - Customizable by users.<br/>
@@ -318,10 +318,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -46,13 +46,13 @@ namespace LukeHagar.PlexAPI.SDK
/// Logging a multi-line message /// Logging a multi-line message
/// ///
/// <remarks> /// <remarks>
/// This endpoint allows for the batch addition of log entries to the main Plex Media Server log. <br/> /// This endpoint allows for the batch addition of log entries to the main Plex Media Server log.<br/>
/// It accepts a text/plain request body, where each line represents a distinct log entry. <br/> /// It accepts a text/plain request body, where each line represents a distinct log entry.<br/>
/// Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as &apos;level&apos;, &apos;message&apos;, and &apos;source&apos;. <br/> /// Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as &apos;level&apos;, &apos;message&apos;, and &apos;source&apos;.<br/>
/// <br/> /// <br/>
/// Log entries are separated by a newline character (`\n`). <br/> /// Log entries are separated by a newline character (`\n`).<br/>
/// Each entry&apos;s parameters should be URL-encoded to ensure accurate parsing and handling of special characters. <br/> /// Each entry&apos;s parameters should be URL-encoded to ensure accurate parsing and handling of special characters.<br/>
/// This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests. <br/> /// This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests.<br/>
/// <br/> /// <br/>
/// The &apos;level&apos; parameter specifies the log entry&apos;s severity or importance, with the following integer values:<br/> /// The &apos;level&apos; parameter specifies the log entry&apos;s severity or importance, with the following integer values:<br/>
/// - `0`: Error - Critical issues that require immediate attention.<br/> /// - `0`: Error - Critical issues that require immediate attention.<br/>
@@ -94,10 +94,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -3,7 +3,7 @@
<PropertyGroup> <PropertyGroup>
<IsPackable>true</IsPackable> <IsPackable>true</IsPackable>
<PackageId>LukeHagar.PlexAPI.SDK</PackageId> <PackageId>LukeHagar.PlexAPI.SDK</PackageId>
<Version>0.14.4</Version> <Version>0.14.9</Version>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<Authors>LukeHagar</Authors> <Authors>LukeHagar</Authors>
<Copyright>Copyright (c) LukeHagar 2025</Copyright> <Copyright>Copyright (c) LukeHagar 2025</Copyright>

View File

@@ -90,10 +90,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -17,42 +17,78 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public class GetAllLibrariesDirectory public class GetAllLibrariesDirectory
{ {
/// <summary>
/// Indicates whether syncing is allowed.
/// </summary>
[JsonProperty("allowSync")] [JsonProperty("allowSync")]
public bool AllowSync { get; set; } = default!; public bool AllowSync { get; set; } = default!;
/// <summary>
/// URL for the background artwork of the media container.
/// </summary>
[JsonProperty("art")] [JsonProperty("art")]
public string Art { get; set; } = default!; public string Art { get; set; } = default!;
/// <summary>
/// The relative path to the composite media item.
/// </summary>
[JsonProperty("composite")] [JsonProperty("composite")]
public string Composite { get; set; } = default!; public string Composite { get; set; } = default!;
/// <summary>
/// UNKNOWN
/// </summary>
[JsonProperty("filters")] [JsonProperty("filters")]
public bool Filters { get; set; } = default!; public bool Filters { get; set; } = default!;
/// <summary>
/// Indicates whether the library is currently being refreshed or updated
/// </summary>
[JsonProperty("refreshing")] [JsonProperty("refreshing")]
public bool Refreshing { get; set; } = default!; public bool Refreshing { get; set; } = default!;
/// <summary>
/// URL for the thumbnail image of the media container.
/// </summary>
[JsonProperty("thumb")] [JsonProperty("thumb")]
public string Thumb { get; set; } = default!; public string Thumb { get; set; } = default!;
/// <summary>
/// The library key representing the unique identifier
/// </summary>
[JsonProperty("key")] [JsonProperty("key")]
public string Key { get; set; } = default!; public string Key { get; set; } = default!;
[JsonProperty("type")] [JsonProperty("type")]
public string Type { get; set; } = default!; public GetAllLibrariesType Type { get; set; } = default!;
/// <summary>
/// The title of the library
/// </summary>
[JsonProperty("title")] [JsonProperty("title")]
public string Title { get; set; } = default!; public string Title { get; set; } = default!;
/// <summary>
/// The Plex agent used to match and retrieve media metadata.
/// </summary>
[JsonProperty("agent")] [JsonProperty("agent")]
public string Agent { get; set; } = default!; public string Agent { get; set; } = default!;
/// <summary>
/// UNKNOWN
/// </summary>
[JsonProperty("scanner")] [JsonProperty("scanner")]
public string Scanner { get; set; } = default!; public string Scanner { get; set; } = default!;
/// <summary>
/// The Plex library language that has been set
/// </summary>
[JsonProperty("language")] [JsonProperty("language")]
public string Language { get; set; } = default!; public string Language { get; set; } = default!;
/// <summary>
/// The universally unique identifier for the library.
/// </summary>
[JsonProperty("uuid")] [JsonProperty("uuid")]
public string Uuid { get; set; } = default!; public string Uuid { get; set; } = default!;
@@ -62,11 +98,8 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
[JsonProperty("updatedAt")] [JsonProperty("updatedAt")]
public long UpdatedAt { get; set; } = default!; public long UpdatedAt { get; set; } = default!;
/// <summary>
/// Unix epoch datetime in seconds
/// </summary>
[JsonProperty("createdAt")] [JsonProperty("createdAt")]
public long CreatedAt { get; set; } = default!; public long? CreatedAt { get; set; }
/// <summary> /// <summary>
/// Unix epoch datetime in seconds /// Unix epoch datetime in seconds
@@ -74,20 +107,31 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
[JsonProperty("scannedAt")] [JsonProperty("scannedAt")]
public long ScannedAt { get; set; } = default!; public long ScannedAt { get; set; } = default!;
/// <summary>
/// UNKNOWN
/// </summary>
[JsonProperty("content")] [JsonProperty("content")]
public bool Content { get; set; } = default!; public bool Content { get; set; } = default!;
/// <summary>
/// UNKNOWN
/// </summary>
[JsonProperty("directory")] [JsonProperty("directory")]
public bool Directory { get; set; } = default!; public bool Directory { get; set; } = default!;
/// <summary> /// <summary>
/// Unix epoch datetime in seconds /// Timestamp (in seconds) representing the last time the content was modified.<br/>
///
/// <remarks>
/// NOTE: Some Plex server have some absurd values for this field, like 8457612157633039800 so it should be int64<br/>
///
/// </remarks>
/// </summary> /// </summary>
[JsonProperty("contentChangedAt")] [JsonProperty("contentChangedAt")]
public long ContentChangedAt { get; set; } = default!; public long ContentChangedAt { get; set; } = default!;
[JsonProperty("hidden")] [JsonProperty("hidden")]
public int Hidden { get; set; } = default!; public Hidden? Hidden { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.Hidden.Disable;
[JsonProperty("Location")] [JsonProperty("Location")]
public List<GetAllLibrariesLocation> Location { get; set; } = default!; public List<GetAllLibrariesLocation> Location { get; set; } = default!;

View File

@@ -15,9 +15,15 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public class GetAllLibrariesLocation public class GetAllLibrariesLocation
{ {
/// <summary>
/// The ID of the location.
/// </summary>
[JsonProperty("id")] [JsonProperty("id")]
public int Id { get; set; } = default!; public int Id { get; set; } = default!;
/// <summary>
/// The path to the media item.
/// </summary>
[JsonProperty("path")] [JsonProperty("path")]
public string Path { get; set; } = default!; public string Path { get; set; } = default!;
} }

View File

@@ -17,16 +17,25 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public class GetAllLibrariesMediaContainer public class GetAllLibrariesMediaContainer
{ {
/// <summary>
/// Number of media items returned in this response.
/// </summary>
[JsonProperty("size")] [JsonProperty("size")]
public int Size { get; set; } = default!; public int Size { get; set; } = default!;
/// <summary>
/// Indicates whether syncing is allowed.
/// </summary>
[JsonProperty("allowSync")] [JsonProperty("allowSync")]
public bool AllowSync { get; set; } = default!; public bool AllowSync { get; set; } = default!;
/// <summary>
/// The primary title of the media container.
/// </summary>
[JsonProperty("title1")] [JsonProperty("title1")]
public string Title1 { get; set; } = default!; public string Title1 { get; set; } = default!;
[JsonProperty("Directory")] [JsonProperty("Directory")]
public List<GetAllLibrariesDirectory> Directory { get; set; } = default!; public List<GetAllLibrariesDirectory>? Directory { get; set; }
} }
} }

View File

@@ -20,6 +20,6 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
{ {
[JsonProperty("MediaContainer")] [JsonProperty("MediaContainer")]
public GetAllLibrariesMediaContainer MediaContainer { get; set; } = default!; public GetAllLibrariesMediaContainer? MediaContainer { get; set; }
} }
} }

View File

@@ -0,0 +1,68 @@
//------------------------------------------------------------------------------
// <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;
/// <summary>
/// The library type
/// </summary>
public enum GetAllLibrariesType
{
[JsonProperty("movie")]
Movie,
[JsonProperty("show")]
TvShow,
[JsonProperty("season")]
Season,
[JsonProperty("episode")]
Episode,
[JsonProperty("artist")]
Artist,
[JsonProperty("album")]
Album,
}
public static class GetAllLibrariesTypeExtension
{
public static string Value(this GetAllLibrariesType value)
{
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
}
public static GetAllLibrariesType ToEnum(this string value)
{
foreach(var field in typeof(GetAllLibrariesType).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 GetAllLibrariesType)
{
return (GetAllLibrariesType)enumVal;
}
}
}
throw new Exception($"Unknown value {value} for enum GetAllLibrariesType");
}
}
}

View File

@@ -15,6 +15,17 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public class GetLibraryDetailsRequest public class GetLibraryDetailsRequest
{ {
/// <summary>
/// Whether or not to include details for a section (types, filters, and sorts).<br/>
///
/// <remarks>
/// Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/>
///
/// </remarks>
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeDetails")]
public IncludeDetails? IncludeDetails { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeDetails.Zero;
/// <summary> /// <summary>
/// The unique key of the Plex library. <br/> /// The unique key of the Plex library. <br/>
/// ///
@@ -25,16 +36,5 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// </summary> /// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")] [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")]
public int SectionKey { get; set; } = default!; public int SectionKey { get; set; } = default!;
/// <summary>
/// Whether or not to include details for a section (types, filters, and sorts). <br/>
///
/// <remarks>
/// Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/>
///
/// </remarks>
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeDetails")]
public IncludeDetails? IncludeDetails { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeDetails.Zero;
} }
} }

View File

@@ -15,6 +15,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public class GetRefreshLibraryMetadataRequest public class GetRefreshLibraryMetadataRequest
{ {
/// <summary>
/// Force the refresh even if the library is already being refreshed.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=force")]
public Force? Force { get; set; }
/// <summary> /// <summary>
/// The unique key of the Plex library. <br/> /// The unique key of the Plex library. <br/>
/// ///
@@ -25,11 +31,5 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// </summary> /// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")] [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")]
public int SectionKey { get; set; } = default!; public int SectionKey { get; set; } = default!;
/// <summary>
/// Force the refresh even if the library is already being refreshed.
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=force")]
public Force? Force { get; set; }
} }
} }

View File

@@ -15,12 +15,6 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public class GetServerResourcesRequest public class GetServerResourcesRequest
{ {
/// <summary>
/// An opaque identifier unique to the client (UUID, serial number, or other unique device ID)
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string ClientID { get; set; } = default!;
/// <summary> /// <summary>
/// Include Https entries in the results /// Include Https entries in the results
/// </summary> /// </summary>
@@ -43,5 +37,11 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// </summary> /// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeIPv6")] [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeIPv6")]
public IncludeIPv6? IncludeIPv6 { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Disable; public IncludeIPv6? IncludeIPv6 { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Disable;
/// <summary>
/// An opaque identifier unique to the client (UUID, serial number, or other unique device ID)
/// </summary>
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string ClientID { get; set; } = default!;
} }
} }

View File

@@ -15,6 +15,16 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public class GetTopWatchedContentRequest public class GetTopWatchedContentRequest
{ {
/// <summary>
/// Adds the Guids object to the response<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeGuids")]
public long? IncludeGuids { get; set; }
/// <summary> /// <summary>
/// The type of media to retrieve or filter by.<br/> /// The type of media to retrieve or filter by.<br/>
/// ///
@@ -29,15 +39,5 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// </summary> /// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] [SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")]
public GetTopWatchedContentQueryParamType Type { get; set; } = default!; public GetTopWatchedContentQueryParamType Type { get; set; } = default!;
/// <summary>
/// Adds the Guids object to the response<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeGuids")]
public long? IncludeGuids { get; set; }
} }
} }

View File

@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <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>
/// UNKNOWN
/// </summary>
public enum Hidden
{
Disable = 0,
Enable = 1,
}
}

View File

@@ -12,7 +12,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils; using LukeHagar.PlexAPI.SDK.Utils;
/// <summary> /// <summary>
/// Whether or not to include details for a section (types, filters, and sorts). <br/> /// Whether or not to include details for a section (types, filters, and sorts).<br/>
/// ///
/// <remarks> /// <remarks>
/// Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> /// Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/>

View File

@@ -12,13 +12,13 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils; using LukeHagar.PlexAPI.SDK.Utils;
/// <summary> /// <summary>
/// An integer log level to write to the PMS log with. <br/> /// An integer log level to write to the PMS log with.<br/>
/// ///
/// <remarks> /// <remarks>
/// 0: Error <br/> /// 0: Error<br/>
/// 1: Warning <br/> /// 1: Warning<br/>
/// 2: Info <br/> /// 2: Info<br/>
/// 3: Debug <br/> /// 3: Debug<br/>
/// 4: Verbose<br/> /// 4: Verbose<br/>
/// ///
/// </remarks> /// </remarks>

View File

@@ -16,13 +16,13 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
{ {
/// <summary> /// <summary>
/// An integer log level to write to the PMS log with. <br/> /// An integer log level to write to the PMS log with.<br/>
/// ///
/// <remarks> /// <remarks>
/// 0: Error <br/> /// 0: Error<br/>
/// 1: Warning <br/> /// 1: Warning<br/>
/// 2: Info <br/> /// 2: Info<br/>
/// 3: Debug <br/> /// 3: Debug<br/>
/// 4: Verbose<br/> /// 4: Verbose<br/>
/// ///
/// </remarks> /// </remarks>

View File

@@ -12,11 +12,11 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils; using LukeHagar.PlexAPI.SDK.Utils;
/// <summary> /// <summary>
/// Force overwriting of duplicate playlists. <br/> /// Force overwriting of duplicate playlists.<br/>
/// ///
/// <remarks> /// <remarks>
/// By default, a playlist file uploaded with the same path will overwrite the existing playlist. <br/> /// By default, a playlist file uploaded with the same path will overwrite the existing playlist.<br/>
/// The `force` argument is used to disable overwriting. <br/> /// The `force` argument is used to disable overwriting.<br/>
/// If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> /// If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/>
/// ///
/// </remarks> /// </remarks>

View File

@@ -16,13 +16,13 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
{ {
/// <summary> /// <summary>
/// absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server. <br/> /// absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.<br/>
/// ///
/// <remarks> /// <remarks>
/// If the `path` argument is a directory, that path will be scanned for playlist files to be processed. <br/> /// If the `path` argument is a directory, that path will be scanned for playlist files to be processed.<br/>
/// Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it. <br/> /// Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.<br/>
/// The GUID of each playlist is based on the filename. <br/> /// The GUID of each playlist is based on the filename.<br/>
/// If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it. <br/> /// If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.<br/>
/// The GUID of each playlist is based on the filename.<br/> /// The GUID of each playlist is based on the filename.<br/>
/// ///
/// </remarks> /// </remarks>
@@ -31,11 +31,11 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public string Path { get; set; } = default!; public string Path { get; set; } = default!;
/// <summary> /// <summary>
/// Force overwriting of duplicate playlists. <br/> /// Force overwriting of duplicate playlists.<br/>
/// ///
/// <remarks> /// <remarks>
/// By default, a playlist file uploaded with the same path will overwrite the existing playlist. <br/> /// By default, a playlist file uploaded with the same path will overwrite the existing playlist.<br/>
/// The `force` argument is used to disable overwriting. <br/> /// The `force` argument is used to disable overwriting.<br/>
/// If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> /// If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/>
/// ///
/// </remarks> /// </remarks>

View File

@@ -23,11 +23,11 @@ namespace LukeHagar.PlexAPI.SDK
using System.Threading.Tasks; using System.Threading.Tasks;
/// <summary> /// <summary>
/// Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as &quot;all albums from 2017&quot;). <br/> /// Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as &quot;all albums from 2017&quot;).<br/>
/// ///
/// <remarks> /// <remarks>
/// They can be organized in (optionally nesting) folders.<br/> /// They can be organized in (optionally nesting) folders.<br/>
/// Retrieving a playlist, or its items, will trigger a refresh of its metadata. <br/> /// Retrieving a playlist, or its items, will trigger a refresh of its metadata.<br/>
/// This may cause the duration and number of items to change.<br/> /// This may cause the duration and number of items to change.<br/>
/// ///
/// </remarks> /// </remarks>
@@ -133,11 +133,11 @@ namespace LukeHagar.PlexAPI.SDK
} }
/// <summary> /// <summary>
/// Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as &quot;all albums from 2017&quot;). <br/> /// Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as &quot;all albums from 2017&quot;).<br/>
/// ///
/// <remarks> /// <remarks>
/// They can be organized in (optionally nesting) folders.<br/> /// They can be organized in (optionally nesting) folders.<br/>
/// Retrieving a playlist, or its items, will trigger a refresh of its metadata. <br/> /// Retrieving a playlist, or its items, will trigger a refresh of its metadata.<br/>
/// This may cause the duration and number of items to change.<br/> /// This may cause the duration and number of items to change.<br/>
/// ///
/// </remarks> /// </remarks>
@@ -146,10 +146,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -143,10 +143,10 @@ namespace LukeHagar.PlexAPI.SDK
}; };
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -205,11 +205,11 @@ namespace LukeHagar.PlexAPI.SDK
public ILog Log { get; } public ILog Log { get; }
/// <summary> /// <summary>
/// Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as &quot;all albums from 2017&quot;). <br/> /// Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as &quot;all albums from 2017&quot;).<br/>
/// ///
/// <remarks> /// <remarks>
/// They can be organized in (optionally nesting) folders.<br/> /// They can be organized in (optionally nesting) folders.<br/>
/// Retrieving a playlist, or its items, will trigger a refresh of its metadata. <br/> /// Retrieving a playlist, or its items, will trigger a refresh of its metadata.<br/>
/// This may cause the duration and number of items to change.<br/> /// This may cause the duration and number of items to change.<br/>
/// ///
/// </remarks> /// </remarks>
@@ -327,10 +327,10 @@ namespace LukeHagar.PlexAPI.SDK
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private int _serverIndex = 0; private int _serverIndex = 0;
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;

View File

@@ -87,10 +87,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -126,10 +126,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -80,10 +80,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -71,10 +71,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -45,10 +45,10 @@ namespace LukeHagar.PlexAPI.SDK
}; };
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -62,10 +62,10 @@ namespace LukeHagar.PlexAPI.SDK
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -59,10 +59,10 @@ namespace LukeHagar.PlexAPI.SDK
}; };
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.14.4"; private const string _sdkVersion = "0.14.9";
private const string _sdkGenVersion = "2.565.1"; private const string _sdkGenVersion = "2.566.5";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.4 2.565.1 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.9 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -105,7 +105,7 @@ catch (Exception ex)
### Server Variables ### Server Variables
The default server `https://10.10.10.47:32400` contains variables and is set to `https://10.10.10.47:32400` by default. To override default values, the following parameters are available when initializing the SDK client instance: The default server `{protocol}://{ip}:{port}` contains variables and is set to `https://10.10.10.47:32400` by default. To override default values, the following parameters are available when initializing the SDK client instance:
| Variable | Parameter | Supported Values | Default | Description | | Variable | Parameter | Supported Values | Default | Description |
| ---------- | ------------------------------------------------------- | -------------------------- | --------------- | ---------------------------------------------- | | ---------- | ------------------------------------------------------- | -------------------------- | --------------- | ---------------------------------------------- |

View File

@@ -192,7 +192,7 @@ var res = await sdk.Server.GetServerCapabilitiesAsync();
### Server Variables ### Server Variables
The default server `{protocol}://{ip}:{port}` contains variables and is set to `https://10.10.10.47:32400` by default. To override default values, the following parameters are available when initializing the SDK client instance: The default server `https://10.10.10.47:32400` contains variables and is set to `https://10.10.10.47:32400` by default. To override default values, the following parameters are available when initializing the SDK client instance:
| Variable | Parameter | Supported Values | Default | Description | | Variable | Parameter | Supported Values | Default | Description |
| ---------- | ------------------------------------------------------- | -------------------------- | --------------- | ---------------------------------------------- | | ---------- | ------------------------------------------------------- | -------------------------- | --------------- | ---------------------------------------------- |

View File

@@ -534,4 +534,34 @@ Based on:
### Generated ### Generated
- [csharp v0.14.4] . - [csharp v0.14.4] .
### Releases ### Releases
- [NuGet v0.14.4] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.14.4 - . - [NuGet v0.14.4] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.14.4 - .
## 2025-04-06 00:24:32
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.529.1 (2.566.5) https://github.com/speakeasy-api/speakeasy
### Generated
- [csharp v0.14.5] .
### Releases
- [NuGet v0.14.5] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.14.5 - .
## 2025-04-14 00:24:43
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.529.1 (2.566.5) https://github.com/speakeasy-api/speakeasy
### Generated
- [csharp v0.14.7] .
### Releases
- [NuGet v0.14.7] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.14.7 - .
## 2025-04-19 00:22:04
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.529.1 (2.566.5) https://github.com/speakeasy-api/speakeasy
### Generated
- [csharp v0.14.9] .
### Releases
- [NuGet v0.14.9] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.14.9 - .

View File

@@ -3,26 +3,26 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `AllowSync` | *bool* | :heavy_check_mark: | N/A | true | | `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `Art` | *string* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | | `Art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `Composite` | *string* | :heavy_check_mark: | N/A | /library/sections/1/composite/1705615584 | | `Composite` | *string* | :heavy_check_mark: | The relative path to the composite media item. | /library/sections/1/composite/1743824484 |
| `Filters` | *bool* | :heavy_check_mark: | N/A | true | | `Filters` | *bool* | :heavy_check_mark: | UNKNOWN | true |
| `Refreshing` | *bool* | :heavy_check_mark: | N/A | false | | `Refreshing` | *bool* | :heavy_check_mark: | Indicates whether the library is currently being refreshed or updated | true |
| `Thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/movie.png | | `Thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `Key` | *string* | :heavy_check_mark: | N/A | 1 | | `Key` | *string* | :heavy_check_mark: | The library key representing the unique identifier | 1 |
| `Type` | *string* | :heavy_check_mark: | N/A | movie | | `Type` | [GetAllLibrariesType](../../Models/Requests/GetAllLibrariesType.md) | :heavy_check_mark: | N/A | movie |
| `Title` | *string* | :heavy_check_mark: | N/A | Movies | | `Title` | *string* | :heavy_check_mark: | The title of the library | Movies |
| `Agent` | *string* | :heavy_check_mark: | N/A | tv.plex.agents.movie | | `Agent` | *string* | :heavy_check_mark: | The Plex agent used to match and retrieve media metadata. | tv.plex.agents.movie |
| `Scanner` | *string* | :heavy_check_mark: | N/A | Plex Movie | | `Scanner` | *string* | :heavy_check_mark: | UNKNOWN | Plex Movie |
| `Language` | *string* | :heavy_check_mark: | N/A | en-US | | `Language` | *string* | :heavy_check_mark: | The Plex library language that has been set | en-US |
| `Uuid` | *string* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | | `Uuid` | *string* | :heavy_check_mark: | The universally unique identifier for the library. | e69655a2-ef48-4aba-bb19-01e7d3cc34d6 |
| `UpdatedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `UpdatedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `CreatedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `CreatedAt` | *long* | :heavy_minus_sign: | N/A | 1556281940 |
| `ScannedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `ScannedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `Content` | *bool* | :heavy_check_mark: | N/A | true | | `Content` | *bool* | :heavy_check_mark: | UNKNOWN | true |
| `Directory` | *bool* | :heavy_check_mark: | N/A | true | | `Directory` | *bool* | :heavy_check_mark: | UNKNOWN | true |
| `ContentChangedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `ContentChangedAt` | *long* | :heavy_check_mark: | Timestamp (in seconds) representing the last time the content was modified.<br/>NOTE: Some Plex server have some absurd values for this field, like 8457612157633039800 so it should be int64<br/> | 9173960 |
| `Hidden` | *int* | :heavy_check_mark: | N/A | 0 | | `Hidden` | [Hidden](../../Models/Requests/Hidden.md) | :heavy_minus_sign: | N/A | 1 |
| `Location` | List<[GetAllLibrariesLocation](../../Models/Requests/GetAllLibrariesLocation.md)> | :heavy_check_mark: | N/A | | | `Location` | List<[GetAllLibrariesLocation](../../Models/Requests/GetAllLibrariesLocation.md)> | :heavy_check_mark: | N/A | |

View File

@@ -3,7 +3,7 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | | --------------------------- | --------------------------- | --------------------------- | --------------------------- | --------------------------- |
| `Id` | *int* | :heavy_check_mark: | N/A | 1 | | `Id` | *int* | :heavy_check_mark: | The ID of the location. | 1 |
| `Path` | *string* | :heavy_check_mark: | N/A | /movies | | `Path` | *string* | :heavy_check_mark: | The path to the media item. | /Movies |

View File

@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| `Size` | *int* | :heavy_check_mark: | N/A | 5 | | `Size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `AllowSync` | *bool* | :heavy_check_mark: | N/A | false | | `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `Title1` | *string* | :heavy_check_mark: | N/A | Plex Library | | `Title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
| `Directory` | List<[GetAllLibrariesDirectory](../../Models/Requests/GetAllLibrariesDirectory.md)> | :heavy_check_mark: | N/A | | | `Directory` | List<[GetAllLibrariesDirectory](../../Models/Requests/GetAllLibrariesDirectory.md)> | :heavy_minus_sign: | N/A | |

View File

@@ -7,4 +7,4 @@ The libraries available on the Server
| Field | Type | Required | Description | | Field | Type | Required | Description |
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `MediaContainer` | [GetAllLibrariesMediaContainer](../../Models/Requests/GetAllLibrariesMediaContainer.md) | :heavy_check_mark: | N/A | | `MediaContainer` | [GetAllLibrariesMediaContainer](../../Models/Requests/GetAllLibrariesMediaContainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,15 @@
# GetAllLibrariesType
The library type
## Values
| Name | Value |
| --------- | --------- |
| `Movie` | movie |
| `TvShow` | show |
| `Season` | season |
| `Episode` | episode |
| `Artist` | artist |
| `Album` | album |

View File

@@ -3,7 +3,7 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 | | `IncludeDetails` | [IncludeDetails](../../Models/Requests/IncludeDetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).<br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | |
| `IncludeDetails` | [IncludeDetails](../../Models/Requests/IncludeDetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts). <br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | | | `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |

View File

@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 | | `Force` | [Force](../../Models/Requests/Force.md) | :heavy_minus_sign: | Force the refresh even if the library is already being refreshed. | 0 |
| `Force` | [Force](../../Models/Requests/Force.md) | :heavy_minus_sign: | Force the refresh even if the library is already being refreshed. | 0 | | `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |

View File

@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| `ClientID` | *string* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
| `IncludeHttps` | [IncludeHttps](../../Models/Requests/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 | | `IncludeHttps` | [IncludeHttps](../../Models/Requests/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 |
| `IncludeRelay` | [IncludeRelay](../../Models/Requests/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results <br/>E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400<br/> | 1 | | `IncludeRelay` | [IncludeRelay](../../Models/Requests/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results <br/>E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400<br/> | 1 |
| `IncludeIPv6` | [IncludeIPv6](../../Models/Requests/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | | `IncludeIPv6` | [IncludeIPv6](../../Models/Requests/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 |
| `ClientID` | *string* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |

View File

@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Type` | [GetTopWatchedContentQueryParamType](../../Models/Requests/GetTopWatchedContentQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.<br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 | | `IncludeGuids` | *long* | :heavy_minus_sign: | Adds the Guids object to the response<br/> | 1 |
| `IncludeGuids` | *long* | :heavy_minus_sign: | Adds the Guids object to the response<br/> | 1 | | `Type` | [GetTopWatchedContentQueryParamType](../../Models/Requests/GetTopWatchedContentQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.<br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |

View File

@@ -0,0 +1,11 @@
# Hidden
UNKNOWN
## Values
| Name | Value |
| --------- | --------- |
| `Disable` | 0 |
| `Enable` | 1 |

View File

@@ -1,6 +1,6 @@
# IncludeDetails # IncludeDetails
Whether or not to include details for a section (types, filters, and sorts). Whether or not to include details for a section (types, filters, and sorts).
Only exists for backwards compatibility, media providers other than the server libraries have it on always. Only exists for backwards compatibility, media providers other than the server libraries have it on always.

View File

@@ -1,10 +1,10 @@
# Level # Level
An integer log level to write to the PMS log with. An integer log level to write to the PMS log with.
0: Error 0: Error
1: Warning 1: Warning
2: Info 2: Info
3: Debug 3: Debug
4: Verbose 4: Verbose

View File

@@ -3,8 +3,8 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `Level` | [Level](../../Models/Requests/Level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with. <br/>0: Error <br/>1: Warning <br/>2: Info <br/>3: Debug <br/>4: Verbose<br/> | | | `Level` | [Level](../../Models/Requests/Level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.<br/>0: Error<br/>1: Warning<br/>2: Info<br/>3: Debug<br/>4: Verbose<br/> | |
| `Message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message | | `Message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message |
| `Source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman | | `Source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman |

View File

@@ -1,8 +1,8 @@
# QueryParamForce # QueryParamForce
Force overwriting of duplicate playlists. Force overwriting of duplicate playlists.
By default, a playlist file uploaded with the same path will overwrite the existing playlist. By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting. The `force` argument is used to disable overwriting.
If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded. If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.

View File

@@ -3,8 +3,8 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server. <br/>If the `path` argument is a directory, that path will be scanned for playlist files to be processed. <br/>Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it. <br/>The GUID of each playlist is based on the filename. <br/>If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it. <br/>The GUID of each playlist is based on the filename.<br/> | /home/barkley/playlist.m3u | | `Path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.<br/>If the `path` argument is a directory, that path will be scanned for playlist files to be processed.<br/>Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.<br/>The GUID of each playlist is based on the filename.<br/>If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.<br/>The GUID of each playlist is based on the filename.<br/> | /home/barkley/playlist.m3u |
| `Force` | [QueryParamForce](../../Models/Requests/QueryParamForce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists. <br/>By default, a playlist file uploaded with the same path will overwrite the existing playlist. <br/>The `force` argument is used to disable overwriting. <br/>If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> | | | `Force` | [QueryParamForce](../../Models/Requests/QueryParamForce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists.<br/>By default, a playlist file uploaded with the same path will overwrite the existing playlist.<br/>The `force` argument is used to disable overwriting.<br/>If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> | |
| `SectionID` | *long* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 | | `SectionID` | *long* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 |

View File

@@ -165,14 +165,14 @@ var res = await sdk.Library.GetAllLibrariesAsync();
## Library Details Endpoint ## Library Details Endpoint
This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself. This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself.
The details include: The details include:
### Directories ### Directories
Organized into three categories: Organized into three categories:
- **Primary Directories**: - **Primary Directories**:
- Used in some clients for quick access to media subsets (e.g., "All", "On Deck"). - Used in some clients for quick access to media subsets (e.g., "All", "On Deck").
- Most can be replicated via media queries. - Most can be replicated via media queries.
- Customizable by users. - Customizable by users.
@@ -223,10 +223,10 @@ var res = await sdk.Library.GetLibraryDetailsAsync(
### Parameters ### Parameters
| Parameter | Type | Required | Description | Example | | Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 | | `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |
| `IncludeDetails` | [IncludeDetails](../../Models/Requests/IncludeDetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts). <br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | | | `IncludeDetails` | [IncludeDetails](../../Models/Requests/IncludeDetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).<br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | |
### Response ### Response

View File

@@ -37,11 +37,11 @@ var res = await sdk.Log.LogLineAsync(
### Parameters ### Parameters
| Parameter | Type | Required | Description | Example | | Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `Level` | [Level](../../Models/Requests/Level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with. <br/>0: Error <br/>1: Warning <br/>2: Info <br/>3: Debug <br/>4: Verbose<br/> | | | `Level` | [Level](../../Models/Requests/Level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.<br/>0: Error<br/>1: Warning<br/>2: Info<br/>3: Debug<br/>4: Verbose<br/> | |
| `Message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message | | `Message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message |
| `Source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman | | `Source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman |
### Response ### Response
@@ -57,13 +57,13 @@ var res = await sdk.Log.LogLineAsync(
## LogMultiLine ## LogMultiLine
This endpoint allows for the batch addition of log entries to the main Plex Media Server log. This endpoint allows for the batch addition of log entries to the main Plex Media Server log.
It accepts a text/plain request body, where each line represents a distinct log entry. It accepts a text/plain request body, where each line represents a distinct log entry.
Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as 'level', 'message', and 'source'. Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as 'level', 'message', and 'source'.
Log entries are separated by a newline character (`\n`). Log entries are separated by a newline character (`\n`).
Each entry's parameters should be URL-encoded to ensure accurate parsing and handling of special characters. Each entry's parameters should be URL-encoded to ensure accurate parsing and handling of special characters.
This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests. This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests.
The 'level' parameter specifies the log entry's severity or importance, with the following integer values: The 'level' parameter specifies the log entry's severity or importance, with the following integer values:
- `0`: Error - Critical issues that require immediate attention. - `0`: Error - Critical issues that require immediate attention.

View File

@@ -3,9 +3,9 @@
## Overview ## Overview
Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as "all albums from 2017"). Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as "all albums from 2017").
They can be organized in (optionally nesting) folders. They can be organized in (optionally nesting) folders.
Retrieving a playlist, or its items, will trigger a refresh of its metadata. Retrieving a playlist, or its items, will trigger a refresh of its metadata.
This may cause the duration and number of items to change. This may cause the duration and number of items to change.
@@ -370,11 +370,11 @@ var res = await sdk.Playlists.UploadPlaylistAsync(
### Parameters ### Parameters
| Parameter | Type | Required | Description | Example | | Parameter | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server. <br/>If the `path` argument is a directory, that path will be scanned for playlist files to be processed. <br/>Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it. <br/>The GUID of each playlist is based on the filename. <br/>If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it. <br/>The GUID of each playlist is based on the filename.<br/> | /home/barkley/playlist.m3u | | `Path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.<br/>If the `path` argument is a directory, that path will be scanned for playlist files to be processed.<br/>Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.<br/>The GUID of each playlist is based on the filename.<br/>If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.<br/>The GUID of each playlist is based on the filename.<br/> | /home/barkley/playlist.m3u |
| `Force` | [QueryParamForce](../../Models/Requests/QueryParamForce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists. <br/>By default, a playlist file uploaded with the same path will overwrite the existing playlist. <br/>The `force` argument is used to disable overwriting. <br/>If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> | | | `Force` | [QueryParamForce](../../Models/Requests/QueryParamForce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists.<br/>By default, a playlist file uploaded with the same path will overwrite the existing playlist.<br/>The `force` argument is used to disable overwriting.<br/>If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> | |
| `SectionID` | *long* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 | | `SectionID` | *long* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 |
### Response ### Response