Compare commits

..

3 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
90 changed files with 1348 additions and 708 deletions

3
.gitignore vendored
View File

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

File diff suppressed because one or more lines are too long

View File

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

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.529.1
speakeasyVersion: 1.542.1
sources:
my-source:
sourceNamespace: my-source
@@ -16,19 +16,19 @@ sources:
- main
plexapi:
sourceNamespace: plexapi
sourceRevisionDigest: sha256:db75a06885b897418dcb580679b5f744348573ad317155172346d32442420e5e
sourceBlobDigest: sha256:ac0a3c3a6df002378b3522325c2330ba4309fbbbfa503a04b8267398f20033f5
sourceRevisionDigest: sha256:37adc934a79841fb00cfe6ed569f5b1c88534b20202ecbde64b4e84828cee22a
sourceBlobDigest: sha256:ffb5b8d288111a763e4d035c8c9e37f5c89690d146b7297493b43a71d8298e6c
tags:
- latest
- speakeasy-sdk-regen-1744590298
- speakeasy-sdk-regen-1746404742
targets:
plexcsharp:
source: plexapi
sourceNamespace: plexapi
sourceRevisionDigest: sha256:db75a06885b897418dcb580679b5f744348573ad317155172346d32442420e5e
sourceBlobDigest: sha256:ac0a3c3a6df002378b3522325c2330ba4309fbbbfa503a04b8267398f20033f5
sourceRevisionDigest: sha256:37adc934a79841fb00cfe6ed569f5b1c88534b20202ecbde64b4e84828cee22a
sourceBlobDigest: sha256:ffb5b8d288111a763e4d035c8c9e37f5c89690d146b7297493b43a71d8298e6c
codeSamplesNamespace: code-samples-csharp-plexcsharp
codeSamplesRevisionDigest: sha256:ec883fa872bc8d5a07af0721db6cb462697db4d0edb92845591f29b775aa3c46
codeSamplesRevisionDigest: sha256:7cb363d64d3faf7e2bf27b77c7bd75d20aa754c1d67c7d67122dd4fd190db66c
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest

View File

