Compare commits

..

4 Commits

Author SHA1 Message Date
speakeasybot
55b5c2b3dd ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.542.1 2025-05-05 00:26:49 +00:00
speakeasybot
67a53e72d5 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.541.2 2025-05-01 00:28:06 +00:00
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
90 changed files with 1387 additions and 732 deletions

3
.gitignore vendored
View File

@@ -1,3 +1,6 @@
.DS_Store
**/.speakeasy/temp/
**/.speakeasy/logs/
obj/ obj/
bin/ bin/
debug/ debug/

File diff suppressed because one or more lines are too long

View File

@@ -11,11 +11,12 @@ generation:
parameterOrderingFeb2024: true parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true requestResponseComponentNamesFeb2024: true
securityFeb2025: false securityFeb2025: false
sharedErrorComponentsApr2025: false
auth: auth:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false oAuth2PasswordEnabled: false
csharp: csharp:
version: 0.14.5 version: 0.14.11
additionalDependencies: [] additionalDependencies: []
author: LukeHagar author: LukeHagar
clientServerStatusCodesAsErrors: true clientServerStatusCodesAsErrors: true

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.529.1 speakeasyVersion: 1.542.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:ea508e3da23b283f47aeb4384d6b3ab374a27bdffb8d8d8376cedbad3ad77a06 sourceRevisionDigest: sha256:37adc934a79841fb00cfe6ed569f5b1c88534b20202ecbde64b4e84828cee22a
sourceBlobDigest: sha256:c210adbd02b0213b9e6f95ffc27f60ec38f8f9040137d55ccf2b650d92ab0ff5 sourceBlobDigest: sha256:ffb5b8d288111a763e4d035c8c9e37f5c89690d146b7297493b43a71d8298e6c
tags: tags:
- latest - latest
- speakeasy-sdk-regen-1743899088 - speakeasy-sdk-regen-1746404742
targets: targets:
plexcsharp: plexcsharp:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:ea508e3da23b283f47aeb4384d6b3ab374a27bdffb8d8d8376cedbad3ad77a06 sourceRevisionDigest: sha256:37adc934a79841fb00cfe6ed569f5b1c88534b20202ecbde64b4e84828cee22a
sourceBlobDigest: sha256:c210adbd02b0213b9e6f95ffc27f60ec38f8f9040137d55ccf2b650d92ab0ff5 sourceBlobDigest: sha256:ffb5b8d288111a763e4d035c8c9e37f5c89690d146b7297493b43a71d8298e6c
codeSamplesNamespace: code-samples-csharp-plexcsharp codeSamplesNamespace: code-samples-csharp-plexcsharp
codeSamplesRevisionDigest: sha256:6e5180b8d4bad642901a272cb9ecb38cadf5c427bfefc6c4feaff9659756bb40 codeSamplesRevisionDigest: sha256:7cb363d64d3faf7e2bf27b77c7bd75d20aa754c1d67c7d67122dd4fd190db66c
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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5</Version> <Version>0.14.11</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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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

@@ -0,0 +1,33 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
/// <summary>
/// Attributes associated with the marker.
/// </summary>
public class Attributes
{
/// <summary>
/// The identifier for the attributes.
/// </summary>
[JsonProperty("id")]
public long Id { get; set; } = default!;
/// <summary>
/// The version number of the marker attributes.
/// </summary>
[JsonProperty("version")]
public long? Version { get; set; }
}
}

View File

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

View File