@@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK
{
public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
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; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
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; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
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; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -72,14 +72,14 @@ namespace LukeHagar.PlexAPI.SDK
/// <remarks>
/// ## Library Details Endpoint<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/>
/// The details include:<br/>
/// <br/>
/// ### Directories<br/>
/// Organized into three categories:<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/>
/// - Most can be replicated via media queries.<br/>
/// - Customizable by users.<br/>
@@ -318,10 +318,10 @@ namespace LukeHagar.PlexAPI.SDK
{
public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -46,13 +46,13 @@ namespace LukeHagar.PlexAPI.SDK
/// Logging a multi-line message
///
/// <remarks>
/// 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/>
/// 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/>
/// 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/>
/// 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/>
/// 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/>
/// This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests. <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/>
/// This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests.<br/>
/// <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/>
@@ -94,10 +94,10 @@ namespace LukeHagar.PlexAPI.SDK
{
public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

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

View File

@@ -90,10 +90,10 @@ namespace LukeHagar.PlexAPI.SDK
{
public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
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")]
public long Id { get; set; } = default!;
public int Id { get; set; } = default!;
/// <summary>
/// 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

@@ -130,8 +130,11 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
[JsonProperty("contentChangedAt")]
public long ContentChangedAt { get; set; } = default!;
/// <summary>
/// The Plex library visibility setting
/// </summary>
[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")]
public List<GetAllLibrariesLocation> Location { get; set; } = default!;

View File

@@ -9,6 +9,7 @@
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
@@ -22,10 +23,23 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public long Id { get; set; } = default!;
/// <summary>
/// Stream type (1=video, 2=audio, 3=subtitle).
/// Stream type:<br/>
///
/// <remarks>
/// - 1 = video<br/>
/// - 2 = audio<br/>
/// - 3 = subtitle<br/>
///
/// </remarks>
/// </summary>
[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>
/// Indicates if this stream is default.
@@ -43,7 +57,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// Index of the stream.
/// </summary>
[JsonProperty("index")]
public int Index { get; set; } = default!;
public int? Index { get; set; }
/// <summary>
/// Bitrate of the stream.
@@ -186,6 +200,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
[JsonProperty("frameRate")]
public float? FrameRate { get; set; }
/// <summary>
/// Key to access this stream part.
/// </summary>
[JsonProperty("key")]
public string? Key { get; set; }
/// <summary>
/// Height of the video stream.
/// </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>
/// 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>
/// 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 Newtonsoft.Json;
/// <summary>
/// The filter query string for country media items.
/// </summary>
public class GetMediaMetaDataCountry
{
/// <summary>
/// The unique country identifier.
/// </summary>
[JsonProperty("id")]
public int Id { get; set; } = default!;
/// <summary>
/// The filter string for the country.
/// </summary>
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
/// <summary>
/// The country name.
/// The country of origin of this media item
/// </summary>
[JsonProperty("tag")]
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>
/// The unique role identifier.
/// Unique identifier for the director.
/// </summary>
[JsonProperty("id")]
public long Id { get; set; } = default!;
public int Id { get; set; } = default!;
/// <summary>
/// The filter string for the role.
/// </summary>
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
/// <summary>
/// The actor&apos;s name.
/// The role of Director
/// </summary>
[JsonProperty("tag")]
public string Tag { get; set; } = default!;
/// <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>
[JsonProperty("tagKey")]
public string TagKey { get; set; } = default!;
public string? TagKey { get; set; }
/// <summary>
/// The character name or role.
/// </summary>
[JsonProperty("role")]
public string? Role { get; set; }
/// <summary>
/// URL for the role thumbnail image.
/// The URL of the thumbnail image for the director.
/// </summary>
[JsonProperty("thumb")]
public string? Thumb { get; set; }

View File

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

View File

@@ -9,27 +9,19 @@
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
public class GetMediaMetaDataImage
{
/// <summary>
/// Alternate text for the image.
/// </summary>
[JsonProperty("alt")]
public string Alt { get; set; } = default!;
/// <summary>
/// The type of image (e.g., coverPoster, background, clearLogo).
/// </summary>
[JsonProperty("type")]
public string Type { get; set; } = default!;
public GetMediaMetaDataLibraryType Type { get; set; } = default!;
/// <summary>
/// The URL of the image.
/// </summary>
[JsonProperty("url")]
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 System.Collections.Generic;
/// <summary>
/// Unknown<br/>
///
/// <remarks>
///
/// </remarks>
/// </summary>
public class GetMediaMetaDataMetadata
{
/// <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>
[JsonProperty("ratingKey")]
public string RatingKey { get; set; } = default!;
/// <summary>
/// The rating key of the parent of this metadata 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.
/// The unique key for the media item.
/// </summary>
[JsonProperty("key")]
public string Key { get; set; } = default!;
/// <summary>
/// The globally unique identifier for the item.
/// The globally unique identifier for the media item.
/// </summary>
[JsonProperty("guid")]
public string Guid { get; set; } = default!;
/// <summary>
/// A URL-friendly identifier for the item.
/// A URLfriendly version of the media title.
/// </summary>
[JsonProperty("slug")]
public string? Slug { get; set; }
public string Slug { get; set; } = default!;
/// <summary>
/// The studio that produced the content.
/// The studio that produced the media item.
/// </summary>
[JsonProperty("studio")]
public string? Studio { get; set; }
/// <summary>
/// The type of content (e.g., show, movie).
/// </summary>
[JsonProperty("type")]
public string Type { get; set; } = default!;
public GetMediaMetaDataType Type { get; set; } = default!;
/// <summary>
/// The title of the content.
/// The title of the media item.
/// </summary>
[JsonProperty("title")]
public string Title { get; set; } = default!;
/// <summary>
/// The original title of the content.
/// The sort title used for ordering media items.
/// </summary>
[JsonProperty("originalTitle")]
public string? OriginalTitle { get; set; }
[JsonProperty("titleSort")]
public string TitleSort { get; set; } = default!;
/// <summary>
/// The title of the library section.
/// </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).
/// The content rating for the media item.
/// </summary>
[JsonProperty("contentRating")]
public string? ContentRating { get; set; }
/// <summary>
/// A summary of the content.
/// A synopsis of the media item.
/// </summary>
[JsonProperty("summary")]
public string Summary { get; set; } = default!;
/// <summary>
/// The index or order of the 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
/// The critic rating for the media item.
/// </summary>
[JsonProperty("rating")]
public float? Rating { get; set; }
public float Rating { get; set; } = default!;
/// <summary>
/// The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image).
/// The audience rating for the media item.
/// </summary>
[JsonProperty("ratingImage")]
public string? RatingImage { get; set; }
[JsonProperty("audienceRating")]
public double AudienceRating { get; set; } = default!;
/// <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>
[JsonProperty("tagline")]
public string? Tagline { get; set; }
[JsonProperty("chapterSource")]
public string? ChapterSource { get; set; }
[JsonProperty("primaryExtraKey")]
public string? PrimaryExtraKey { get; set; }
public string Tagline { get; set; } = default!;
/// <summary>
/// URL of the thumbnail image.
/// The thumbnail image URL for the media item.
/// </summary>
[JsonProperty("thumb")]
public string Thumb { get; set; } = default!;
/// <summary>
/// URL of the art image.
/// The art image URL for the media item.
/// </summary>
[JsonProperty("art")]
public string Art { get; set; } = default!;
/// <summary>
/// URL of the theme image.
/// The theme URL for the media item.
/// </summary>
[JsonProperty("theme")]
public string? Theme { get; set; }
public string Theme { get; set; } = default!;
/// <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>
[JsonProperty("duration")]
public int Duration { get; set; } = default!;
/// <summary>
/// The original release date.
/// The original release date of the media item.
/// </summary>
[JsonProperty("originallyAvailableAt")]
public LocalDate? OriginallyAvailableAt { get; set; }
/// <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; }
public LocalDate OriginallyAvailableAt { get; set; } = default!;
[JsonProperty("addedAt")]
public long AddedAt { get; set; } = default!;
/// <summary>
/// Unix epoch datetime in seconds
/// </summary>
[JsonProperty("updatedAt")]
public long UpdatedAt { get; set; } = default!;
public long? UpdatedAt { get; set; }
/// <summary>
/// The URL for the audience rating image.
@@ -271,99 +182,231 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public string? AudienceRatingImage { get; set; }
/// <summary>
/// The index number of the parent entity, which could indicate its order or position.
/// The source from which chapter data is derived.
/// </summary>
[JsonProperty("parentIndex")]
public long? ParentIndex { get; set; }
[JsonProperty("chapterSource")]
public string? ChapterSource { get; set; }
/// <summary>
/// The URL of the parent&apos;s thumbnail image.
/// The primary extra key associated with this media item.
/// </summary>
[JsonProperty("parentThumb")]
public string? ParentThumb { get; set; }
[JsonProperty("primaryExtraKey")]
public string? PrimaryExtraKey { get; set; }
/// <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>
[JsonProperty("grandparentThumb")]
public string? GrandparentThumb { get; set; }
/// <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>
[JsonProperty("grandparentArt")]
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")]
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")]
public List<GetMediaMetaDataGenre>? Genre { get; set; }
/// <summary>
/// An array of country tags.
/// </summary>
[JsonProperty("Country")]
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")]
public List<GetMediaMetaDataDirector>? Director { get; set; }
/// <summary>
/// An array of Writer roles.
/// </summary>
[JsonProperty("Writer")]
public List<GetMediaMetaDataWriter>? Writer { get; set; }
/// <summary>
/// An array of Writer roles.
/// </summary>
[JsonProperty("Producer")]
public List<GetMediaMetaDataProducer>? Producer { get; set; }
/// <summary>
/// An array of similar content objects.
/// </summary>
[JsonProperty("Role")]
public List<GetMediaMetaDataRole>? Role { get; set; }
[JsonProperty("Guid")]
public List<GetMediaMetaDataGuids>? Guids { get; set; }
[JsonProperty("Rating")]
public List<Ratings>? Ratings { get; set; }
[JsonProperty("Similar")]
public List<GetMediaMetaDataSimilar>? Similar { get; set; }
/// <summary>
/// An array of location objects.
/// </summary>
[JsonProperty("Location")]
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>
/// The unique role identifier.
/// Unique identifier for the actor or role.
/// </summary>
[JsonProperty("id")]
public long Id { get; set; } = default!;
/// <summary>
/// The filter string for the role.
/// </summary>
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
/// <summary>
/// The actor&apos;s name.
/// The display tag for the actor (typically the actor&apos;s name).
/// </summary>
[JsonProperty("tag")]
public string Tag { get; set; } = default!;
/// <summary>
/// A key associated with the actor tag.
/// </summary>
[JsonProperty("tagKey")]
public string TagKey { get; set; } = default!;
/// <summary>
/// The character name or role.
/// The role played by the actor in the media item.
/// </summary>
[JsonProperty("role")]
public string? Role { get; set; }
/// <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>
[JsonProperty("thumb")]
public string? Thumb { get; set; }

View File

@@ -9,6 +9,7 @@
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
@@ -22,10 +23,23 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public long Id { get; set; } = default!;
/// <summary>
/// Stream type (1=video, 2=audio, 3=subtitle).
/// Stream type:<br/>
///
/// <remarks>
/// - 1 = video<br/>
/// - 2 = audio<br/>
/// - 3 = subtitle<br/>
///
/// </remarks>
/// </summary>
[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>
/// Indicates if this stream is default.
@@ -43,7 +57,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// Index of the stream.
/// </summary>
[JsonProperty("index")]
public int Index { get; set; } = default!;
public int? Index { get; set; }
/// <summary>
/// Bitrate of the stream.
@@ -186,6 +200,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
[JsonProperty("frameRate")]
public float? FrameRate { get; set; }
/// <summary>
/// Key to access this stream part.
/// </summary>
[JsonProperty("key")]
public string? Key { get; set; }
/// <summary>
/// Height of the video stream.
/// </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
{
/// <summary>
/// The top-left color value.
/// </summary>
[JsonProperty("topLeft")]
public string TopLeft { get; set; } = default!;
/// <summary>
/// The top-right color value.
/// </summary>
[JsonProperty("topRight")]
public string TopRight { get; set; } = default!;
/// <summary>
/// The bottom-right color value.
/// </summary>
[JsonProperty("bottomRight")]
public string BottomRight { get; set; } = default!;
/// <summary>
/// The bottom-left color value.
/// </summary>
[JsonProperty("bottomLeft")]
public string BottomLeft { get; set; } = default!;
}

View File

@@ -16,39 +16,33 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
/// <summary>
/// The unique role identifier.
/// Unique identifier for the writer.
/// </summary>
[JsonProperty("id")]
public long Id { get; set; } = default!;
public int Id { get; set; } = default!;
/// <summary>
/// The filter string for the role.
/// </summary>
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
/// <summary>
/// The actor&apos;s name.
/// The role of Writer
/// </summary>
[JsonProperty("tag")]
public string Tag { get; set; } = default!;
/// <summary>
/// A key associated with the actor tag.
/// The filter string used to query this writer.
/// </summary>
[JsonProperty("tagKey")]
public string TagKey { get; set; } = default!;
[JsonProperty("filter")]
public string Filter { get; set; } = default!;
/// <summary>
/// The character name or role.
/// </summary>
[JsonProperty("role")]
public string? Role { get; set; }
/// <summary>
/// URL for the role thumbnail image.
/// The URL of the thumbnail image for the writer.
/// </summary>
[JsonProperty("thumb")]
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;
/// <summary>
/// UNKNOWN
/// The Plex library visibility setting
/// </summary>
public enum Hidden
{
Disable = 0,
Enable = 1,
Visible = 0,
ExcludeHomeScreen = 1,
ExcludeHomeScreenAndGlobalSearch = 2,
}
}

View File

@@ -12,7 +12,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using LukeHagar.PlexAPI.SDK.Utils;
/// <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>
/// 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;
/// <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>
/// 0: Error <br/>
/// 1: Warning <br/>
/// 2: Info <br/>
/// 3: Debug <br/>
/// 0: Error<br/>
/// 1: Warning<br/>
/// 2: Info<br/>
/// 3: Debug<br/>
/// 4: Verbose<br/>
///
/// </remarks>

View File

@@ -16,13 +16,13 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
/// <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>
/// 0: Error <br/>
/// 1: Warning <br/>
/// 2: Info <br/>
/// 3: Debug <br/>
/// 0: Error<br/>
/// 1: Warning<br/>
/// 2: Info<br/>
/// 3: Debug<br/>
/// 4: Verbose<br/>
///
/// </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.
/// </summary>
[JsonProperty("id")]
public long Id { get; set; } = default!;
public int Id { get; set; } = default!;
/// <summary>
/// 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;
/// <summary>
/// Force overwriting of duplicate playlists. <br/>
/// Force overwriting of duplicate playlists.<br/>
///
/// <remarks>
/// 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/>
/// 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/>
///
/// </remarks>

View File

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

View File

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

View File

@@ -23,11 +23,11 @@ namespace LukeHagar.PlexAPI.SDK
using System.Threading.Tasks;
/// <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>
/// 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/>
///
/// </remarks>
@@ -133,11 +133,11 @@ namespace LukeHagar.PlexAPI.SDK
}
/// <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>
/// 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/>
///
/// </remarks>
@@ -146,10 +146,10 @@ namespace LukeHagar.PlexAPI.SDK
{
public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
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; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -205,11 +205,11 @@ namespace LukeHagar.PlexAPI.SDK
public ILog Log { get; }
/// <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>
/// 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/>
///
/// </remarks>
@@ -327,10 +327,10 @@ namespace LukeHagar.PlexAPI.SDK
public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 int _serverIndex = 0;
private ISpeakeasyHttpClient _client;

View File

@@ -87,10 +87,10 @@ namespace LukeHagar.PlexAPI.SDK
{
public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
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; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
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; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
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; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
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; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
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; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

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

View File

@@ -62,10 +62,10 @@ namespace LukeHagar.PlexAPI.SDK
{
public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
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; }
private const string _language = "csharp";
private const string _sdkVersion = "0.14.7";
private const string _sdkGenVersion = "2.566.5";
private const string _sdkVersion = "0.14.11";
private const string _sdkGenVersion = "2.597.9";
private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.14.7 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 ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

@@ -554,4 +554,34 @@ Based on:
### Generated
- [csharp v0.14.7] .
### Releases
- [NuGet v0.14.7] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.14.7 - .
- [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 |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `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 |
| `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

@@ -24,5 +24,5 @@
| `Content` | *bool* | :heavy_check_mark: | UNKNOWN | true |
| `Directory` | *bool* | :heavy_check_mark: | UNKNOWN | true |
| `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 | |

View File

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

View File

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

View File

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

View File

@@ -3,8 +3,8 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
| `Alt` | *string* | :heavy_check_mark: | Alternate text for the image. | Better Call Saul |
| `Type` | *string* | :heavy_check_mark: | The type of image (e.g., coverPoster, background, clearLogo). | coverPoster |
| `Url` | *string* | :heavy_check_mark: | The URL of the image. | /library/metadata/44288/thumb/1736487993 |
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| `Alt` | *string* | :heavy_check_mark: | N/A | Episode 1 |
| `Type` | [GetMediaMetaDataLibraryType](../../Models/Requests/GetMediaMetaDataLibraryType.md) | :heavy_check_mark: | N/A | background |
| `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
Unknown
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `RatingKey` | *string* | :heavy_check_mark: | The rating key of the metadata item. | 44288 |
| `ParentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent of this metadata item. | 48047 |
| `GrandparentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the grandparent of this metadata item. | 45520 |
| `ParentGuid` | *string* | :heavy_minus_sign: | A GUID identifying the parent entity (e.g., season) for the item. | plex://season/618b89208dde18df707ad15c |
| `GrandparentGuid` | *string* | :heavy_minus_sign: | A GUID identifying the grandparent entity (e.g., show). | plex://show/5e16253691c20300412003a8 |
| `GrandparentSlug` | *string* | :heavy_minus_sign: | A URL-friendly identifier (slug) for the grandparent entity. | alice-in-borderland-2020 |
| `GrandparentKey` | *string* | :heavy_minus_sign: | A key identifying the grandparent metadata in the library. | /library/metadata/45520 |
| `ParentKey` | *string* | :heavy_minus_sign: | A key identifying the parent metadata in the library. | /library/metadata/48047 |
| `Key` | *string* | :heavy_check_mark: | The API key to access metadata details. | /library/metadata/44288/children |
| `Guid` | *string* | :heavy_check_mark: | The globally unique identifier for the item. | plex://show/5d9c08254eefaa001f5d6dcb |
| `Slug` | *string* | :heavy_minus_sign: | A URL-friendly identifier for the item. | better-call-saul |
| `Studio` | *string* | :heavy_minus_sign: | The studio that produced the content. | Sony Pictures Television |
| `Type` | *string* | :heavy_check_mark: | The type of content (e.g., show, movie). | show |
| `Title` | *string* | :heavy_check_mark: | The title of the content. | Better Call Saul |
| `OriginalTitle` | *string* | :heavy_minus_sign: | The original title of the content. | Wicked: Part I |
| `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series |
| `LibrarySectionID` | *long* | :heavy_check_mark: | The ID of the library section. | 2 |
| `LibrarySectionKey` | *string* | :heavy_check_mark: | The key of the library section. | /library/sections/2 |
| `ContentRating` | *string* | :heavy_minus_sign: | The content rating (e.g., TV-MA). | TV-MA |
| `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. |
| `Index` | *long* | :heavy_minus_sign: | The index or order of the item. | 1 |
| `GrandparentTitle` | *string* | :heavy_minus_sign: | The title of the grandparent entity (typically the show's title). | Alice in Borderland |
| `ParentTitle` | *string* | :heavy_minus_sign: | The title of the parent entity (typically the season's title). | Season 2 |
| `AudienceRating` | *float* | :heavy_minus_sign: | The audience rating for the content. | 8.7 |
| `ViewCount` | *long* | :heavy_minus_sign: | The number of times the item has been viewed. | 4 |
| `SkipCount` | *long* | :heavy_minus_sign: | The number of times the item has been skipped. | 1 |
| `LastViewedAt` | *long* | :heavy_minus_sign: | Unix timestamp of when the item was last viewed. | 1625764795 |
| `Year` | *int* | :heavy_check_mark: | The release year. | 2015 |
| `Rating` | *float* | :heavy_minus_sign: | The general rating | 6 |
| `RatingImage` | *string* | :heavy_minus_sign: | The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image). | rottentomatoes://image.rating.ripe |
| `Tagline` | *string* | :heavy_minus_sign: | The tagline of the content. | Make the call |
| `ChapterSource` | *string* | :heavy_minus_sign: | N/A | media |
| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/134704 |
| `Thumb` | *string* | :heavy_check_mark: | URL of the thumbnail image. | /library/metadata/44288/thumb/1736487993 |
| `Art` | *string* | :heavy_check_mark: | URL of the art image. | /library/metadata/44288/art/1736487993 |
| `Theme` | *string* | :heavy_minus_sign: | URL of the theme image. | /library/metadata/44288/theme/1736487993 |
| `Duration` | *int* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 |
| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | The original release date. | 2015-02-08 |
| `LeafCount` | *long* | :heavy_minus_sign: | The total number of episodes (or leaves). | 63 |
| `ViewedLeafCount` | *long* | :heavy_minus_sign: | The number of episodes that have been viewed. | 4 |
| `ChildCount` | *int* | :heavy_minus_sign: | The number of child items. | 6 |
| `AddedAt` | *long* | :heavy_check_mark: | N/A | 1556281940 |
| `UpdatedAt` | *long* | :heavy_check_mark: | N/A | 1556281940 |
| `AudienceRatingImage` | *string* | :heavy_minus_sign: | The URL for the audience rating image. | themoviedb://image.rating |
| `ParentIndex` | *long* | :heavy_minus_sign: | The index number of the parent entity, which could indicate its order or position. | 2 |
| `ParentThumb` | *string* | :heavy_minus_sign: | The URL of the parent's thumbnail image. | /library/metadata/48047/thumb/1671800243 |
| `GrandparentThumb` | *string* | :heavy_minus_sign: | The URL of the grandparent's thumbnail image. | /library/metadata/45520/thumb/1736488003 |
| `GrandparentArt` | *string* | :heavy_minus_sign: | The URL of the grandparent's art image. | /library/metadata/45520/art/1736488003 |
| `Media` | List<[GetMediaMetaDataMedia](../../Models/Requests/GetMediaMetaDataMedia.md)> | :heavy_minus_sign: | N/A | |
| `Image` | List<[GetMediaMetaDataImage](../../Models/Requests/GetMediaMetaDataImage.md)> | :heavy_check_mark: | An array of image objects. | |
| `UltraBlurColors` | [GetMediaMetaDataUltraBlurColors](../../Models/Requests/GetMediaMetaDataUltraBlurColors.md) | :heavy_check_mark: | N/A | |
| `Genre` | List<[GetMediaMetaDataGenre](../../Models/Requests/GetMediaMetaDataGenre.md)> | :heavy_minus_sign: | An array of genre tags. | |
| `Country` | List<[GetMediaMetaDataCountry](../../Models/Requests/GetMediaMetaDataCountry.md)> | :heavy_minus_sign: | An array of country tags. | |
| `Guids` | List<[GetMediaMetaDataGuids](../../Models/Requests/GetMediaMetaDataGuids.md)> | :heavy_minus_sign: | An array of GUID objects. | |
| `Ratings` | List<[Ratings](../../Models/Requests/Ratings.md)> | :heavy_minus_sign: | An array of rating objects. | |
| `Role` | List<[GetMediaMetaDataRole](../../Models/Requests/GetMediaMetaDataRole.md)> | :heavy_minus_sign: | An array of Actor roles. | |
| `Director` | List<[GetMediaMetaDataDirector](../../Models/Requests/GetMediaMetaDataDirector.md)> | :heavy_minus_sign: | An array of Director roles. | |
| `Writer` | List<[GetMediaMetaDataWriter](../../Models/Requests/GetMediaMetaDataWriter.md)> | :heavy_minus_sign: | An array of Writer roles. | |
| `Producer` | List<[GetMediaMetaDataProducer](../../Models/Requests/GetMediaMetaDataProducer.md)> | :heavy_minus_sign: | An array of Writer roles. | |
| `Similar` | List<[GetMediaMetaDataSimilar](../../Models/Requests/GetMediaMetaDataSimilar.md)> | :heavy_minus_sign: | An array of similar content objects. | |
| `Location` | List<[GetMediaMetaDataLocation](../../Models/Requests/GetMediaMetaDataLocation.md)> | :heavy_minus_sign: | An array of location objects. | |
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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 |
| `Key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 |
| `Guid` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `Slug` | *string* | :heavy_check_mark: | A URLfriendly version of the media title. | 4-for-texas |
| `Studio` | *string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios |
| `Type` | [GetMediaMetaDataType](../../Models/Requests/GetMediaMetaDataType.md) | :heavy_check_mark: | N/A | movie |
| `Title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water |
| `TitleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale |
| `ContentRating` | *string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 |
| `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/> |
| `Rating` | *float* | :heavy_check_mark: | The critic rating for the media item. | 7.6 |
| `AudienceRating` | *double* | :heavy_check_mark: | The audience rating for the media item. | 9.2 |
| `Year` | *int* | :heavy_minus_sign: | The release year of the media item. | 2022 |
| `Tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. |
| `Thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 |
| `Art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 |
| `Theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 |
| `Index` | *int* | :heavy_check_mark: | The index position of the media item. | 1 |
| `LeafCount` | *int* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 |
| `ViewedLeafCount` | *int* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 |
| `ChildCount` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 |
| `SeasonCount` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 |
| `Duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 |
| `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 |
| `AddedAt` | *long* | :heavy_check_mark: | N/A | 1556281940 |
| `UpdatedAt` | *long* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
| `AudienceRatingImage` | *string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright |
| `ChapterSource` | *string* | :heavy_minus_sign: | The source from which chapter data is derived. | media |
| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 |
| `OriginalTitle` | *string* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 |
| `ParentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent media item. | 66 |
| `GrandparentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 |
| `ParentGuid` | *string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `GrandparentGuid` | *string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `GrandparentSlug` | *string* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 |
| `GrandparentKey` | *string* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 |
| `ParentKey` | *string* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 |
| `GrandparentTitle` | *string* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica |
| `GrandparentThumb` | *string* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 |
| `GrandparentTheme` | *string* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 |
| `GrandparentArt` | *string* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 |
| `ParentTitle` | *string* | :heavy_minus_sign: | The title of the parent media item. | Caprica |
| `ParentIndex` | *int* | :heavy_minus_sign: | The index position of the parent media item. | 1 |
| `ParentThumb` | *string* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 |
| `RatingImage` | *string* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe |
| `ViewCount` | *int* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 |
| `ViewOffset` | *int* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 |
| `SkipCount` | *int* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 |
| `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 |
| `LastRatedAt` | *long* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 |
| `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 |
| `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 |
| `LastViewedAt` | *int* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 |
| `UserRating` | *float* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 |
| `Image` | List<[GetMediaMetaDataImage](../../Models/Requests/GetMediaMetaDataImage.md)> | :heavy_minus_sign: | N/A | |
| `UltraBlurColors` | [GetMediaMetaDataUltraBlurColors](../../Models/Requests/GetMediaMetaDataUltraBlurColors.md) | :heavy_minus_sign: | N/A | |
| `LibrarySectionID` | *long* | :heavy_check_mark: | The identifier for the library section. | 1 |
| `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | Movies |
| `LibrarySectionKey` | *string* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 |
| `Media` | List<[GetMediaMetaDataMedia](../../Models/Requests/GetMediaMetaDataMedia.md)> | :heavy_minus_sign: | N/A | |
| `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
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | The unique role identifier. | 109501 |
| `Filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 |
| `Tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk |
| `TagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 |
| `Role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill |
| `Thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg |
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | Unique identifier for the actor or role. | 126522 |
| `Tag` | *string* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller |
| `Role` | *string* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge |
| `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 |
| `TagKey` | *string* | :heavy_minus_sign: | A unique key associated with the actor's tag, used for internal identification. | 5d77683d85719b001f3a535e |
| `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
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `StreamType` | *int* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 |
| `Default` | *bool* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `Index` | *int* | :heavy_check_mark: | Index of the stream. | 0 |
| `Bitrate` | *int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `Language` | *string* | :heavy_minus_sign: | Language of the stream. | English |
| `LanguageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
| `LanguageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng |
| `HeaderCompression` | *bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `DOVIBLCompatID` | *int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
| `DOVIBLPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
| `DOVIELPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
| `DOVILevel` | *int* | :heavy_minus_sign: | Dolby Vision level. | 6 |
| `DOVIPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
| `DOVIProfile` | *int* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
| `DOVIRPUPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
| `DOVIVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
| `BitDepth` | *int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `ChromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft |
| `ChromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
| `CodedHeight` | *int* | :heavy_minus_sign: | Coded video height. | 1608 |
| `CodedWidth` | *int* | :heavy_minus_sign: | Coded video width. | 3840 |
| `ClosedCaptions` | *bool* | :heavy_minus_sign: | N/A | true |
| `ColorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 |
| `ColorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
| `ColorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc |
| `ColorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `FrameRate` | *float* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `Height` | *int* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `Level` | *int* | :heavy_minus_sign: | Video level. | 150 |
| `Original` | *bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `HasScalingMatrix` | *bool* | :heavy_minus_sign: | N/A | false |
| `Profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 |
| `ScanType` | *string* | :heavy_minus_sign: | N/A | progressive |
| `EmbeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive |
| `RefFrames` | *int* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `Width` | *int* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `ExtendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `Selected` | *bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
| `Forced` | *bool* | :heavy_minus_sign: | N/A | true |
| `Channels` | *int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `AudioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `SamplingRate` | *int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `CanAutoSync` | *bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `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 |
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `Id` | *long* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `StreamType` | [GetMediaMetaDataStreamType](../../Models/Requests/GetMediaMetaDataStreamType.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 |
| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `Index` | *int* | :heavy_minus_sign: | Index of the stream. | 0 |
| `Bitrate` | *int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `Language` | *string* | :heavy_minus_sign: | Language of the stream. | English |
| `LanguageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
| `LanguageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng |
| `HeaderCompression` | *bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `DOVIBLCompatID` | *int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
| `DOVIBLPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
| `DOVIELPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
| `DOVILevel` | *int* | :heavy_minus_sign: | Dolby Vision level. | 6 |
| `DOVIPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
| `DOVIProfile` | *int* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
| `DOVIRPUPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
| `DOVIVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
| `BitDepth` | *int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `ChromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft |
| `ChromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
| `CodedHeight` | *int* | :heavy_minus_sign: | Coded video height. | 1608 |
| `CodedWidth` | *int* | :heavy_minus_sign: | Coded video width. | 3840 |
| `ClosedCaptions` | *bool* | :heavy_minus_sign: | N/A | true |
| `ColorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 |
| `ColorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
| `ColorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc |
| `ColorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `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 |
| `Level` | *int* | :heavy_minus_sign: | Video level. | 150 |
| `Original` | *bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `HasScalingMatrix` | *bool* | :heavy_minus_sign: | N/A | false |
| `Profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 |
| `ScanType` | *string* | :heavy_minus_sign: | N/A | progressive |
| `EmbeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive |
| `RefFrames` | *int* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `Width` | *int* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `ExtendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `Selected` | *bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
| `Forced` | *bool* | :heavy_minus_sign: | N/A | true |
| `Channels` | *int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `AudioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `SamplingRate` | *int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `CanAutoSync` | *bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `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
| Field | Type | Required | Description | Example |
| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- |
| `TopLeft` | *string* | :heavy_check_mark: | The top-left color value. | 11333a |
| `TopRight` | *string* | :heavy_check_mark: | The top-right color value. | 1d2721 |
| `BottomRight` | *string* | :heavy_check_mark: | The bottom-right color value. | 5c451d |
| `BottomLeft` | *string* | :heavy_check_mark: | The bottom-left color value. | 372c10 |
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `TopLeft` | *string* | :heavy_check_mark: | N/A | 11333b |
| `TopRight` | *string* | :heavy_check_mark: | N/A | 0a232d |
| `BottomRight` | *string* | :heavy_check_mark: | N/A | 73958 |
| `BottomLeft` | *string* | :heavy_check_mark: | N/A | 1f5066 |

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
# 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.

View File

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

View File

@@ -3,8 +3,8 @@
## Fields
| 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/> | |
| `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 |
| 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/> | |
| `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 |

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 |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `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 |
| `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 |

View File

@@ -1,8 +1,8 @@
# QueryParamForce
Force overwriting of duplicate playlists.
By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting.
Force overwriting of duplicate playlists.
By default, a playlist file uploaded with the same path will overwrite the existing playlist.
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.

View File

@@ -6,10 +6,11 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `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 |
| `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 |
| `Language` | *string* | :heavy_minus_sign: | Language of the stream. | English |
| `LanguageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
@@ -34,6 +35,7 @@
| `ColorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc |
| `ColorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `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 |
| `Level` | *int* | :heavy_minus_sign: | Video level. | 150 |
| `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
| 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 |
| `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 |
| 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 |
| `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 |

View File

@@ -5,7 +5,7 @@
| 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 |
| `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 |

View File

@@ -165,14 +165,14 @@ var res = await sdk.Library.GetAllLibrariesAsync();
## 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:
### Directories
Organized into three categories:
- **Primary Directories**:
- **Primary Directories**:
- Used in some clients for quick access to media subsets (e.g., "All", "On Deck").
- Most can be replicated via media queries.
- Customizable by users.
@@ -223,10 +223,10 @@ var res = await sdk.Library.GetLibraryDetailsAsync(
### Parameters
| 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 |
| `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/> | |
| 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 |
| `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

View File

@@ -37,11 +37,11 @@ var res = await sdk.Log.LogLineAsync(
### Parameters
| 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/> | |
| `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 |
| 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/> | |
| `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 |
### Response
@@ -57,13 +57,13 @@ var res = await sdk.Log.LogLineAsync(
## LogMultiLine
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.
Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as 'level', 'message', and 'source'.
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.
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`).
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.
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.
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:
- `0`: Error - Critical issues that require immediate attention.

View File

@@ -3,9 +3,9 @@
## 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.
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.
@@ -370,11 +370,11 @@ var res = await sdk.Playlists.UploadPlaylistAsync(
### Parameters
| 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 |
| `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 |
| 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 |
| `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 |
### Response