@@ -19,7 +19,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
{ {
[JsonProperty("id")] [JsonProperty("id")]
public long Id { get; set; } = default!; public int Id { get; set; } = default!;
/// <summary> /// <summary>
/// The country of origin of this media item /// The country of origin of this media item

View File

@@ -0,0 +1,24 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
public class Extras
{
/// <summary>
/// The size of the extras.
/// </summary>
[JsonProperty("size")]
public long? Size { get; set; }
}
}

View File

@@ -120,13 +120,21 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public bool Directory { get; set; } = default!; public bool Directory { get; set; } = default!;
/// <summary> /// <summary>
/// The number of seconds since the content was last changed relative to now. /// 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 int ContentChangedAt { get; set; } = default!; public long ContentChangedAt { get; set; } = default!;
/// <summary>
/// The Plex library visibility setting
/// </summary>
[JsonProperty("hidden")] [JsonProperty("hidden")]
public Hidden? Hidden { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.Hidden.Disable; public Hidden? Hidden { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.Hidden.Visible;
[JsonProperty("Location")] [JsonProperty("Location")]
public List<GetAllLibrariesLocation> Location { get; set; } = default!; public List<GetAllLibrariesLocation> Location { get; set; } = default!;

View File

@@ -9,6 +9,7 @@
#nullable enable #nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests namespace LukeHagar.PlexAPI.SDK.Models.Requests
{ {
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils; using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json; using Newtonsoft.Json;
@@ -22,10 +23,23 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public long Id { get; set; } = default!; public long Id { get; set; } = default!;
/// <summary> /// <summary>
/// Stream type (1=video, 2=audio, 3=subtitle). /// Stream type:<br/>
///
/// <remarks>
/// - 1 = video<br/>
/// - 2 = audio<br/>
/// - 3 = subtitle<br/>
///
/// </remarks>
/// </summary> /// </summary>
[JsonProperty("streamType")] [JsonProperty("streamType")]
public int StreamType { get; set; } = default!; public GetAllMediaLibraryStreamType StreamType { get; set; } = default!;
/// <summary>
/// Format of the stream (e.g., srt).
/// </summary>
[JsonProperty("format")]
public string? Format { get; set; }
/// <summary> /// <summary>
/// Indicates if this stream is default. /// Indicates if this stream is default.
@@ -43,7 +57,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// Index of the stream. /// Index of the stream.
/// </summary> /// </summary>
[JsonProperty("index")] [JsonProperty("index")]
public int Index { get; set; } = default!; public int? Index { get; set; }
/// <summary> /// <summary>
/// Bitrate of the stream. /// Bitrate of the stream.
@@ -186,6 +200,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
[JsonProperty("frameRate")] [JsonProperty("frameRate")]
public float? FrameRate { get; set; } public float? FrameRate { get; set; }
/// <summary>
/// Key to access this stream part.
/// </summary>
[JsonProperty("key")]
public string? Key { get; set; }
/// <summary> /// <summary>
/// Height of the video stream. /// Height of the video stream.
/// </summary> /// </summary>

View File

@@ -0,0 +1,31 @@
//------------------------------------------------------------------------------
// <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>
/// Stream type:<br/>
///
/// <remarks>
/// - 1 = video<br/>
/// - 2 = audio<br/>
/// - 3 = subtitle<br/>
///
/// </remarks>
/// </summary>
public enum GetAllMediaLibraryStreamType
{
Video = 1,
Audio = 2,
Subtitle = 3,
}
}

View File

@@ -16,7 +16,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
{ {
/// <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,25 +12,22 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils; using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json; using Newtonsoft.Json;
/// <summary>
/// The filter query string for country media items.
/// </summary>
public class GetMediaMetaDataCountry public class GetMediaMetaDataCountry
{ {
/// <summary>
/// The unique country identifier.
/// </summary>
[JsonProperty("id")] [JsonProperty("id")]
public int Id { get; set; } = default!; public int Id { get; set; } = default!;
/// <summary> /// <summary>
/// The filter string for the country. /// The country of origin of this media item
/// </summary>
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
/// <summary>
/// The country name.
/// </summary> /// </summary>
[JsonProperty("tag")] [JsonProperty("tag")]
public string Tag { get; set; } = default!; public string Tag { get; set; } = default!;
[JsonProperty("filter")]
public string? Filter { get; set; }
} }
} }

View File

@@ -16,37 +16,31 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
{ {
/// <summary> /// <summary>
/// The unique role identifier. /// Unique identifier for the director.
/// </summary> /// </summary>
[JsonProperty("id")] [JsonProperty("id")]
public long Id { get; set; } = default!; public int Id { get; set; } = default!;
/// <summary> /// <summary>
/// The filter string for the role. /// The role of Director
/// </summary>
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
/// <summary>
/// The actor&apos;s name.
/// </summary> /// </summary>
[JsonProperty("tag")] [JsonProperty("tag")]
public string Tag { get; set; } = default!; public string Tag { get; set; } = default!;
/// <summary> /// <summary>
/// A key associated with the actor tag. /// The filter string used to query this director.
/// </summary>
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
/// <summary>
/// A unique key associated with the director&apos;s tag, used for internal identification.
/// </summary> /// </summary>
[JsonProperty("tagKey")] [JsonProperty("tagKey")]
public string TagKey { get; set; } = default!; public string? TagKey { get; set; }
/// <summary> /// <summary>
/// The character name or role. /// The URL of the thumbnail image for the director.
/// </summary>
[JsonProperty("role")]
public string? Role { get; set; }
/// <summary>
/// URL for the role thumbnail image.
/// </summary> /// </summary>
[JsonProperty("thumb")] [JsonProperty("thumb")]
public string? Thumb { get; set; } public string? Thumb { get; set; }

View File

@@ -12,25 +12,26 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils; using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json; using Newtonsoft.Json;
/// <summary>
/// The filter query string for similar items.
/// </summary>
public class GetMediaMetaDataGenre public class GetMediaMetaDataGenre
{ {
/// <summary>
/// The unique genre identifier.
/// </summary>
[JsonProperty("id")] [JsonProperty("id")]
public long Id { get; set; } = default!; public long Id { get; set; } = default!;
/// <summary> /// <summary>
/// The filter string for the genre. /// The genre name of this media-item<br/>
/// </summary> ///
[JsonProperty("filter")] /// <remarks>
public string Filter { get; set; } = default!; ///
/// </remarks>
/// <summary>
/// The genre name.
/// </summary> /// </summary>
[JsonProperty("tag")] [JsonProperty("tag")]
public string Tag { get; set; } = default!; public string Tag { get; set; } = default!;
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
} }
} }

View File

@@ -9,27 +9,19 @@
#nullable enable #nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests namespace LukeHagar.PlexAPI.SDK.Models.Requests
{ {
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils; using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json; using Newtonsoft.Json;
public class GetMediaMetaDataImage public class GetMediaMetaDataImage
{ {
/// <summary>
/// Alternate text for the image.
/// </summary>
[JsonProperty("alt")] [JsonProperty("alt")]
public string Alt { get; set; } = default!; public string Alt { get; set; } = default!;
/// <summary>
/// The type of image (e.g., coverPoster, background, clearLogo).
/// </summary>
[JsonProperty("type")] [JsonProperty("type")]
public string Type { get; set; } = default!; public GetMediaMetaDataLibraryType Type { get; set; } = default!;
/// <summary>
/// The URL of the image.
/// </summary>
[JsonProperty("url")] [JsonProperty("url")]
public string Url { get; set; } = default!; public string Url { get; set; } = default!;
} }

View File

@@ -0,0 +1,61 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System;
public enum GetMediaMetaDataLibraryType
{
[JsonProperty("coverPoster")]
CoverPoster,
[JsonProperty("background")]
Background,
[JsonProperty("snapshot")]
Snapshot,
[JsonProperty("clearLogo")]
ClearLogo,
}
public static class GetMediaMetaDataLibraryTypeExtension
{
public static string Value(this GetMediaMetaDataLibraryType value)
{
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
}
public static GetMediaMetaDataLibraryType ToEnum(this string value)
{
foreach(var field in typeof(GetMediaMetaDataLibraryType).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 GetMediaMetaDataLibraryType)
{
return (GetMediaMetaDataLibraryType)enumVal;
}
}
}
throw new Exception($"Unknown value {value} for enum GetMediaMetaDataLibraryType");
}
}
}

View File

@@ -15,254 +15,165 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using NodaTime; using NodaTime;
using System.Collections.Generic; using System.Collections.Generic;
/// <summary>
/// Unknown<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
public class GetMediaMetaDataMetadata public class GetMediaMetaDataMetadata
{ {
/// <summary> /// <summary>
/// The rating key of the metadata item. /// The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API.
/// </summary> /// </summary>
[JsonProperty("ratingKey")] [JsonProperty("ratingKey")]
public string RatingKey { get; set; } = default!; public string RatingKey { get; set; } = default!;
/// <summary> /// <summary>
/// The rating key of the parent of this metadata item. /// The unique key for the media item.
/// </summary>
[JsonProperty("parentRatingKey")]
public string? ParentRatingKey { get; set; }
/// <summary>
/// The rating key of the grandparent of this metadata item.
/// </summary>
[JsonProperty("grandparentRatingKey")]
public string? GrandparentRatingKey { get; set; }
/// <summary>
/// A GUID identifying the parent entity (e.g., season) for the item.
/// </summary>
[JsonProperty("parentGuid")]
public string? ParentGuid { get; set; }
/// <summary>
/// A GUID identifying the grandparent entity (e.g., show).
/// </summary>
[JsonProperty("grandparentGuid")]
public string? GrandparentGuid { get; set; }
/// <summary>
/// A URL-friendly identifier (slug) for the grandparent entity.
/// </summary>
[JsonProperty("grandparentSlug")]
public string? GrandparentSlug { get; set; }
/// <summary>
/// A key identifying the grandparent metadata in the library.
/// </summary>
[JsonProperty("grandparentKey")]
public string? GrandparentKey { get; set; }
/// <summary>
/// A key identifying the parent metadata in the library.
/// </summary>
[JsonProperty("parentKey")]
public string? ParentKey { get; set; }
/// <summary>
/// The API key to access metadata details.
/// </summary> /// </summary>
[JsonProperty("key")] [JsonProperty("key")]
public string Key { get; set; } = default!; public string Key { get; set; } = default!;
/// <summary> /// <summary>
/// The globally unique identifier for the item. /// The globally unique identifier for the media item.
/// </summary> /// </summary>
[JsonProperty("guid")] [JsonProperty("guid")]
public string Guid { get; set; } = default!; public string Guid { get; set; } = default!;
/// <summary> /// <summary>
/// A URL-friendly identifier for the item. /// A URLfriendly version of the media title.
/// </summary> /// </summary>
[JsonProperty("slug")] [JsonProperty("slug")]
public string? Slug { get; set; } public string Slug { get; set; } = default!;
/// <summary> /// <summary>
/// The studio that produced the content. /// The studio that produced the media item.
/// </summary> /// </summary>
[JsonProperty("studio")] [JsonProperty("studio")]
public string? Studio { get; set; } public string? Studio { get; set; }
/// <summary>
/// The type of content (e.g., show, movie).
/// </summary>
[JsonProperty("type")] [JsonProperty("type")]
public string Type { get; set; } = default!; public GetMediaMetaDataType Type { get; set; } = default!;
/// <summary> /// <summary>
/// The title of the content. /// The title of the media item.
/// </summary> /// </summary>
[JsonProperty("title")] [JsonProperty("title")]
public string Title { get; set; } = default!; public string Title { get; set; } = default!;
/// <summary> /// <summary>
/// The original title of the content. /// The sort title used for ordering media items.
/// </summary> /// </summary>
[JsonProperty("originalTitle")] [JsonProperty("titleSort")]
public string? OriginalTitle { get; set; } public string TitleSort { get; set; } = default!;
/// <summary> /// <summary>
/// The title of the library section. /// The content rating for the media item.
/// </summary>
[JsonProperty("librarySectionTitle")]
public string LibrarySectionTitle { get; set; } = default!;
/// <summary>
/// The ID of the library section.
/// </summary>
[JsonProperty("librarySectionID")]
public long LibrarySectionID { get; set; } = default!;
/// <summary>
/// The key of the library section.
/// </summary>
[JsonProperty("librarySectionKey")]
public string LibrarySectionKey { get; set; } = default!;
/// <summary>
/// The content rating (e.g., TV-MA).
/// </summary> /// </summary>
[JsonProperty("contentRating")] [JsonProperty("contentRating")]
public string? ContentRating { get; set; } public string? ContentRating { get; set; }
/// <summary> /// <summary>
/// A summary of the content. /// A synopsis of the media item.
/// </summary> /// </summary>
[JsonProperty("summary")] [JsonProperty("summary")]
public string Summary { get; set; } = default!; public string Summary { get; set; } = default!;
/// <summary> /// <summary>
/// The index or order of the item. /// The critic rating for the media item.
/// </summary>
[JsonProperty("index")]
public long? Index { get; set; }
/// <summary>
/// The title of the grandparent entity (typically the show&apos;s title).
/// </summary>
[JsonProperty("grandparentTitle")]
public string? GrandparentTitle { get; set; }
/// <summary>
/// The title of the parent entity (typically the season&apos;s title).
/// </summary>
[JsonProperty("parentTitle")]
public string? ParentTitle { get; set; }
/// <summary>
/// The audience rating for the content.
/// </summary>
[JsonProperty("audienceRating")]
public float? AudienceRating { get; set; }
/// <summary>
/// The number of times the item has been viewed.
/// </summary>
[JsonProperty("viewCount")]
public long? ViewCount { get; set; }
/// <summary>
/// The number of times the item has been skipped.
/// </summary>
[JsonProperty("skipCount")]
public long? SkipCount { get; set; }
/// <summary>
/// Unix timestamp of when the item was last viewed.
/// </summary>
[JsonProperty("lastViewedAt")]
public long? LastViewedAt { get; set; }
/// <summary>
/// The release year.
/// </summary>
[JsonProperty("year")]
public int Year { get; set; } = default!;
/// <summary>
/// The general rating
/// </summary> /// </summary>
[JsonProperty("rating")] [JsonProperty("rating")]
public float? Rating { get; set; } public float Rating { get; set; } = default!;
/// <summary> /// <summary>
/// The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image). /// The audience rating for the media item.
/// </summary> /// </summary>
[JsonProperty("ratingImage")] [JsonProperty("audienceRating")]
public string? RatingImage { get; set; } public double AudienceRating { get; set; } = default!;
/// <summary> /// <summary>
/// The tagline of the content. /// The release year of the media item.
/// </summary>
[JsonProperty("year")]
public int? Year { get; set; }
/// <summary>
/// A brief tagline for the media item.
/// </summary> /// </summary>
[JsonProperty("tagline")] [JsonProperty("tagline")]
public string? Tagline { get; set; } public string Tagline { get; set; } = default!;
[JsonProperty("chapterSource")]
public string? ChapterSource { get; set; }
[JsonProperty("primaryExtraKey")]
public string? PrimaryExtraKey { get; set; }
/// <summary> /// <summary>
/// URL of the thumbnail image. /// The thumbnail image URL for the media item.
/// </summary> /// </summary>
[JsonProperty("thumb")] [JsonProperty("thumb")]
public string Thumb { get; set; } = default!; public string Thumb { get; set; } = default!;
/// <summary> /// <summary>
/// URL of the art image. /// The art image URL for the media item.
/// </summary> /// </summary>
[JsonProperty("art")] [JsonProperty("art")]
public string Art { get; set; } = default!; public string Art { get; set; } = default!;
/// <summary> /// <summary>
/// URL of the theme image. /// The theme URL for the media item.
/// </summary> /// </summary>
[JsonProperty("theme")] [JsonProperty("theme")]
public string? Theme { get; set; } public string Theme { get; set; } = default!;
/// <summary> /// <summary>
/// Duration of the content in milliseconds. /// The index position of the media item.
/// </summary>
[JsonProperty("index")]
public int Index { get; set; } = default!;
/// <summary>
/// The number of leaf items (end nodes) under this media item.
/// </summary>
[JsonProperty("leafCount")]
public int? LeafCount { get; set; }
/// <summary>
/// The number of leaf items that have been viewed.
/// </summary>
[JsonProperty("viewedLeafCount")]
public int? ViewedLeafCount { get; set; }
/// <summary>
/// The number of child items associated with this media item.
/// </summary>
[JsonProperty("childCount")]
public int ChildCount { get; set; } = default!;
/// <summary>
/// The total number of seasons (for TV shows).
/// </summary>
[JsonProperty("seasonCount")]
public int SeasonCount { get; set; } = default!;
/// <summary>
/// The duration of the media item in milliseconds.
/// </summary> /// </summary>
[JsonProperty("duration")] [JsonProperty("duration")]
public int Duration { get; set; } = default!; public int Duration { get; set; } = default!;
/// <summary> /// <summary>
/// The original release date. /// The original release date of the media item.
/// </summary> /// </summary>
[JsonProperty("originallyAvailableAt")] [JsonProperty("originallyAvailableAt")]
public LocalDate? OriginallyAvailableAt { get; set; } public LocalDate OriginallyAvailableAt { get; set; } = default!;
/// <summary>
/// The total number of episodes (or leaves).
/// </summary>
[JsonProperty("leafCount")]
public long? LeafCount { get; set; }
/// <summary>
/// The number of episodes that have been viewed.
/// </summary>
[JsonProperty("viewedLeafCount")]
public long? ViewedLeafCount { get; set; }
/// <summary>
/// The number of child items.
/// </summary>
[JsonProperty("childCount")]
public int? ChildCount { get; set; }
[JsonProperty("addedAt")] [JsonProperty("addedAt")]
public long AddedAt { get; set; } = default!; public long AddedAt { get; set; } = default!;
/// <summary>
/// Unix epoch datetime in seconds
/// </summary>
[JsonProperty("updatedAt")] [JsonProperty("updatedAt")]
public long UpdatedAt { get; set; } = default!; public long? UpdatedAt { get; set; }
/// <summary> /// <summary>
/// The URL for the audience rating image. /// The URL for the audience rating image.
@@ -271,99 +182,231 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public string? AudienceRatingImage { get; set; } public string? AudienceRatingImage { get; set; }
/// <summary> /// <summary>
/// The index number of the parent entity, which could indicate its order or position. /// The source from which chapter data is derived.
/// </summary> /// </summary>
[JsonProperty("parentIndex")] [JsonProperty("chapterSource")]
public long? ParentIndex { get; set; } public string? ChapterSource { get; set; }
/// <summary> /// <summary>
/// The URL of the parent&apos;s thumbnail image. /// The primary extra key associated with this media item.
/// </summary> /// </summary>
[JsonProperty("parentThumb")] [JsonProperty("primaryExtraKey")]
public string? ParentThumb { get; set; } public string? PrimaryExtraKey { get; set; }
/// <summary> /// <summary>
/// The URL of the grandparent&apos;s thumbnail image. /// The original title of the media item (if different).
/// </summary>
[JsonProperty("originalTitle")]
public string? OriginalTitle { get; set; }
/// <summary>
/// The rating key of the parent media item.
/// </summary>
[JsonProperty("parentRatingKey")]
public string? ParentRatingKey { get; set; }
/// <summary>
/// The rating key of the grandparent media item.
/// </summary>
[JsonProperty("grandparentRatingKey")]
public string? GrandparentRatingKey { get; set; }
/// <summary>
/// The GUID of the parent media item.
/// </summary>
[JsonProperty("parentGuid")]
public string? ParentGuid { get; set; }
/// <summary>
/// The GUID of the grandparent media item.
/// </summary>
[JsonProperty("grandparentGuid")]
public string? GrandparentGuid { get; set; }
/// <summary>
/// The slug for the grandparent media item.
/// </summary>
[JsonProperty("grandparentSlug")]
public string? GrandparentSlug { get; set; }
/// <summary>
/// The key of the grandparent media item.
/// </summary>
[JsonProperty("grandparentKey")]
public string? GrandparentKey { get; set; }
/// <summary>
/// The key of the parent media item.
/// </summary>
[JsonProperty("parentKey")]
public string? ParentKey { get; set; }
/// <summary>
/// The title of the grandparent media item.
/// </summary>
[JsonProperty("grandparentTitle")]
public string? GrandparentTitle { get; set; }
/// <summary>
/// The thumbnail URL for the grandparent media item.
/// </summary> /// </summary>
[JsonProperty("grandparentThumb")] [JsonProperty("grandparentThumb")]
public string? GrandparentThumb { get; set; } public string? GrandparentThumb { get; set; }
/// <summary> /// <summary>
/// The URL of the grandparent&apos;s art image. /// The theme URL for the grandparent media item.
/// </summary>
[JsonProperty("grandparentTheme")]
public string? GrandparentTheme { get; set; }
/// <summary>
/// The art URL for the grandparent media item.
/// </summary> /// </summary>
[JsonProperty("grandparentArt")] [JsonProperty("grandparentArt")]
public string? GrandparentArt { get; set; } public string? GrandparentArt { get; set; }
/// <summary>
/// The title of the parent media item.
/// </summary>
[JsonProperty("parentTitle")]
public string? ParentTitle { get; set; }
/// <summary>
/// The index position of the parent media item.
/// </summary>
[JsonProperty("parentIndex")]
public int? ParentIndex { get; set; }
/// <summary>
/// The thumbnail URL for the parent media item.
/// </summary>
[JsonProperty("parentThumb")]
public string? ParentThumb { get; set; }
/// <summary>
/// The URL for the rating image.
/// </summary>
[JsonProperty("ratingImage")]
public string? RatingImage { get; set; }
/// <summary>
/// The number of times this media item has been viewed.
/// </summary>
[JsonProperty("viewCount")]
public int? ViewCount { get; set; }
/// <summary>
/// The current playback offset (in milliseconds).
/// </summary>
[JsonProperty("viewOffset")]
public int? ViewOffset { get; set; }
/// <summary>
/// The number of times this media item has been skipped.
/// </summary>
[JsonProperty("skipCount")]
public int? SkipCount { get; set; }
/// <summary>
/// A classification that further describes the type of media item. For example, &apos;clip&apos; indicates that the item is a short video clip.
/// </summary>
[JsonProperty("subtype")]
public string? Subtype { get; set; }
/// <summary>
/// The Unix timestamp representing the last time the item was rated.
/// </summary>
[JsonProperty("lastRatedAt")]
public long? LastRatedAt { get; set; }
/// <summary>
/// The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, &apos;epoch,local&apos; means both epoch and local time formats are available).
/// </summary>
[JsonProperty("createdAtAccuracy")]
public string? CreatedAtAccuracy { get; set; }
/// <summary>
/// The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC.
/// </summary>
[JsonProperty("createdAtTZOffset")]
public string? CreatedAtTZOffset { get; set; }
/// <summary>
/// Unix timestamp for when the media item was last viewed.
/// </summary>
[JsonProperty("lastViewedAt")]
public int? LastViewedAt { get; set; }
/// <summary>
/// The rating provided by a user for the item. This value is expressed as a decimal number.
/// </summary>
[JsonProperty("userRating")]
public float? UserRating { get; set; }
[JsonProperty("Image")]
public List<GetMediaMetaDataImage>? Image { get; set; }
[JsonProperty("UltraBlurColors")]
public GetMediaMetaDataUltraBlurColors? UltraBlurColors { get; set; }
/// <summary>
/// The identifier for the library section.
/// </summary>
[JsonProperty("librarySectionID")]
public long LibrarySectionID { get; set; } = default!;
/// <summary>
/// The title of the library section.
/// </summary>
[JsonProperty("librarySectionTitle")]
public string LibrarySectionTitle { get; set; } = default!;
/// <summary>
/// The key corresponding to the library section.
/// </summary>
[JsonProperty("librarySectionKey")]
public string LibrarySectionKey { get; set; } = default!;
[JsonProperty("Media")] [JsonProperty("Media")]
public List<GetMediaMetaDataMedia>? Media { get; set; } public List<GetMediaMetaDataMedia>? Media { get; set; }
/// <summary>
/// An array of image objects.
/// </summary>
[JsonProperty("Image")]
public List<GetMediaMetaDataImage> Image { get; set; } = default!;
[JsonProperty("UltraBlurColors")]
public GetMediaMetaDataUltraBlurColors UltraBlurColors { get; set; } = default!;
/// <summary>
/// An array of genre tags.
/// </summary>
[JsonProperty("Genre")] [JsonProperty("Genre")]
public List<GetMediaMetaDataGenre>? Genre { get; set; } public List<GetMediaMetaDataGenre>? Genre { get; set; }
/// <summary>
/// An array of country tags.
/// </summary>
[JsonProperty("Country")] [JsonProperty("Country")]
public List<GetMediaMetaDataCountry>? Country { get; set; } public List<GetMediaMetaDataCountry>? Country { get; set; }
/// <summary>
/// An array of GUID objects.
/// </summary>
[JsonProperty("Guid")]
public List<GetMediaMetaDataGuids>? Guids { get; set; }
/// <summary>
/// An array of rating objects.
/// </summary>
[JsonProperty("Rating")]
public List<Ratings>? Ratings { get; set; }
/// <summary>
/// An array of Actor roles.
/// </summary>
[JsonProperty("Role")]
public List<GetMediaMetaDataRole>? Role { get; set; }
/// <summary>
/// An array of Director roles.
/// </summary>
[JsonProperty("Director")] [JsonProperty("Director")]
public List<GetMediaMetaDataDirector>? Director { get; set; } public List<GetMediaMetaDataDirector>? Director { get; set; }
/// <summary>
/// An array of Writer roles.
/// </summary>
[JsonProperty("Writer")] [JsonProperty("Writer")]
public List<GetMediaMetaDataWriter>? Writer { get; set; } public List<GetMediaMetaDataWriter>? Writer { get; set; }
/// <summary>
/// An array of Writer roles.
/// </summary>
[JsonProperty("Producer")] [JsonProperty("Producer")]
public List<GetMediaMetaDataProducer>? Producer { get; set; } public List<GetMediaMetaDataProducer>? Producer { get; set; }
/// <summary> [JsonProperty("Role")]
/// An array of similar content objects. public List<GetMediaMetaDataRole>? Role { get; set; }
/// </summary>
[JsonProperty("Guid")]
public List<GetMediaMetaDataGuids>? Guids { get; set; }
[JsonProperty("Rating")]
public List<Ratings>? Ratings { get; set; }
[JsonProperty("Similar")] [JsonProperty("Similar")]
public List<GetMediaMetaDataSimilar>? Similar { get; set; } public List<GetMediaMetaDataSimilar>? Similar { get; set; }
/// <summary>
/// An array of location objects.
/// </summary>
[JsonProperty("Location")] [JsonProperty("Location")]
public List<GetMediaMetaDataLocation>? Location { get; set; } public List<GetMediaMetaDataLocation>? Location { get; set; }
[JsonProperty("Chapter")]
public List<Chapter>? Chapter { get; set; }
[JsonProperty("Marker")]
public List<Marker>? Marker { get; set; }
[JsonProperty("Extras")]
public Extras? Extras { get; set; }
} }
} }

View File

@@ -16,37 +16,37 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
{ {
/// <summary> /// <summary>
/// The unique role identifier. /// Unique identifier for the actor or role.
/// </summary> /// </summary>
[JsonProperty("id")] [JsonProperty("id")]
public long Id { get; set; } = default!; public long Id { get; set; } = default!;
/// <summary> /// <summary>
/// The filter string for the role. /// The display tag for the actor (typically the actor&apos;s name).
/// </summary>
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
/// <summary>
/// The actor&apos;s name.
/// </summary> /// </summary>
[JsonProperty("tag")] [JsonProperty("tag")]
public string Tag { get; set; } = default!; public string Tag { get; set; } = default!;
/// <summary> /// <summary>
/// A key associated with the actor tag. /// The role played by the actor in the media item.
/// </summary>
[JsonProperty("tagKey")]
public string TagKey { get; set; } = default!;
/// <summary>
/// The character name or role.
/// </summary> /// </summary>
[JsonProperty("role")] [JsonProperty("role")]
public string? Role { get; set; } public string? Role { get; set; }
/// <summary> /// <summary>
/// URL for the role thumbnail image. /// The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.
/// </summary>
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
/// <summary>
/// A unique key associated with the actor&apos;s tag, used for internal identification.
/// </summary>
[JsonProperty("tagKey")]
public string? TagKey { get; set; }
/// <summary>
/// The URL of the thumbnail image for the actor.
/// </summary> /// </summary>
[JsonProperty("thumb")] [JsonProperty("thumb")]
public string? Thumb { get; set; } public string? Thumb { get; set; }

View File

@@ -9,6 +9,7 @@
#nullable enable #nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests namespace LukeHagar.PlexAPI.SDK.Models.Requests
{ {
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils; using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json; using Newtonsoft.Json;
@@ -22,10 +23,23 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public long Id { get; set; } = default!; public long Id { get; set; } = default!;
/// <summary> /// <summary>
/// Stream type (1=video, 2=audio, 3=subtitle). /// Stream type:<br/>
///
/// <remarks>
/// - 1 = video<br/>
/// - 2 = audio<br/>
/// - 3 = subtitle<br/>
///
/// </remarks>
/// </summary> /// </summary>
[JsonProperty("streamType")] [JsonProperty("streamType")]
public int StreamType { get; set; } = default!; public GetMediaMetaDataStreamType StreamType { get; set; } = default!;
/// <summary>
/// Format of the stream (e.g., srt).
/// </summary>
[JsonProperty("format")]
public string? Format { get; set; }
/// <summary> /// <summary>
/// Indicates if this stream is default. /// Indicates if this stream is default.
@@ -43,7 +57,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// Index of the stream. /// Index of the stream.
/// </summary> /// </summary>
[JsonProperty("index")] [JsonProperty("index")]
public int Index { get; set; } = default!; public int? Index { get; set; }
/// <summary> /// <summary>
/// Bitrate of the stream. /// Bitrate of the stream.
@@ -186,6 +200,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
[JsonProperty("frameRate")] [JsonProperty("frameRate")]
public float? FrameRate { get; set; } public float? FrameRate { get; set; }
/// <summary>
/// Key to access this stream part.
/// </summary>
[JsonProperty("key")]
public string? Key { get; set; }
/// <summary> /// <summary>
/// Height of the video stream. /// Height of the video stream.
/// </summary> /// </summary>

View File

@@ -0,0 +1,31 @@
//------------------------------------------------------------------------------
// <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>
/// Stream type:<br/>
///
/// <remarks>
/// - 1 = video<br/>
/// - 2 = audio<br/>
/// - 3 = subtitle<br/>
///
/// </remarks>
/// </summary>
public enum GetMediaMetaDataStreamType
{
Video = 1,
Audio = 2,
Subtitle = 3,
}
}

View File

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

View File

@@ -15,27 +15,15 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public class GetMediaMetaDataUltraBlurColors public class GetMediaMetaDataUltraBlurColors
{ {
/// <summary>
/// The top-left color value.
/// </summary>
[JsonProperty("topLeft")] [JsonProperty("topLeft")]
public string TopLeft { get; set; } = default!; public string TopLeft { get; set; } = default!;
/// <summary>
/// The top-right color value.
/// </summary>
[JsonProperty("topRight")] [JsonProperty("topRight")]
public string TopRight { get; set; } = default!; public string TopRight { get; set; } = default!;
/// <summary>
/// The bottom-right color value.
/// </summary>
[JsonProperty("bottomRight")] [JsonProperty("bottomRight")]
public string BottomRight { get; set; } = default!; public string BottomRight { get; set; } = default!;
/// <summary>
/// The bottom-left color value.
/// </summary>
[JsonProperty("bottomLeft")] [JsonProperty("bottomLeft")]
public string BottomLeft { get; set; } = default!; public string BottomLeft { get; set; } = default!;
} }

View File

@@ -16,39 +16,33 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
{ {
/// <summary> /// <summary>
/// The unique role identifier. /// Unique identifier for the writer.
/// </summary> /// </summary>
[JsonProperty("id")] [JsonProperty("id")]
public long Id { get; set; } = default!; public int Id { get; set; } = default!;
/// <summary> /// <summary>
/// The filter string for the role. /// The role of Writer
/// </summary>
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
/// <summary>
/// The actor&apos;s name.
/// </summary> /// </summary>
[JsonProperty("tag")] [JsonProperty("tag")]
public string Tag { get; set; } = default!; public string Tag { get; set; } = default!;
/// <summary> /// <summary>
/// A key associated with the actor tag. /// The filter string used to query this writer.
/// </summary> /// </summary>
[JsonProperty("tagKey")] [JsonProperty("filter")]
public string TagKey { get; set; } = default!; public string Filter { get; set; } = default!;
/// <summary> /// <summary>
/// The character name or role. /// The URL of the thumbnail image for the writer.
/// </summary>
[JsonProperty("role")]
public string? Role { get; set; }
/// <summary>
/// URL for the role thumbnail image.
/// </summary> /// </summary>
[JsonProperty("thumb")] [JsonProperty("thumb")]
public string? Thumb { get; set; } public string? Thumb { get; set; }
/// <summary>
/// A unique key associated with the writers tag, used for internal identification.
/// </summary>
[JsonProperty("tagKey")]
public string? TagKey { get; set; }
} }
} }

View File

@@ -12,12 +12,13 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils; using LukeHagar.PlexAPI.SDK.Utils;
/// <summary> /// <summary>
/// UNKNOWN /// The Plex library visibility setting
/// </summary> /// </summary>
public enum Hidden public enum Hidden
{ {
Disable = 0, Visible = 0,
Enable = 1, ExcludeHomeScreen = 1,
ExcludeHomeScreenAndGlobalSearch = 2,
} }
} }

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

@@ -0,0 +1,43 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
/// <summary>
/// The final status of the marker
/// </summary>
public class Marker
{
[JsonProperty("id")]
public long Id { get; set; } = default!;
[JsonProperty("type")]
public string Type { get; set; } = default!;
[JsonProperty("startTimeOffset")]
public long StartTimeOffset { get; set; } = default!;
[JsonProperty("endTimeOffset")]
public long EndTimeOffset { get; set; } = default!;
[JsonProperty("final")]
public bool? Final { get; set; }
/// <summary>
/// Attributes associated with the marker.
/// </summary>
[JsonProperty("Attributes")]
public Attributes? Attributes { get; set; }
}
}

View File

@@ -19,7 +19,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// Unique identifier for the producer. /// Unique identifier for the producer.
/// </summary> /// </summary>
[JsonProperty("id")] [JsonProperty("id")]
public long Id { get; set; } = default!; public int Id { get; set; } = default!;
/// <summary> /// <summary>
/// The filter string used to query this producer. /// The filter string used to query this producer.

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

@@ -9,6 +9,7 @@
#nullable enable #nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests namespace LukeHagar.PlexAPI.SDK.Models.Requests
{ {
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils; using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json; using Newtonsoft.Json;
@@ -22,10 +23,23 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public long Id { get; set; } = default!; public long Id { get; set; } = default!;
/// <summary> /// <summary>
/// Stream type (1=video, 2=audio, 3=subtitle). /// Stream type:<br/>
///
/// <remarks>
/// - 1 = video<br/>
/// - 2 = audio<br/>
/// - 3 = subtitle<br/>
///
/// </remarks>
/// </summary> /// </summary>
[JsonProperty("streamType")] [JsonProperty("streamType")]
public int StreamType { get; set; } = default!; public StreamType StreamType { get; set; } = default!;
/// <summary>
/// Format of the stream (e.g., srt).
/// </summary>
[JsonProperty("format")]
public string? Format { get; set; }
/// <summary> /// <summary>
/// Indicates if this stream is default. /// Indicates if this stream is default.
@@ -43,7 +57,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// Index of the stream. /// Index of the stream.
/// </summary> /// </summary>
[JsonProperty("index")] [JsonProperty("index")]
public int Index { get; set; } = default!; public int? Index { get; set; }
/// <summary> /// <summary>
/// Bitrate of the stream. /// Bitrate of the stream.
@@ -186,6 +200,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
[JsonProperty("frameRate")] [JsonProperty("frameRate")]
public float? FrameRate { get; set; } public float? FrameRate { get; set; }
/// <summary>
/// Key to access this stream part.
/// </summary>
[JsonProperty("key")]
public string? Key { get; set; }
/// <summary> /// <summary>
/// Height of the video stream. /// Height of the video stream.
/// </summary> /// </summary>

View File

@@ -0,0 +1,31 @@
//------------------------------------------------------------------------------
// <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>
/// Stream type:<br/>
///
/// <remarks>
/// - 1 = video<br/>
/// - 2 = audio<br/>
/// - 3 = subtitle<br/>
///
/// </remarks>
/// </summary>
public enum StreamType
{
Video = 1,
Audio = 2,
Subtitle = 3,
}
}

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

@@ -19,7 +19,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// Unique identifier for the writer. /// Unique identifier for the writer.
/// </summary> /// </summary>
[JsonProperty("id")] [JsonProperty("id")]
public long Id { get; set; } = default!; public int Id { get; set; } = default!;
/// <summary> /// <summary>
/// The filter string used to query this writer. /// The filter string used to query this writer.

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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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

@@ -196,6 +196,8 @@ namespace LukeHagar.PlexAPI.SDK.Utils
case "bearer": case "bearer":
headerParams.Add(key, Utilities.PrefixBearer(valStr)); headerParams.Add(key, Utilities.PrefixBearer(valStr));
break; break;
case "custom":
break;
default: default:
throw new Exception($"Unknown http subType: {schemeMetadata.SubType}"); throw new Exception($"Unknown http subType: {schemeMetadata.SubType}");
} }

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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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.5"; private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.566.5"; private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.5 2.566.5 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.14.11 2.597.9 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

@@ -544,4 +544,44 @@ Based on:
### Generated ### Generated
- [csharp v0.14.5] . - [csharp v0.14.5] .
### Releases ### Releases
- [NuGet v0.14.5] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.14.5 - . - [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 - .
## 2025-05-01 00:26:44
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.541.2 (2.595.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [csharp v0.14.10] .
### Releases
- [NuGet v0.14.10] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.14.10 - .
## 2025-05-05 00:25:25
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.542.1 (2.597.9) https://github.com/speakeasy-api/speakeasy
### Generated
- [csharp v0.14.11] .
### Releases
- [NuGet v0.14.11] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.14.11 - .

View File

@@ -0,0 +1,11 @@
# Attributes
Attributes associated with the marker.
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | The identifier for the attributes. | 306970 |
| `Version` | *long* | :heavy_minus_sign: | The version number of the marker attributes. | 4 |

View File

@@ -0,0 +1,15 @@
# Chapter
The thumbnail for the chapter
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
| `Id` | *long* | :heavy_check_mark: | N/A | 4 |
| `Filter` | *string* | :heavy_check_mark: | N/A | thumb=4 |
| `Index` | *long* | :heavy_check_mark: | N/A | 1 |
| `StartTimeOffset` | *long* | :heavy_check_mark: | N/A | 0 |
| `EndTimeOffset` | *long* | :heavy_check_mark: | N/A | 100100 |
| `Thumb` | *string* | :heavy_check_mark: | N/A | /library/media/46883/chapterImages/1 |

View File

@@ -7,6 +7,6 @@ The filter query string for country media items.
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | N/A | 259 | | `Id` | *int* | :heavy_check_mark: | N/A | 259 |
| `Tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America | | `Tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America |
| `Filter` | *string* | :heavy_minus_sign: | N/A | country=19 | | `Filter` | *string* | :heavy_minus_sign: | N/A | country=19 |

View File

@@ -0,0 +1,8 @@
# Extras
## Fields
| Field | Type | Required | Description | Example |
| ----------------------- | ----------------------- | ----------------------- | ----------------------- | ----------------------- |
| `Size` | *long* | :heavy_minus_sign: | The size of the extras. | 1 |

View File

@@ -3,26 +3,26 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | | `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `Art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-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: | The relative path to the composite media item. | /library/sections/1/composite/1743824484 | | `Composite` | *string* | :heavy_check_mark: | The relative path to the composite media item. | /library/sections/1/composite/1743824484 |
| `Filters` | *bool* | :heavy_check_mark: | UNKNOWN | true | | `Filters` | *bool* | :heavy_check_mark: | UNKNOWN | true |
| `Refreshing` | *bool* | :heavy_check_mark: | Indicates whether the library is currently being refreshed or updated | true | | `Refreshing` | *bool* | :heavy_check_mark: | Indicates whether the library is currently being refreshed or updated | true |
| `Thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png | | `Thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `Key` | *string* | :heavy_check_mark: | The library key representing the unique identifier | 1 | | `Key` | *string* | :heavy_check_mark: | The library key representing the unique identifier | 1 |
| `Type` | [GetAllLibrariesType](../../Models/Requests/GetAllLibrariesType.md) | :heavy_check_mark: | N/A | movie | | `Type` | [GetAllLibrariesType](../../Models/Requests/GetAllLibrariesType.md) | :heavy_check_mark: | N/A | movie |
| `Title` | *string* | :heavy_check_mark: | The title of the library | Movies | | `Title` | *string* | :heavy_check_mark: | The title of the library | Movies |
| `Agent` | *string* | :heavy_check_mark: | The Plex agent used to match and retrieve media metadata. | 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: | UNKNOWN | Plex Movie | | `Scanner` | *string* | :heavy_check_mark: | UNKNOWN | Plex Movie |
| `Language` | *string* | :heavy_check_mark: | The Plex library language that has been set | en-US | | `Language` | *string* | :heavy_check_mark: | The Plex library language that has been set | en-US |
| `Uuid` | *string* | :heavy_check_mark: | The universally unique identifier for the library. | e69655a2-ef48-4aba-bb19-01e7d3cc34d6 | | `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_minus_sign: | N/A | 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: | UNKNOWN | true | | `Content` | *bool* | :heavy_check_mark: | UNKNOWN | true |
| `Directory` | *bool* | :heavy_check_mark: | UNKNOWN | true | | `Directory` | *bool* | :heavy_check_mark: | UNKNOWN | true |
| `ContentChangedAt` | *int* | :heavy_check_mark: | The number of seconds since the content was last changed relative to now. | 9173960 | | `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` | [Hidden](../../Models/Requests/Hidden.md) | :heavy_minus_sign: | N/A | 1 | | `Hidden` | [Hidden](../../Models/Requests/Hidden.md) | :heavy_minus_sign: | The Plex library visibility setting | 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,54 +3,56 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | Unique stream identifier. | 1002625 | | `Id` | *long* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `StreamType` | *int* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | | `StreamType` | [GetAllMediaLibraryStreamType](../../Models/Requests/GetAllMediaLibraryStreamType.md) | :heavy_check_mark: | Stream type:<br/> - 1 = video<br/> - 2 = audio<br/> - 3 = subtitle<br/> | 1 |
| `Default` | *bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | | `Format` | *string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt |
| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | | `Default` | *bool* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `Index` | *int* | :heavy_check_mark: | Index of the stream. | 0 | | `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `Bitrate` | *int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | | `Index` | *int* | :heavy_minus_sign: | Index of the stream. | 0 |
| `Language` | *string* | :heavy_minus_sign: | Language of the stream. | English | | `Bitrate` | *int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `LanguageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en | | `Language` | *string* | :heavy_minus_sign: | Language of the stream. | English |
| `LanguageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng | | `LanguageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
| `HeaderCompression` | *bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | | `LanguageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng |
| `DOVIBLCompatID` | *int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | | `HeaderCompression` | *bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `DOVIBLPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | | `DOVIBLCompatID` | *int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
| `DOVIELPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | | `DOVIBLPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
| `DOVILevel` | *int* | :heavy_minus_sign: | Dolby Vision level. | 6 | | `DOVIELPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
| `DOVIPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | | `DOVILevel` | *int* | :heavy_minus_sign: | Dolby Vision level. | 6 |
| `DOVIProfile` | *int* | :heavy_minus_sign: | Dolby Vision profile. | 8 | | `DOVIPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
| `DOVIRPUPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | | `DOVIProfile` | *int* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
| `DOVIVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | | `DOVIRPUPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
| `BitDepth` | *int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | | `DOVIVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
| `ChromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft | | `BitDepth` | *int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `ChromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | | `ChromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft |
| `CodedHeight` | *int* | :heavy_minus_sign: | Coded video height. | 1608 | | `ChromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
| `CodedWidth` | *int* | :heavy_minus_sign: | Coded video width. | 3840 | | `CodedHeight` | *int* | :heavy_minus_sign: | Coded video height. | 1608 |
| `ClosedCaptions` | *bool* | :heavy_minus_sign: | N/A | true | | `CodedWidth` | *int* | :heavy_minus_sign: | Coded video width. | 3840 |
| `ColorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 | | `ClosedCaptions` | *bool* | :heavy_minus_sign: | N/A | true |
| `ColorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | | `ColorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 |
| `ColorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc | | `ColorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
| `ColorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | | `ColorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc |
| `FrameRate` | *float* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | | `ColorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `Height` | *int* | :heavy_minus_sign: | Height of the video stream. | 1602 | | `FrameRate` | *float* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `Level` | *int* | :heavy_minus_sign: | Video level. | 150 | | `Key` | *string* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 |
| `Original` | *bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true | | `Height` | *int* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `HasScalingMatrix` | *bool* | :heavy_minus_sign: | N/A | false | | `Level` | *int* | :heavy_minus_sign: | Video level. | 150 |
| `Profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 | | `Original` | *bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `ScanType` | *string* | :heavy_minus_sign: | N/A | progressive | | `HasScalingMatrix` | *bool* | :heavy_minus_sign: | N/A | false |
| `EmbeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive | | `Profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 |
| `RefFrames` | *int* | :heavy_minus_sign: | Number of reference frames. | 1 | | `ScanType` | *string* | :heavy_minus_sign: | N/A | progressive |
| `Width` | *int* | :heavy_minus_sign: | Width of the video stream. | 3840 | | `EmbeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive |
| `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | | `RefFrames` | *int* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `ExtendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | | `Width` | *int* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `Selected` | *bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | | `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `Forced` | *bool* | :heavy_minus_sign: | N/A | true | | `ExtendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `Channels` | *int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | | `Selected` | *bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
| `AudioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | | `Forced` | *bool* | :heavy_minus_sign: | N/A | true |
| `SamplingRate` | *int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | | `Channels` | *int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `CanAutoSync` | *bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | | `AudioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `HearingImpaired` | *bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | | `SamplingRate` | *int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `Dub` | *bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | | `CanAutoSync` | *bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `Title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | | `HearingImpaired` | *bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true |
| `Dub` | *bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true |
| `Title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH |

View File

@@ -0,0 +1,16 @@
# GetAllMediaLibraryStreamType
Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
## Values
| Name | Value |
| ---------- | ---------- |
| `Video` | 1 |
| `Audio` | 2 |
| `Subtitle` | 3 |

View File

@@ -3,7 +3,7 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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 | | `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

@@ -1,10 +1,12 @@
# GetMediaMetaDataCountry # GetMediaMetaDataCountry
The filter query string for country media items.
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `Id` | *int* | :heavy_check_mark: | The unique country identifier. | 58591 | | `Id` | *int* | :heavy_check_mark: | N/A | 259 |
| `Filter` | *string* | :heavy_check_mark: | The filter string for the country. | country=58591 | | `Tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America |
| `Tag` | *string* | :heavy_check_mark: | The country name. | United States of America | | `Filter` | *string* | :heavy_minus_sign: | N/A | country=19 |

View File

@@ -3,11 +3,10 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | The unique role identifier. | 109501 | | `Id` | *int* | :heavy_check_mark: | Unique identifier for the director. | 126522 |
| `Filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | | `Tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle |
| `Tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | | `Filter` | *string* | :heavy_check_mark: | The filter string used to query this director. | director=235876 |
| `TagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | | `TagKey` | *string* | :heavy_minus_sign: | A unique key associated with the director's tag, used for internal identification. | 5d776831151a60001f24d031 |
| `Role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | | `Thumb` | *string* | :heavy_minus_sign: | The URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg |
| `Thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg |

View File

@@ -1,10 +1,12 @@
# GetMediaMetaDataGenre # GetMediaMetaDataGenre
The filter query string for similar items.
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- |
| `Id` | *long* | :heavy_check_mark: | The unique genre identifier. | 1057 | | `Id` | *long* | :heavy_check_mark: | N/A | 259 |
| `Filter` | *string* | :heavy_check_mark: | The filter string for the genre. | genre=1057 | | `Tag` | *string* | :heavy_check_mark: | The genre name of this media-item<br/> | Crime |
| `Tag` | *string* | :heavy_check_mark: | The genre name. | Crime | | `Filter` | *string* | :heavy_check_mark: | N/A | genre=19 |

View File

@@ -3,8 +3,8 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| `Alt` | *string* | :heavy_check_mark: | Alternate text for the image. | Better Call Saul | | `Alt` | *string* | :heavy_check_mark: | N/A | Episode 1 |
| `Type` | *string* | :heavy_check_mark: | The type of image (e.g., coverPoster, background, clearLogo). | coverPoster | | `Type` | [GetMediaMetaDataLibraryType](../../Models/Requests/GetMediaMetaDataLibraryType.md) | :heavy_check_mark: | N/A | background |
| `Url` | *string* | :heavy_check_mark: | The URL of the image. | /library/metadata/44288/thumb/1736487993 | | `Url` | *string* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 |

View File

@@ -0,0 +1,11 @@
# GetMediaMetaDataLibraryType
## Values
| Name | Value |
| ------------- | ------------- |
| `CoverPoster` | coverPoster |
| `Background` | background |
| `Snapshot` | snapshot |
| `ClearLogo` | clearLogo |

View File

@@ -1,68 +1,83 @@
# GetMediaMetaDataMetadata # GetMediaMetaDataMetadata
Unknown
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `RatingKey` | *string* | :heavy_check_mark: | The rating key of the metadata item. | 44288 | | `RatingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. | 58683 |
| `ParentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent of this metadata item. | 48047 | | `Key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 |
| `GrandparentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the grandparent of this metadata item. | 45520 | | `Guid` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `ParentGuid` | *string* | :heavy_minus_sign: | A GUID identifying the parent entity (e.g., season) for the item. | plex://season/618b89208dde18df707ad15c | | `Slug` | *string* | :heavy_check_mark: | A URLfriendly version of the media title. | 4-for-texas |
| `GrandparentGuid` | *string* | :heavy_minus_sign: | A GUID identifying the grandparent entity (e.g., show). | plex://show/5e16253691c20300412003a8 | | `Studio` | *string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios |
| `GrandparentSlug` | *string* | :heavy_minus_sign: | A URL-friendly identifier (slug) for the grandparent entity. | alice-in-borderland-2020 | | `Type` | [GetMediaMetaDataType](../../Models/Requests/GetMediaMetaDataType.md) | :heavy_check_mark: | N/A | movie |
| `GrandparentKey` | *string* | :heavy_minus_sign: | A key identifying the grandparent metadata in the library. | /library/metadata/45520 | | `Title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water |
| `ParentKey` | *string* | :heavy_minus_sign: | A key identifying the parent metadata in the library. | /library/metadata/48047 | | `TitleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale |
| `Key` | *string* | :heavy_check_mark: | The API key to access metadata details. | /library/metadata/44288/children | | `ContentRating` | *string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 |
| `Guid` | *string* | :heavy_check_mark: | The globally unique identifier for the item. | plex://show/5d9c08254eefaa001f5d6dcb | | `Summary` | *string* | :heavy_check_mark: | A synopsis of the media item. | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.<br/>Once a familiar threat returns to finish what was previously started, Jake must<br/>work with Neytiri and the army of the Na'vi race to protect their home.<br/> |
| `Slug` | *string* | :heavy_minus_sign: | A URL-friendly identifier for the item. | better-call-saul | | `Rating` | *float* | :heavy_check_mark: | The critic rating for the media item. | 7.6 |
| `Studio` | *string* | :heavy_minus_sign: | The studio that produced the content. | Sony Pictures Television | | `AudienceRating` | *double* | :heavy_check_mark: | The audience rating for the media item. | 9.2 |
| `Type` | *string* | :heavy_check_mark: | The type of content (e.g., show, movie). | show | | `Year` | *int* | :heavy_minus_sign: | The release year of the media item. | 2022 |
| `Title` | *string* | :heavy_check_mark: | The title of the content. | Better Call Saul | | `Tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. |
| `OriginalTitle` | *string* | :heavy_minus_sign: | The original title of the content. | Wicked: Part I | | `Thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 |
| `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series | | `Art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 |
| `LibrarySectionID` | *long* | :heavy_check_mark: | The ID of the library section. | 2 | | `Theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 |
| `LibrarySectionKey` | *string* | :heavy_check_mark: | The key of the library section. | /library/sections/2 | | `Index` | *int* | :heavy_check_mark: | The index position of the media item. | 1 |
| `ContentRating` | *string* | :heavy_minus_sign: | The content rating (e.g., TV-MA). | TV-MA | | `LeafCount` | *int* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 |
| `Summary` | *string* | :heavy_check_mark: | A summary of the content. | Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to "Breaking Bad" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman. | | `ViewedLeafCount` | *int* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 |
| `Index` | *long* | :heavy_minus_sign: | The index or order of the item. | 1 | | `ChildCount` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 |
| `GrandparentTitle` | *string* | :heavy_minus_sign: | The title of the grandparent entity (typically the show's title). | Alice in Borderland | | `SeasonCount` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 |
| `ParentTitle` | *string* | :heavy_minus_sign: | The title of the parent entity (typically the season's title). | Season 2 | | `Duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 |
| `AudienceRating` | *float* | :heavy_minus_sign: | The audience rating for the content. | 8.7 | | `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 |
| `ViewCount` | *long* | :heavy_minus_sign: | The number of times the item has been viewed. | 4 | | `AddedAt` | *long* | :heavy_check_mark: | N/A | 1556281940 |
| `SkipCount` | *long* | :heavy_minus_sign: | The number of times the item has been skipped. | 1 | | `UpdatedAt` | *long* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
| `LastViewedAt` | *long* | :heavy_minus_sign: | Unix timestamp of when the item was last viewed. | 1625764795 | | `AudienceRatingImage` | *string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright |
| `Year` | *int* | :heavy_check_mark: | The release year. | 2015 | | `ChapterSource` | *string* | :heavy_minus_sign: | The source from which chapter data is derived. | media |
| `Rating` | *float* | :heavy_minus_sign: | The general rating | 6 | | `PrimaryExtraKey` | *string* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 |
| `RatingImage` | *string* | :heavy_minus_sign: | The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image). | rottentomatoes://image.rating.ripe | | `OriginalTitle` | *string* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 |
| `Tagline` | *string* | :heavy_minus_sign: | The tagline of the content. | Make the call | | `ParentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent media item. | 66 |
| `ChapterSource` | *string* | :heavy_minus_sign: | N/A | media | | `GrandparentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 |
| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/134704 | | `ParentGuid` | *string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `Thumb` | *string* | :heavy_check_mark: | URL of the thumbnail image. | /library/metadata/44288/thumb/1736487993 | | `GrandparentGuid` | *string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `Art` | *string* | :heavy_check_mark: | URL of the art image. | /library/metadata/44288/art/1736487993 | | `GrandparentSlug` | *string* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 |
| `Theme` | *string* | :heavy_minus_sign: | URL of the theme image. | /library/metadata/44288/theme/1736487993 | | `GrandparentKey` | *string* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 |
| `Duration` | *int* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 | | `ParentKey` | *string* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 |
| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The original release date. | 2015-02-08 | | `GrandparentTitle` | *string* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica |
| `LeafCount` | *long* | :heavy_minus_sign: | The total number of episodes (or leaves). | 63 | | `GrandparentThumb` | *string* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 |
| `ViewedLeafCount` | *long* | :heavy_minus_sign: | The number of episodes that have been viewed. | 4 | | `GrandparentTheme` | *string* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 |
| `ChildCount` | *int* | :heavy_minus_sign: | The number of child items. | 6 | | `GrandparentArt` | *string* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 |
| `AddedAt` | *long* | :heavy_check_mark: | N/A | 1556281940 | | `ParentTitle` | *string* | :heavy_minus_sign: | The title of the parent media item. | Caprica |
| `UpdatedAt` | *long* | :heavy_check_mark: | N/A | 1556281940 | | `ParentIndex` | *int* | :heavy_minus_sign: | The index position of the parent media item. | 1 |
| `AudienceRatingImage` | *string* | :heavy_minus_sign: | The URL for the audience rating image. | themoviedb://image.rating | | `ParentThumb` | *string* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 |
| `ParentIndex` | *long* | :heavy_minus_sign: | The index number of the parent entity, which could indicate its order or position. | 2 | | `RatingImage` | *string* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe |
| `ParentThumb` | *string* | :heavy_minus_sign: | The URL of the parent's thumbnail image. | /library/metadata/48047/thumb/1671800243 | | `ViewCount` | *int* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 |
| `GrandparentThumb` | *string* | :heavy_minus_sign: | The URL of the grandparent's thumbnail image. | /library/metadata/45520/thumb/1736488003 | | `ViewOffset` | *int* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 |
| `GrandparentArt` | *string* | :heavy_minus_sign: | The URL of the grandparent's art image. | /library/metadata/45520/art/1736488003 | | `SkipCount` | *int* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 |
| `Media` | List<[GetMediaMetaDataMedia](../../Models/Requests/GetMediaMetaDataMedia.md)> | :heavy_minus_sign: | N/A | | | `Subtype` | *string* | :heavy_minus_sign: | A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. | clip |
| `Image` | List<[GetMediaMetaDataImage](../../Models/Requests/GetMediaMetaDataImage.md)> | :heavy_check_mark: | An array of image objects. | | | `LastRatedAt` | *long* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 |
| `UltraBlurColors` | [GetMediaMetaDataUltraBlurColors](../../Models/Requests/GetMediaMetaDataUltraBlurColors.md) | :heavy_check_mark: | N/A | | | `CreatedAtAccuracy` | *string* | :heavy_minus_sign: | The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). | epoch,local |
| `Genre` | List<[GetMediaMetaDataGenre](../../Models/Requests/GetMediaMetaDataGenre.md)> | :heavy_minus_sign: | An array of genre tags. | | | `CreatedAtTZOffset` | *string* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 |
| `Country` | List<[GetMediaMetaDataCountry](../../Models/Requests/GetMediaMetaDataCountry.md)> | :heavy_minus_sign: | An array of country tags. | | | `LastViewedAt` | *int* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 |
| `Guids` | List<[GetMediaMetaDataGuids](../../Models/Requests/GetMediaMetaDataGuids.md)> | :heavy_minus_sign: | An array of GUID objects. | | | `UserRating` | *float* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 |
| `Ratings` | List<[Ratings](../../Models/Requests/Ratings.md)> | :heavy_minus_sign: | An array of rating objects. | | | `Image` | List<[GetMediaMetaDataImage](../../Models/Requests/GetMediaMetaDataImage.md)> | :heavy_minus_sign: | N/A | |
| `Role` | List<[GetMediaMetaDataRole](../../Models/Requests/GetMediaMetaDataRole.md)> | :heavy_minus_sign: | An array of Actor roles. | | | `UltraBlurColors` | [GetMediaMetaDataUltraBlurColors](../../Models/Requests/GetMediaMetaDataUltraBlurColors.md) | :heavy_minus_sign: | N/A | |
| `Director` | List<[GetMediaMetaDataDirector](../../Models/Requests/GetMediaMetaDataDirector.md)> | :heavy_minus_sign: | An array of Director roles. | | | `LibrarySectionID` | *long* | :heavy_check_mark: | The identifier for the library section. | 1 |
| `Writer` | List<[GetMediaMetaDataWriter](../../Models/Requests/GetMediaMetaDataWriter.md)> | :heavy_minus_sign: | An array of Writer roles. | | | `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | Movies |
| `Producer` | List<[GetMediaMetaDataProducer](../../Models/Requests/GetMediaMetaDataProducer.md)> | :heavy_minus_sign: | An array of Writer roles. | | | `LibrarySectionKey` | *string* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 |
| `Similar` | List<[GetMediaMetaDataSimilar](../../Models/Requests/GetMediaMetaDataSimilar.md)> | :heavy_minus_sign: | An array of similar content objects. | | | `Media` | List<[GetMediaMetaDataMedia](../../Models/Requests/GetMediaMetaDataMedia.md)> | :heavy_minus_sign: | N/A | |
| `Location` | List<[GetMediaMetaDataLocation](../../Models/Requests/GetMediaMetaDataLocation.md)> | :heavy_minus_sign: | An array of location objects. | | | `Genre` | List<[GetMediaMetaDataGenre](../../Models/Requests/GetMediaMetaDataGenre.md)> | :heavy_minus_sign: | N/A | |
| `Country` | List<[GetMediaMetaDataCountry](../../Models/Requests/GetMediaMetaDataCountry.md)> | :heavy_minus_sign: | N/A | |
| `Director` | List<[GetMediaMetaDataDirector](../../Models/Requests/GetMediaMetaDataDirector.md)> | :heavy_minus_sign: | N/A | |
| `Writer` | List<[GetMediaMetaDataWriter](../../Models/Requests/GetMediaMetaDataWriter.md)> | :heavy_minus_sign: | N/A | |
| `Producer` | List<[GetMediaMetaDataProducer](../../Models/Requests/GetMediaMetaDataProducer.md)> | :heavy_minus_sign: | N/A | |
| `Role` | List<[GetMediaMetaDataRole](../../Models/Requests/GetMediaMetaDataRole.md)> | :heavy_minus_sign: | N/A | |
| `Guids` | List<[GetMediaMetaDataGuids](../../Models/Requests/GetMediaMetaDataGuids.md)> | :heavy_minus_sign: | N/A | |
| `Ratings` | List<[Ratings](../../Models/Requests/Ratings.md)> | :heavy_minus_sign: | N/A | |
| `Similar` | List<[GetMediaMetaDataSimilar](../../Models/Requests/GetMediaMetaDataSimilar.md)> | :heavy_minus_sign: | N/A | |
| `Location` | List<[GetMediaMetaDataLocation](../../Models/Requests/GetMediaMetaDataLocation.md)> | :heavy_minus_sign: | N/A | |
| `Chapter` | List<[Chapter](../../Models/Requests/Chapter.md)> | :heavy_minus_sign: | N/A | |
| `Marker` | List<[Marker](../../Models/Requests/Marker.md)> | :heavy_minus_sign: | N/A | |
| `Extras` | [Extras](../../Models/Requests/Extras.md) | :heavy_minus_sign: | N/A | |

View File

@@ -3,11 +3,11 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | The unique role identifier. | 109501 | | `Id` | *long* | :heavy_check_mark: | Unique identifier for the actor or role. | 126522 |
| `Filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | | `Tag` | *string* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller |
| `Tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | | `Role` | *string* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge |
| `TagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | | `Filter` | *string* | :heavy_check_mark: | The filter string used to query this actor. For example, it may indicate that this is an actor with a given key. | actor=126522 |
| `Role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | | `TagKey` | *string* | :heavy_minus_sign: | A unique key associated with the actor's tag, used for internal identification. | 5d77683d85719b001f3a535e |
| `Thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | | `Thumb` | *string* | :heavy_minus_sign: | The URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg |

View File

@@ -3,54 +3,56 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | Unique stream identifier. | 1002625 | | `Id` | *long* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `StreamType` | *int* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | | `StreamType` | [GetMediaMetaDataStreamType](../../Models/Requests/GetMediaMetaDataStreamType.md) | :heavy_check_mark: | Stream type:<br/> - 1 = video<br/> - 2 = audio<br/> - 3 = subtitle<br/> | 1 |
| `Default` | *bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | | `Format` | *string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt |
| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | | `Default` | *bool* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `Index` | *int* | :heavy_check_mark: | Index of the stream. | 0 | | `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `Bitrate` | *int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | | `Index` | *int* | :heavy_minus_sign: | Index of the stream. | 0 |
| `Language` | *string* | :heavy_minus_sign: | Language of the stream. | English | | `Bitrate` | *int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `LanguageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en | | `Language` | *string* | :heavy_minus_sign: | Language of the stream. | English |
| `LanguageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng | | `LanguageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
| `HeaderCompression` | *bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | | `LanguageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng |
| `DOVIBLCompatID` | *int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | | `HeaderCompression` | *bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `DOVIBLPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | | `DOVIBLCompatID` | *int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
| `DOVIELPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | | `DOVIBLPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
| `DOVILevel` | *int* | :heavy_minus_sign: | Dolby Vision level. | 6 | | `DOVIELPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
| `DOVIPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | | `DOVILevel` | *int* | :heavy_minus_sign: | Dolby Vision level. | 6 |
| `DOVIProfile` | *int* | :heavy_minus_sign: | Dolby Vision profile. | 8 | | `DOVIPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
| `DOVIRPUPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | | `DOVIProfile` | *int* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
| `DOVIVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | | `DOVIRPUPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
| `BitDepth` | *int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | | `DOVIVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
| `ChromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft | | `BitDepth` | *int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `ChromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | | `ChromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft |
| `CodedHeight` | *int* | :heavy_minus_sign: | Coded video height. | 1608 | | `ChromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
| `CodedWidth` | *int* | :heavy_minus_sign: | Coded video width. | 3840 | | `CodedHeight` | *int* | :heavy_minus_sign: | Coded video height. | 1608 |
| `ClosedCaptions` | *bool* | :heavy_minus_sign: | N/A | true | | `CodedWidth` | *int* | :heavy_minus_sign: | Coded video width. | 3840 |
| `ColorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 | | `ClosedCaptions` | *bool* | :heavy_minus_sign: | N/A | true |
| `ColorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | | `ColorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 |
| `ColorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc | | `ColorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
| `ColorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | | `ColorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc |
| `FrameRate` | *float* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | | `ColorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `Height` | *int* | :heavy_minus_sign: | Height of the video stream. | 1602 | | `FrameRate` | *float* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `Level` | *int* | :heavy_minus_sign: | Video level. | 150 | | `Key` | *string* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 |
| `Original` | *bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true | | `Height` | *int* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `HasScalingMatrix` | *bool* | :heavy_minus_sign: | N/A | false | | `Level` | *int* | :heavy_minus_sign: | Video level. | 150 |
| `Profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 | | `Original` | *bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `ScanType` | *string* | :heavy_minus_sign: | N/A | progressive | | `HasScalingMatrix` | *bool* | :heavy_minus_sign: | N/A | false |
| `EmbeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive | | `Profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 |
| `RefFrames` | *int* | :heavy_minus_sign: | Number of reference frames. | 1 | | `ScanType` | *string* | :heavy_minus_sign: | N/A | progressive |
| `Width` | *int* | :heavy_minus_sign: | Width of the video stream. | 3840 | | `EmbeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive |
| `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | | `RefFrames` | *int* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `ExtendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | | `Width` | *int* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `Selected` | *bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | | `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `Forced` | *bool* | :heavy_minus_sign: | N/A | true | | `ExtendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `Channels` | *int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | | `Selected` | *bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
| `AudioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | | `Forced` | *bool* | :heavy_minus_sign: | N/A | true |
| `SamplingRate` | *int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | | `Channels` | *int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `CanAutoSync` | *bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | | `AudioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `HearingImpaired` | *bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | | `SamplingRate` | *int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `Dub` | *bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | | `CanAutoSync` | *bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `Title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | | `HearingImpaired` | *bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true |
| `Dub` | *bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true |
| `Title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH |

View File

@@ -0,0 +1,16 @@
# GetMediaMetaDataStreamType
Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
## Values
| Name | Value |
| ---------- | ---------- |
| `Video` | 1 |
| `Audio` | 2 |
| `Subtitle` | 3 |

View File

@@ -0,0 +1,16 @@
# GetMediaMetaDataType
The type of media content
## Values
| Name | Value |
| --------- | --------- |
| `Movie` | movie |
| `TvShow` | show |
| `Season` | season |
| `Episode` | episode |
| `Artist` | artist |
| `Album` | album |

View File

@@ -3,9 +3,9 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `TopLeft` | *string* | :heavy_check_mark: | The top-left color value. | 11333a | | `TopLeft` | *string* | :heavy_check_mark: | N/A | 11333b |
| `TopRight` | *string* | :heavy_check_mark: | The top-right color value. | 1d2721 | | `TopRight` | *string* | :heavy_check_mark: | N/A | 0a232d |
| `BottomRight` | *string* | :heavy_check_mark: | The bottom-right color value. | 5c451d | | `BottomRight` | *string* | :heavy_check_mark: | N/A | 73958 |
| `BottomLeft` | *string* | :heavy_check_mark: | The bottom-left color value. | 372c10 | | `BottomLeft` | *string* | :heavy_check_mark: | N/A | 1f5066 |

View File

@@ -3,11 +3,10 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | The unique role identifier. | 109501 | | `Id` | *int* | :heavy_check_mark: | Unique identifier for the writer. | 126522 |
| `Filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | | `Tag` | *string* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson |
| `Tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | | `Filter` | *string* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 |
| `TagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | | `Thumb` | *string* | :heavy_minus_sign: | The URL of the thumbnail image for the writer. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg |
| `Role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | | `TagKey` | *string* | :heavy_minus_sign: | A unique key associated with the writers tag, used for internal identification. | 5d77683d85719b001f3a535e |
| `Thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg |

View File

@@ -1,11 +1,12 @@
# Hidden # Hidden
UNKNOWN The Plex library visibility setting
## Values ## Values
| Name | Value | | Name | Value |
| --------- | --------- | | ---------------------------------- | ---------------------------------- |
| `Disable` | 0 | | `Visible` | 0 |
| `Enable` | 1 | | `ExcludeHomeScreen` | 1 |
| `ExcludeHomeScreenAndGlobalSearch` | 2 |

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

@@ -0,0 +1,15 @@
# Marker
The final status of the marker
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | N/A | 306970 |
| `Type` | *string* | :heavy_check_mark: | N/A | credits |
| `StartTimeOffset` | *long* | :heavy_check_mark: | N/A | 4176050 |
| `EndTimeOffset` | *long* | :heavy_check_mark: | N/A | 4393389 |
| `Final` | *bool* | :heavy_minus_sign: | N/A | true |
| `Attributes` | [Attributes](../../Models/Requests/Attributes.md) | :heavy_minus_sign: | Attributes associated with the marker. | |

View File

@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | Unique identifier for the producer. | 126522 | | `Id` | *int* | :heavy_check_mark: | Unique identifier for the producer. | 126522 |
| `Filter` | *string* | :heavy_check_mark: | The filter string used to query this producer. | producer=126522 | | `Filter` | *string* | :heavy_check_mark: | The filter string used to query this producer. | producer=126522 |
| `Tag` | *string* | :heavy_check_mark: | The name of the producer | Amelia Knapp | | `Tag` | *string* | :heavy_check_mark: | The name of the producer | Amelia Knapp |
| `TagKey` | *string* | :heavy_minus_sign: | A unique key associated with the producer's tag, used for internal identification. | 5d77683d85719b001f3a535e | | `TagKey` | *string* | :heavy_minus_sign: | A unique key associated with the producer's tag, used for internal identification. | 5d77683d85719b001f3a535e |

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

@@ -6,10 +6,11 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | Unique stream identifier. | 1002625 | | `Id` | *long* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `StreamType` | *int* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | | `StreamType` | [StreamType](../../Models/Requests/StreamType.md) | :heavy_check_mark: | Stream type:<br/> - 1 = video<br/> - 2 = audio<br/> - 3 = subtitle<br/> | 1 |
| `Format` | *string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt |
| `Default` | *bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | | `Default` | *bool* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | | `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `Index` | *int* | :heavy_check_mark: | Index of the stream. | 0 | | `Index` | *int* | :heavy_minus_sign: | Index of the stream. | 0 |
| `Bitrate` | *int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | | `Bitrate` | *int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `Language` | *string* | :heavy_minus_sign: | Language of the stream. | English | | `Language` | *string* | :heavy_minus_sign: | Language of the stream. | English |
| `LanguageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en | | `LanguageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
@@ -34,6 +35,7 @@
| `ColorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc | | `ColorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc |
| `ColorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | | `ColorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `FrameRate` | *float* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | | `FrameRate` | *float* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `Key` | *string* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 |
| `Height` | *int* | :heavy_minus_sign: | Height of the video stream. | 1602 | | `Height` | *int* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `Level` | *int* | :heavy_minus_sign: | Video level. | 150 | | `Level` | *int* | :heavy_minus_sign: | Video level. | 150 |
| `Original` | *bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true | | `Original` | *bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true |

View File

@@ -0,0 +1,16 @@
# StreamType
Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
## Values
| Name | Value |
| ---------- | ---------- |
| `Video` | 1 |
| `Audio` | 2 |
| `Subtitle` | 3 |

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

@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | Unique identifier for the writer. | 126522 | | `Id` | *int* | :heavy_check_mark: | Unique identifier for the writer. | 126522 |
| `Filter` | *string* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 | | `Filter` | *string* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 |
| `Tag` | *string* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | | `Tag` | *string* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson |
| `TagKey` | *string* | :heavy_minus_sign: | A unique key associated with the writers tag, used for internal identification. | 5d77683d85719b001f3a535e | | `TagKey` | *string* | :heavy_minus_sign: | A unique key associated with the writers tag, used for internal identification. | 5d77683d85719b001f3a535e |

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