Compare commits

..

5 Commits

Author SHA1 Message Date
speakeasybot
227e2351d5 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.404.5 2024-09-30 00:23:16 +00:00
JasonLandbridge
3bd4f51297 Merge remote-tracking branch 'origin/main' 2024-09-29 09:09:51 +02:00
speakeasybot
4828de2345 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.404.5 2024-09-29 00:24:39 +00:00
JasonLandbridge
2beb707ed5 make project intelij compatible 2024-09-28 10:01:25 +02:00
speakeasybot
affe5d5a8c ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.404.5 2024-09-28 00:21:51 +00:00
53 changed files with 829 additions and 138 deletions

View File

@@ -0,0 +1 @@
LukeHagar.PlexAPI.SDK

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RiderProjectSettingsUpdater">
<option name="vcsConfiguration" value="3" />
</component>
</project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -1,12 +1,12 @@
lockVersion: 2.0.0 lockVersion: 2.0.0
id: 5a8dbcbc-e0ee-41f0-9d84-b8b50567d1e9 id: 5a8dbcbc-e0ee-41f0-9d84-b8b50567d1e9
management: management:
docChecksum: 5e039359563b41bbe118fc6701ba22dc docChecksum: f387ae03f10decba230886eaab322b20
docVersion: 0.0.3 docVersion: 0.0.3
speakeasyVersion: 1.402.14 speakeasyVersion: 1.404.5
generationVersion: 2.422.22 generationVersion: 2.426.2
releaseVersion: 0.8.1 releaseVersion: 0.8.4
configChecksum: 67c2fafca972224c918ba21859003791 configChecksum: 443a1c0c9fca201cfe4e2527124b0cad
repoURL: https://github.com/LukeHagar/plexcsharp.git repoURL: https://github.com/LukeHagar/plexcsharp.git
repoSubDirectory: . repoSubDirectory: .
published: true published: true
@@ -14,7 +14,7 @@ features:
csharp: csharp:
additionalDependencies: 0.1.0 additionalDependencies: 0.1.0
constsAndDefaults: 0.0.1 constsAndDefaults: 0.0.1
core: 3.10.1 core: 3.10.2
deprecations: 2.81.2 deprecations: 2.81.2
enums: 2.82.0 enums: 2.82.0
errors: 0.0.2 errors: 0.0.2
@@ -1922,6 +1922,7 @@ examples:
includeHttps: 1 includeHttps: 1
includeRelay: 1 includeRelay: 1
includeIPv6: 1 includeIPv6: 1
X-Plex-Client-Identifier: "gcgzw5rz2xovp84b4vha3a40"
responses: responses:
"401": "401":
application/json: {"errors": []} application/json: {"errors": []}
@@ -1950,7 +1951,12 @@ examples:
parameters: parameters:
path: path:
pinID: 408895 pinID: 408895
query: {} query:
X-Plex-Client-Identifier: "gcgzw5rz2xovp84b4vha3a40"
X-Plex-Product: "Plex Web"
X-Plex-Device: "Linux"
X-Plex-Version: "4.133.0"
X-Plex-Platform: "Chrome"
responses: responses:
"200": "200":
application/json: {"id": 308667304, "code": "7RQZ", "product": "0", "trusted": false, "qr": "https://plex.tv/api/v2/pins/qr/7RQZ", "clientIdentifier": "string", "location": {"code": "VI", "continent_code": "NA", "country": "United States Virgin Islands", "city": "Amsterdam", "european_union_member": true, "time_zone": "America/St_Thomas", "postal_code": 802, "in_privacy_restricted_country": true, "in_privacy_restricted_region": true, "subdivisions": "Saint Thomas", "coordinates": "18.3381, -64.8941"}, "expiresIn": 876, "createdAt": "2024-07-16T17:03:05Z", "expiresAt": "2024-07-16T17:18:05Z", "authToken": null, "newRegistration": null} application/json: {"id": 308667304, "code": "7RQZ", "product": "0", "trusted": false, "qr": "https://plex.tv/api/v2/pins/qr/7RQZ", "clientIdentifier": "string", "location": {"code": "VI", "continent_code": "NA", "country": "United States Virgin Islands", "city": "Amsterdam", "european_union_member": true, "time_zone": "America/St_Thomas", "postal_code": 802, "in_privacy_restricted_country": true, "in_privacy_restricted_region": true, "subdivisions": "Saint Thomas", "coordinates": "18.3381, -64.8941"}, "expiresIn": 876, "createdAt": "2024-07-16T17:03:05Z", "expiresAt": "2024-07-16T17:18:05Z", "authToken": null, "newRegistration": null}
@@ -2594,7 +2600,7 @@ examples:
speakeasy-default-get-token-details: speakeasy-default-get-token-details:
responses: responses:
"200": "200":
application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": null, "mailingListActive": false, "mailingListStatus": "unsubscribed", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null} application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": null, "mailingListActive": false, "mailingListStatus": "active", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null}
"400": "400":
application/json: {"errors": []} application/json: {"errors": []}
"401": "401":

View File

@@ -12,7 +12,7 @@ generation:
auth: auth:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
csharp: csharp:
version: 0.8.1 version: 0.8.4
additionalDependencies: [] additionalDependencies: []
author: LukeHagar author: LukeHagar
clientServerStatusCodesAsErrors: true clientServerStatusCodesAsErrors: true

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.402.14 speakeasyVersion: 1.404.5
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
@@ -16,8 +16,8 @@ sources:
- main - main
plexapi: plexapi:
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:b7081644a59eca24a22b8009506fcf459bf18b07dce0462b39bc36c40d94862e sourceRevisionDigest: sha256:a9bd67eaa35b8311162ae769209f725cc5da16e57976b4928c54594c02cd451c
sourceBlobDigest: sha256:6b822f23afbc630bbc0fc12299316ea03d3671a2c2a81241ad4caa49022b430e sourceBlobDigest: sha256:43ddffba137c37d2f64f8db185179a273bcc5ca7242594c932da99d1eb7f3e98
tags: tags:
- latest - latest
- main - main
@@ -25,10 +25,10 @@ targets:
plexcsharp: plexcsharp:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:b7081644a59eca24a22b8009506fcf459bf18b07dce0462b39bc36c40d94862e sourceRevisionDigest: sha256:a9bd67eaa35b8311162ae769209f725cc5da16e57976b4928c54594c02cd451c
sourceBlobDigest: sha256:6b822f23afbc630bbc0fc12299316ea03d3671a2c2a81241ad4caa49022b430e sourceBlobDigest: sha256:43ddffba137c37d2f64f8db185179a273bcc5ca7242594c932da99d1eb7f3e98
codeSamplesNamespace: code-samples-csharp-plexcsharp codeSamplesNamespace: code-samples-csharp-plexcsharp
codeSamplesRevisionDigest: sha256:6838159d31ebc591bad7395890ed6d3d9054554b4906bcc7b9d1fb1225379e54 codeSamplesRevisionDigest: sha256:7ded6433193c6ba017e3716ef54439dc16175b652f8c048dbaef244a52cf1af2
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest

View File

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

View File

@@ -85,20 +85,20 @@ namespace LukeHagar.PlexAPI.SDK
/// List of server URLs available for the getTokenDetails operation. /// List of server URLs available for the getTokenDetails operation.
/// </summary> /// </summary>
public static readonly string[] GetTokenDetailsServerList = { public static readonly string[] GetTokenDetailsServerList = {
"https://plex.tv/api/v2/", "https://plex.tv/api/v2",
}; };
/// <summary> /// <summary>
/// List of server URLs available for the post-users-sign-in-data operation. /// List of server URLs available for the post-users-sign-in-data operation.
/// </summary> /// </summary>
public static readonly string[] PostUsersSignInDataServerList = { public static readonly string[] PostUsersSignInDataServerList = {
"https://plex.tv/api/v2/", "https://plex.tv/api/v2",
}; };
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.8.1"; private const string _sdkVersion = "0.8.4";
private const string _sdkGenVersion = "2.422.22"; private const string _sdkGenVersion = "2.426.2";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.8.4 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,14 +3,38 @@
<PropertyGroup> <PropertyGroup>
<IsPackable>true</IsPackable> <IsPackable>true</IsPackable>
<PackageId>LukeHagar.PlexAPI.SDK</PackageId> <PackageId>LukeHagar.PlexAPI.SDK</PackageId>
<Version>0.8.1</Version> <Version>0.8.4</Version>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<Authors>LukeHagar</Authors> <Authors>LukeHagar</Authors>
<Copyright>Copyright (c) LukeHagar 2024</Copyright> <Copyright>Copyright (c) LukeHagar 2024</Copyright>
<RepositoryUrl>https://github.com/LukeHagar/plexcsharp.git</RepositoryUrl> <RepositoryUrl>https://github.com/LukeHagar/plexcsharp.git</RepositoryUrl>
<RepositoryType>git</RepositoryType> <RepositoryType>git</RepositoryType>
<PackageTags>Plex Media Server SDK</PackageTags> <PackageTags>Plex Media Server SDK</PackageTags>
<Description>Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server</Description> <Description># Plex Media Server OpenAPI Specification
An Open Source OpenAPI Specification for Plex Media Server
Automation and SDKs provided by [Speakeasy](https://speakeasyapi.dev/)
## Documentation
[API Documentation](https://plexapi.dev)
## SDKs
The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the [main specification Repository](https://github.com/LukeHagar/plex-api-spec).
| Language | Repository | Releases | Other |
| --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
| Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) | - |
| JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) | - |
| Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) |
| Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - |
| Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - |
| PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - |
| Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - |
| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | -
</Description>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>

View File

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

View File

@@ -29,6 +29,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
AdCountdownTimer, AdCountdownTimer,
[JsonProperty("adaptive_bitrate")] [JsonProperty("adaptive_bitrate")]
AdaptiveBitrate, AdaptiveBitrate,
[JsonProperty("album-types")]
AlbumTypes,
[JsonProperty("allow_dvr")]
AllowDvr,
[JsonProperty("amazon-loop-debug")] [JsonProperty("amazon-loop-debug")]
AmazonLoopDebug, AmazonLoopDebug,
[JsonProperty("avod-ad-analysis")] [JsonProperty("avod-ad-analysis")]
@@ -37,10 +41,16 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
AvodNewMedia, AvodNewMedia,
[JsonProperty("blacklist_get_signin")] [JsonProperty("blacklist_get_signin")]
BlacklistGetSignin, BlacklistGetSignin,
[JsonProperty("boost-voices")]
BoostVoices,
[JsonProperty("camera_upload")]
CameraUpload,
[JsonProperty("client-radio-stations")] [JsonProperty("client-radio-stations")]
ClientRadioStations, ClientRadioStations,
[JsonProperty("cloudflare-turnstile-required")] [JsonProperty("cloudflare-turnstile-required")]
CloudflareTurnstileRequired, CloudflareTurnstileRequired,
[JsonProperty("cloudsync")]
Cloudsync,
[JsonProperty("collections")] [JsonProperty("collections")]
Collections, Collections,
[JsonProperty("comments_and_replies_push_notifications")] [JsonProperty("comments_and_replies_push_notifications")]
@@ -49,30 +59,50 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
CommunityAccessPlexTv, CommunityAccessPlexTv,
[JsonProperty("companions_sonos")] [JsonProperty("companions_sonos")]
CompanionsSonos, CompanionsSonos,
[JsonProperty("content_filter")]
ContentFilter,
[JsonProperty("custom-home-removal")] [JsonProperty("custom-home-removal")]
CustomHomeRemoval, CustomHomeRemoval,
[JsonProperty("disable_home_user_friendships")] [JsonProperty("disable_home_user_friendships")]
DisableHomeUserFriendships, DisableHomeUserFriendships,
[JsonProperty("disable_sharing_friendships")] [JsonProperty("disable_sharing_friendships")]
DisableSharingFriendships, DisableSharingFriendships,
[JsonProperty("downloads-gating")]
DownloadsGating,
[JsonProperty("drm_support")] [JsonProperty("drm_support")]
DrmSupport, DrmSupport,
[JsonProperty("dvr")]
Dvr,
[JsonProperty("dvr-block-unsupported-countries")]
DvrBlockUnsupportedCountries,
[JsonProperty("epg-recent-channels")]
EpgRecentChannels,
[JsonProperty("exclude restrictions")] [JsonProperty("exclude restrictions")]
ExcludeRestrictions, ExcludeRestrictions,
[JsonProperty("federated-auth")] [JsonProperty("federated-auth")]
FederatedAuth, FederatedAuth,
[JsonProperty("friend_request_push_notifications")] [JsonProperty("friend_request_push_notifications")]
FriendRequestPushNotifications, FriendRequestPushNotifications,
[JsonProperty("grandfather-sync")]
GrandfatherSync,
[JsonProperty("guided-upgrade")] [JsonProperty("guided-upgrade")]
GuidedUpgrade, GuidedUpgrade,
[JsonProperty("hardware_transcoding")]
HardwareTranscoding,
[JsonProperty("home")] [JsonProperty("home")]
Home, Home,
[JsonProperty("hwtranscode")]
Hwtranscode,
[JsonProperty("imagga-v2")]
ImaggaV2,
[JsonProperty("increase-password-complexity")] [JsonProperty("increase-password-complexity")]
IncreasePasswordComplexity, IncreasePasswordComplexity,
[JsonProperty("ios14-privacy-banner")] [JsonProperty("ios14-privacy-banner")]
Ios14PrivacyBanner, Ios14PrivacyBanner,
[JsonProperty("iterable-notification-tokens")] [JsonProperty("iterable-notification-tokens")]
IterableNotificationTokens, IterableNotificationTokens,
[JsonProperty("item_clusters")]
ItemClusters,
[JsonProperty("keep-payment-method")] [JsonProperty("keep-payment-method")]
KeepPaymentMethod, KeepPaymentMethod,
[JsonProperty("kevin-bacon")] [JsonProperty("kevin-bacon")]
@@ -89,34 +119,68 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
LiveTvSupportIncompleteSegments, LiveTvSupportIncompleteSegments,
[JsonProperty("livetv")] [JsonProperty("livetv")]
Livetv, Livetv,
[JsonProperty("lyrics")]
Lyrics,
[JsonProperty("metadata_search")] [JsonProperty("metadata_search")]
MetadataSearch, MetadataSearch,
[JsonProperty("music-analysis")]
MusicAnalysis,
[JsonProperty("music_videos")]
MusicVideos,
[JsonProperty("new_plex_pass_prices")] [JsonProperty("new_plex_pass_prices")]
NewPlexPassPrices, NewPlexPassPrices,
[JsonProperty("news-provider-sunset-modal")] [JsonProperty("news-provider-sunset-modal")]
NewsProviderSunsetModal, NewsProviderSunsetModal,
[JsonProperty("nominatim")]
Nominatim,
[JsonProperty("pass")]
Pass,
[JsonProperty("photos-favorites")] [JsonProperty("photos-favorites")]
PhotosFavorites, PhotosFavorites,
[JsonProperty("photos-metadata-edition")] [JsonProperty("photos-metadata-edition")]
PhotosMetadataEdition, PhotosMetadataEdition,
[JsonProperty("photosV6-edit")]
PhotosV6Edit,
[JsonProperty("photosV6-tv-albums")]
PhotosV6TvAlbums,
[JsonProperty("pms_health")] [JsonProperty("pms_health")]
PmsHealth, PmsHealth,
[JsonProperty("premium-dashboard")]
PremiumDashboard,
[JsonProperty("premium_music_metadata")]
PremiumMusicMetadata,
[JsonProperty("radio")] [JsonProperty("radio")]
Radio, Radio,
[JsonProperty("rate-limit-client-token")] [JsonProperty("rate-limit-client-token")]
RateLimitClientToken, RateLimitClientToken,
[JsonProperty("scrobbling-service-plex-tv")] [JsonProperty("scrobbling-service-plex-tv")]
ScrobblingServicePlexTv, ScrobblingServicePlexTv,
[JsonProperty("session_bandwidth_restrictions")]
SessionBandwidthRestrictions,
[JsonProperty("session_kick")]
SessionKick,
[JsonProperty("shared_server_notification")] [JsonProperty("shared_server_notification")]
SharedServerNotification, SharedServerNotification,
[JsonProperty("shared_source_notification")] [JsonProperty("shared_source_notification")]
SharedSourceNotification, SharedSourceNotification,
[JsonProperty("signin_notification")]
SigninNotification,
[JsonProperty("signin_with_apple")] [JsonProperty("signin_with_apple")]
SigninWithApple, SigninWithApple,
[JsonProperty("silence-removal")]
SilenceRemoval,
[JsonProperty("sleep-timer")]
SleepTimer,
[JsonProperty("spring_serve_ad_provider")] [JsonProperty("spring_serve_ad_provider")]
SpringServeAdProvider, SpringServeAdProvider,
[JsonProperty("sync")]
Sync,
[JsonProperty("sweet-fades")]
SweetFades,
[JsonProperty("transcoder_cache")] [JsonProperty("transcoder_cache")]
TranscoderCache, TranscoderCache,
[JsonProperty("trailers")]
Trailers,
[JsonProperty("tuner-sharing")] [JsonProperty("tuner-sharing")]
TunerSharing, TunerSharing,
[JsonProperty("two-factor-authentication")] [JsonProperty("two-factor-authentication")]
@@ -125,14 +189,22 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
Unsupportedtuners, Unsupportedtuners,
[JsonProperty("upgrade-3ds2")] [JsonProperty("upgrade-3ds2")]
Upgrade3ds2, Upgrade3ds2,
[JsonProperty("visualizers")]
Visualizers,
[JsonProperty("vod-schema")] [JsonProperty("vod-schema")]
VodSchema, VodSchema,
[JsonProperty("vod_cloudflare")] [JsonProperty("vod_cloudflare")]
VodCloudflare, VodCloudflare,
[JsonProperty("volume-leveling")]
VolumeLeveling,
[JsonProperty("watch-together-invite")] [JsonProperty("watch-together-invite")]
WatchTogetherInvite, WatchTogetherInvite,
[JsonProperty("watchlist-rss")]
WatchlistRss,
[JsonProperty("web_server_dashboard")] [JsonProperty("web_server_dashboard")]
WebServerDashboard, WebServerDashboard,
[JsonProperty("webhooks")]
Webhooks,
} }
public static class FeaturesExtension public static class FeaturesExtension

View File

@@ -37,5 +37,17 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// </summary> /// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeIPv6")] [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeIPv6")]
public IncludeIPv6? IncludeIPv6 { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Disable; public IncludeIPv6? IncludeIPv6 { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Disable;
/// <summary>
/// The unique identifier for the client application<br/>
///
/// <remarks>
/// This is used to track the client application and its usage<br/>
/// (UUID, serial number, or other number unique per device)<br/>
///
/// </remarks>
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier")]
public string? ClientID { get; set; }
} }
} }

View File

@@ -19,5 +19,29 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
/// </summary> /// </summary>
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=pinID")] [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=pinID")]
public long PinID { get; set; } = default!; public long PinID { get; set; } = default!;
/// <summary>
/// The unique identifier for the client application<br/>
///
/// <remarks>
/// This is used to track the client application and its usage<br/>
/// (UUID, serial number, or other number unique per device)<br/>
///
/// </remarks>
/// </summary>
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier")]
public string? ClientID { get; set; }
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Product")]
public string? ClientName { get; set; }
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Device")]
public string? DeviceName { get; set; }
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Version")]
public string? ClientVersion { get; set; }
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Platform")]
public string? ClientPlatform { get; set; }
} }
} }

View File

@@ -29,6 +29,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
AdCountdownTimer, AdCountdownTimer,
[JsonProperty("adaptive_bitrate")] [JsonProperty("adaptive_bitrate")]
AdaptiveBitrate, AdaptiveBitrate,
[JsonProperty("album-types")]
AlbumTypes,
[JsonProperty("allow_dvr")]
AllowDvr,
[JsonProperty("amazon-loop-debug")] [JsonProperty("amazon-loop-debug")]
AmazonLoopDebug, AmazonLoopDebug,
[JsonProperty("avod-ad-analysis")] [JsonProperty("avod-ad-analysis")]
@@ -37,10 +41,16 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
AvodNewMedia, AvodNewMedia,
[JsonProperty("blacklist_get_signin")] [JsonProperty("blacklist_get_signin")]
BlacklistGetSignin, BlacklistGetSignin,
[JsonProperty("boost-voices")]
BoostVoices,
[JsonProperty("camera_upload")]
CameraUpload,
[JsonProperty("client-radio-stations")] [JsonProperty("client-radio-stations")]
ClientRadioStations, ClientRadioStations,
[JsonProperty("cloudflare-turnstile-required")] [JsonProperty("cloudflare-turnstile-required")]
CloudflareTurnstileRequired, CloudflareTurnstileRequired,
[JsonProperty("cloudsync")]
Cloudsync,
[JsonProperty("collections")] [JsonProperty("collections")]
Collections, Collections,
[JsonProperty("comments_and_replies_push_notifications")] [JsonProperty("comments_and_replies_push_notifications")]
@@ -49,30 +59,50 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
CommunityAccessPlexTv, CommunityAccessPlexTv,
[JsonProperty("companions_sonos")] [JsonProperty("companions_sonos")]
CompanionsSonos, CompanionsSonos,
[JsonProperty("content_filter")]
ContentFilter,
[JsonProperty("custom-home-removal")] [JsonProperty("custom-home-removal")]
CustomHomeRemoval, CustomHomeRemoval,
[JsonProperty("disable_home_user_friendships")] [JsonProperty("disable_home_user_friendships")]
DisableHomeUserFriendships, DisableHomeUserFriendships,
[JsonProperty("disable_sharing_friendships")] [JsonProperty("disable_sharing_friendships")]
DisableSharingFriendships, DisableSharingFriendships,
[JsonProperty("downloads-gating")]
DownloadsGating,
[JsonProperty("drm_support")] [JsonProperty("drm_support")]
DrmSupport, DrmSupport,
[JsonProperty("dvr")]
Dvr,
[JsonProperty("dvr-block-unsupported-countries")]
DvrBlockUnsupportedCountries,
[JsonProperty("epg-recent-channels")]
EpgRecentChannels,
[JsonProperty("exclude restrictions")] [JsonProperty("exclude restrictions")]
ExcludeRestrictions, ExcludeRestrictions,
[JsonProperty("federated-auth")] [JsonProperty("federated-auth")]
FederatedAuth, FederatedAuth,
[JsonProperty("friend_request_push_notifications")] [JsonProperty("friend_request_push_notifications")]
FriendRequestPushNotifications, FriendRequestPushNotifications,
[JsonProperty("grandfather-sync")]
GrandfatherSync,
[JsonProperty("guided-upgrade")] [JsonProperty("guided-upgrade")]
GuidedUpgrade, GuidedUpgrade,
[JsonProperty("hardware_transcoding")]
HardwareTranscoding,
[JsonProperty("home")] [JsonProperty("home")]
Home, Home,
[JsonProperty("hwtranscode")]
Hwtranscode,
[JsonProperty("imagga-v2")]
ImaggaV2,
[JsonProperty("increase-password-complexity")] [JsonProperty("increase-password-complexity")]
IncreasePasswordComplexity, IncreasePasswordComplexity,
[JsonProperty("ios14-privacy-banner")] [JsonProperty("ios14-privacy-banner")]
Ios14PrivacyBanner, Ios14PrivacyBanner,
[JsonProperty("iterable-notification-tokens")] [JsonProperty("iterable-notification-tokens")]
IterableNotificationTokens, IterableNotificationTokens,
[JsonProperty("item_clusters")]
ItemClusters,
[JsonProperty("keep-payment-method")] [JsonProperty("keep-payment-method")]
KeepPaymentMethod, KeepPaymentMethod,
[JsonProperty("kevin-bacon")] [JsonProperty("kevin-bacon")]
@@ -89,34 +119,68 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
LiveTvSupportIncompleteSegments, LiveTvSupportIncompleteSegments,
[JsonProperty("livetv")] [JsonProperty("livetv")]
Livetv, Livetv,
[JsonProperty("lyrics")]
Lyrics,
[JsonProperty("metadata_search")] [JsonProperty("metadata_search")]
MetadataSearch, MetadataSearch,
[JsonProperty("music-analysis")]
MusicAnalysis,
[JsonProperty("music_videos")]
MusicVideos,
[JsonProperty("new_plex_pass_prices")] [JsonProperty("new_plex_pass_prices")]
NewPlexPassPrices, NewPlexPassPrices,
[JsonProperty("news-provider-sunset-modal")] [JsonProperty("news-provider-sunset-modal")]
NewsProviderSunsetModal, NewsProviderSunsetModal,
[JsonProperty("nominatim")]
Nominatim,
[JsonProperty("pass")]
Pass,
[JsonProperty("photos-favorites")] [JsonProperty("photos-favorites")]
PhotosFavorites, PhotosFavorites,
[JsonProperty("photos-metadata-edition")] [JsonProperty("photos-metadata-edition")]
PhotosMetadataEdition, PhotosMetadataEdition,
[JsonProperty("photosV6-edit")]
PhotosV6Edit,
[JsonProperty("photosV6-tv-albums")]
PhotosV6TvAlbums,
[JsonProperty("pms_health")] [JsonProperty("pms_health")]
PmsHealth, PmsHealth,
[JsonProperty("premium-dashboard")]
PremiumDashboard,
[JsonProperty("premium_music_metadata")]
PremiumMusicMetadata,
[JsonProperty("radio")] [JsonProperty("radio")]
Radio, Radio,
[JsonProperty("rate-limit-client-token")] [JsonProperty("rate-limit-client-token")]
RateLimitClientToken, RateLimitClientToken,
[JsonProperty("scrobbling-service-plex-tv")] [JsonProperty("scrobbling-service-plex-tv")]
ScrobblingServicePlexTv, ScrobblingServicePlexTv,
[JsonProperty("session_bandwidth_restrictions")]
SessionBandwidthRestrictions,
[JsonProperty("session_kick")]
SessionKick,
[JsonProperty("shared_server_notification")] [JsonProperty("shared_server_notification")]
SharedServerNotification, SharedServerNotification,
[JsonProperty("shared_source_notification")] [JsonProperty("shared_source_notification")]
SharedSourceNotification, SharedSourceNotification,
[JsonProperty("signin_notification")]
SigninNotification,
[JsonProperty("signin_with_apple")] [JsonProperty("signin_with_apple")]
SigninWithApple, SigninWithApple,
[JsonProperty("silence-removal")]
SilenceRemoval,
[JsonProperty("sleep-timer")]
SleepTimer,
[JsonProperty("spring_serve_ad_provider")] [JsonProperty("spring_serve_ad_provider")]
SpringServeAdProvider, SpringServeAdProvider,
[JsonProperty("sync")]
Sync,
[JsonProperty("sweet-fades")]
SweetFades,
[JsonProperty("transcoder_cache")] [JsonProperty("transcoder_cache")]
TranscoderCache, TranscoderCache,
[JsonProperty("trailers")]
Trailers,
[JsonProperty("tuner-sharing")] [JsonProperty("tuner-sharing")]
TunerSharing, TunerSharing,
[JsonProperty("two-factor-authentication")] [JsonProperty("two-factor-authentication")]
@@ -125,14 +189,22 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
Unsupportedtuners, Unsupportedtuners,
[JsonProperty("upgrade-3ds2")] [JsonProperty("upgrade-3ds2")]
Upgrade3ds2, Upgrade3ds2,
[JsonProperty("visualizers")]
Visualizers,
[JsonProperty("vod-schema")] [JsonProperty("vod-schema")]
VodSchema, VodSchema,
[JsonProperty("vod_cloudflare")] [JsonProperty("vod_cloudflare")]
VodCloudflare, VodCloudflare,
[JsonProperty("volume-leveling")]
VolumeLeveling,
[JsonProperty("watch-together-invite")] [JsonProperty("watch-together-invite")]
WatchTogetherInvite, WatchTogetherInvite,
[JsonProperty("watchlist-rss")]
WatchlistRss,
[JsonProperty("web_server_dashboard")] [JsonProperty("web_server_dashboard")]
WebServerDashboard, WebServerDashboard,
[JsonProperty("webhooks")]
Webhooks,
} }
public static class GetTokenDetailsFeaturesExtension public static class GetTokenDetailsFeaturesExtension

View File

@@ -154,7 +154,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public bool? MailingListActive { get; set; } = false; public bool? MailingListActive { get; set; } = false;
/// <summary> /// <summary>
/// Your current mailing list status /// Your current mailing list status (active or unsubscribed)
/// </summary> /// </summary>
[JsonProperty("mailingListStatus")] [JsonProperty("mailingListStatus")]
public MailingListStatus MailingListStatus { get; set; } = default!; public MailingListStatus MailingListStatus { get; set; } = default!;

View File

@@ -14,7 +14,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using System; using System;
/// <summary> /// <summary>
/// Your current mailing list status /// Your current mailing list status (active or unsubscribed)
/// </summary> /// </summary>
public enum MailingListStatus public enum MailingListStatus
{ {

View File

@@ -29,6 +29,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
AdCountdownTimer, AdCountdownTimer,
[JsonProperty("adaptive_bitrate")] [JsonProperty("adaptive_bitrate")]
AdaptiveBitrate, AdaptiveBitrate,
[JsonProperty("album-types")]
AlbumTypes,
[JsonProperty("allow_dvr")]
AllowDvr,
[JsonProperty("amazon-loop-debug")] [JsonProperty("amazon-loop-debug")]
AmazonLoopDebug, AmazonLoopDebug,
[JsonProperty("avod-ad-analysis")] [JsonProperty("avod-ad-analysis")]
@@ -37,10 +41,16 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
AvodNewMedia, AvodNewMedia,
[JsonProperty("blacklist_get_signin")] [JsonProperty("blacklist_get_signin")]
BlacklistGetSignin, BlacklistGetSignin,
[JsonProperty("boost-voices")]
BoostVoices,
[JsonProperty("camera_upload")]
CameraUpload,
[JsonProperty("client-radio-stations")] [JsonProperty("client-radio-stations")]
ClientRadioStations, ClientRadioStations,
[JsonProperty("cloudflare-turnstile-required")] [JsonProperty("cloudflare-turnstile-required")]
CloudflareTurnstileRequired, CloudflareTurnstileRequired,
[JsonProperty("cloudsync")]
Cloudsync,
[JsonProperty("collections")] [JsonProperty("collections")]
Collections, Collections,
[JsonProperty("comments_and_replies_push_notifications")] [JsonProperty("comments_and_replies_push_notifications")]
@@ -49,30 +59,50 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
CommunityAccessPlexTv, CommunityAccessPlexTv,
[JsonProperty("companions_sonos")] [JsonProperty("companions_sonos")]
CompanionsSonos, CompanionsSonos,
[JsonProperty("content_filter")]
ContentFilter,
[JsonProperty("custom-home-removal")] [JsonProperty("custom-home-removal")]
CustomHomeRemoval, CustomHomeRemoval,
[JsonProperty("disable_home_user_friendships")] [JsonProperty("disable_home_user_friendships")]
DisableHomeUserFriendships, DisableHomeUserFriendships,
[JsonProperty("disable_sharing_friendships")] [JsonProperty("disable_sharing_friendships")]
DisableSharingFriendships, DisableSharingFriendships,
[JsonProperty("downloads-gating")]
DownloadsGating,
[JsonProperty("drm_support")] [JsonProperty("drm_support")]
DrmSupport, DrmSupport,
[JsonProperty("dvr")]
Dvr,
[JsonProperty("dvr-block-unsupported-countries")]
DvrBlockUnsupportedCountries,
[JsonProperty("epg-recent-channels")]
EpgRecentChannels,
[JsonProperty("exclude restrictions")] [JsonProperty("exclude restrictions")]
ExcludeRestrictions, ExcludeRestrictions,
[JsonProperty("federated-auth")] [JsonProperty("federated-auth")]
FederatedAuth, FederatedAuth,
[JsonProperty("friend_request_push_notifications")] [JsonProperty("friend_request_push_notifications")]
FriendRequestPushNotifications, FriendRequestPushNotifications,
[JsonProperty("grandfather-sync")]
GrandfatherSync,
[JsonProperty("guided-upgrade")] [JsonProperty("guided-upgrade")]
GuidedUpgrade, GuidedUpgrade,
[JsonProperty("hardware_transcoding")]
HardwareTranscoding,
[JsonProperty("home")] [JsonProperty("home")]
Home, Home,
[JsonProperty("hwtranscode")]
Hwtranscode,
[JsonProperty("imagga-v2")]
ImaggaV2,
[JsonProperty("increase-password-complexity")] [JsonProperty("increase-password-complexity")]
IncreasePasswordComplexity, IncreasePasswordComplexity,
[JsonProperty("ios14-privacy-banner")] [JsonProperty("ios14-privacy-banner")]
Ios14PrivacyBanner, Ios14PrivacyBanner,
[JsonProperty("iterable-notification-tokens")] [JsonProperty("iterable-notification-tokens")]
IterableNotificationTokens, IterableNotificationTokens,
[JsonProperty("item_clusters")]
ItemClusters,
[JsonProperty("keep-payment-method")] [JsonProperty("keep-payment-method")]
KeepPaymentMethod, KeepPaymentMethod,
[JsonProperty("kevin-bacon")] [JsonProperty("kevin-bacon")]
@@ -89,34 +119,68 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
LiveTvSupportIncompleteSegments, LiveTvSupportIncompleteSegments,
[JsonProperty("livetv")] [JsonProperty("livetv")]
Livetv, Livetv,
[JsonProperty("lyrics")]
Lyrics,
[JsonProperty("metadata_search")] [JsonProperty("metadata_search")]
MetadataSearch, MetadataSearch,
[JsonProperty("music-analysis")]
MusicAnalysis,
[JsonProperty("music_videos")]
MusicVideos,
[JsonProperty("new_plex_pass_prices")] [JsonProperty("new_plex_pass_prices")]
NewPlexPassPrices, NewPlexPassPrices,
[JsonProperty("news-provider-sunset-modal")] [JsonProperty("news-provider-sunset-modal")]
NewsProviderSunsetModal, NewsProviderSunsetModal,
[JsonProperty("nominatim")]
Nominatim,
[JsonProperty("pass")]
Pass,
[JsonProperty("photos-favorites")] [JsonProperty("photos-favorites")]
PhotosFavorites, PhotosFavorites,
[JsonProperty("photos-metadata-edition")] [JsonProperty("photos-metadata-edition")]
PhotosMetadataEdition, PhotosMetadataEdition,
[JsonProperty("photosV6-edit")]
PhotosV6Edit,
[JsonProperty("photosV6-tv-albums")]
PhotosV6TvAlbums,
[JsonProperty("pms_health")] [JsonProperty("pms_health")]
PmsHealth, PmsHealth,
[JsonProperty("premium-dashboard")]
PremiumDashboard,
[JsonProperty("premium_music_metadata")]
PremiumMusicMetadata,
[JsonProperty("radio")] [JsonProperty("radio")]
Radio, Radio,
[JsonProperty("rate-limit-client-token")] [JsonProperty("rate-limit-client-token")]
RateLimitClientToken, RateLimitClientToken,
[JsonProperty("scrobbling-service-plex-tv")] [JsonProperty("scrobbling-service-plex-tv")]
ScrobblingServicePlexTv, ScrobblingServicePlexTv,
[JsonProperty("session_bandwidth_restrictions")]
SessionBandwidthRestrictions,
[JsonProperty("session_kick")]
SessionKick,
[JsonProperty("shared_server_notification")] [JsonProperty("shared_server_notification")]
SharedServerNotification, SharedServerNotification,
[JsonProperty("shared_source_notification")] [JsonProperty("shared_source_notification")]
SharedSourceNotification, SharedSourceNotification,
[JsonProperty("signin_notification")]
SigninNotification,
[JsonProperty("signin_with_apple")] [JsonProperty("signin_with_apple")]
SigninWithApple, SigninWithApple,
[JsonProperty("silence-removal")]
SilenceRemoval,
[JsonProperty("sleep-timer")]
SleepTimer,
[JsonProperty("spring_serve_ad_provider")] [JsonProperty("spring_serve_ad_provider")]
SpringServeAdProvider, SpringServeAdProvider,
[JsonProperty("sync")]
Sync,
[JsonProperty("sweet-fades")]
SweetFades,
[JsonProperty("transcoder_cache")] [JsonProperty("transcoder_cache")]
TranscoderCache, TranscoderCache,
[JsonProperty("trailers")]
Trailers,
[JsonProperty("tuner-sharing")] [JsonProperty("tuner-sharing")]
TunerSharing, TunerSharing,
[JsonProperty("two-factor-authentication")] [JsonProperty("two-factor-authentication")]
@@ -125,14 +189,22 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
Unsupportedtuners, Unsupportedtuners,
[JsonProperty("upgrade-3ds2")] [JsonProperty("upgrade-3ds2")]
Upgrade3ds2, Upgrade3ds2,
[JsonProperty("visualizers")]
Visualizers,
[JsonProperty("vod-schema")] [JsonProperty("vod-schema")]
VodSchema, VodSchema,
[JsonProperty("vod_cloudflare")] [JsonProperty("vod_cloudflare")]
VodCloudflare, VodCloudflare,
[JsonProperty("volume-leveling")]
VolumeLeveling,
[JsonProperty("watch-together-invite")] [JsonProperty("watch-together-invite")]
WatchTogetherInvite, WatchTogetherInvite,
[JsonProperty("watchlist-rss")]
WatchlistRss,
[JsonProperty("web_server_dashboard")] [JsonProperty("web_server_dashboard")]
WebServerDashboard, WebServerDashboard,
[JsonProperty("webhooks")]
Webhooks,
} }
public static class PostUsersSignInDataAuthenticationFeaturesExtension public static class PostUsersSignInDataAuthenticationFeaturesExtension

View File

@@ -29,6 +29,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
AdCountdownTimer, AdCountdownTimer,
[JsonProperty("adaptive_bitrate")] [JsonProperty("adaptive_bitrate")]
AdaptiveBitrate, AdaptiveBitrate,
[JsonProperty("album-types")]
AlbumTypes,
[JsonProperty("allow_dvr")]
AllowDvr,
[JsonProperty("amazon-loop-debug")] [JsonProperty("amazon-loop-debug")]
AmazonLoopDebug, AmazonLoopDebug,
[JsonProperty("avod-ad-analysis")] [JsonProperty("avod-ad-analysis")]
@@ -37,10 +41,16 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
AvodNewMedia, AvodNewMedia,
[JsonProperty("blacklist_get_signin")] [JsonProperty("blacklist_get_signin")]
BlacklistGetSignin, BlacklistGetSignin,
[JsonProperty("boost-voices")]
BoostVoices,
[JsonProperty("camera_upload")]
CameraUpload,
[JsonProperty("client-radio-stations")] [JsonProperty("client-radio-stations")]
ClientRadioStations, ClientRadioStations,
[JsonProperty("cloudflare-turnstile-required")] [JsonProperty("cloudflare-turnstile-required")]
CloudflareTurnstileRequired, CloudflareTurnstileRequired,
[JsonProperty("cloudsync")]
Cloudsync,
[JsonProperty("collections")] [JsonProperty("collections")]
Collections, Collections,
[JsonProperty("comments_and_replies_push_notifications")] [JsonProperty("comments_and_replies_push_notifications")]
@@ -49,30 +59,50 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
CommunityAccessPlexTv, CommunityAccessPlexTv,
[JsonProperty("companions_sonos")] [JsonProperty("companions_sonos")]
CompanionsSonos, CompanionsSonos,
[JsonProperty("content_filter")]
ContentFilter,
[JsonProperty("custom-home-removal")] [JsonProperty("custom-home-removal")]
CustomHomeRemoval, CustomHomeRemoval,
[JsonProperty("disable_home_user_friendships")] [JsonProperty("disable_home_user_friendships")]
DisableHomeUserFriendships, DisableHomeUserFriendships,
[JsonProperty("disable_sharing_friendships")] [JsonProperty("disable_sharing_friendships")]
DisableSharingFriendships, DisableSharingFriendships,
[JsonProperty("downloads-gating")]
DownloadsGating,
[JsonProperty("drm_support")] [JsonProperty("drm_support")]
DrmSupport, DrmSupport,
[JsonProperty("dvr")]
Dvr,
[JsonProperty("dvr-block-unsupported-countries")]
DvrBlockUnsupportedCountries,
[JsonProperty("epg-recent-channels")]
EpgRecentChannels,
[JsonProperty("exclude restrictions")] [JsonProperty("exclude restrictions")]
ExcludeRestrictions, ExcludeRestrictions,
[JsonProperty("federated-auth")] [JsonProperty("federated-auth")]
FederatedAuth, FederatedAuth,
[JsonProperty("friend_request_push_notifications")] [JsonProperty("friend_request_push_notifications")]
FriendRequestPushNotifications, FriendRequestPushNotifications,
[JsonProperty("grandfather-sync")]
GrandfatherSync,
[JsonProperty("guided-upgrade")] [JsonProperty("guided-upgrade")]
GuidedUpgrade, GuidedUpgrade,
[JsonProperty("hardware_transcoding")]
HardwareTranscoding,
[JsonProperty("home")] [JsonProperty("home")]
Home, Home,
[JsonProperty("hwtranscode")]
Hwtranscode,
[JsonProperty("imagga-v2")]
ImaggaV2,
[JsonProperty("increase-password-complexity")] [JsonProperty("increase-password-complexity")]
IncreasePasswordComplexity, IncreasePasswordComplexity,
[JsonProperty("ios14-privacy-banner")] [JsonProperty("ios14-privacy-banner")]
Ios14PrivacyBanner, Ios14PrivacyBanner,
[JsonProperty("iterable-notification-tokens")] [JsonProperty("iterable-notification-tokens")]
IterableNotificationTokens, IterableNotificationTokens,
[JsonProperty("item_clusters")]
ItemClusters,
[JsonProperty("keep-payment-method")] [JsonProperty("keep-payment-method")]
KeepPaymentMethod, KeepPaymentMethod,
[JsonProperty("kevin-bacon")] [JsonProperty("kevin-bacon")]
@@ -89,34 +119,68 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
LiveTvSupportIncompleteSegments, LiveTvSupportIncompleteSegments,
[JsonProperty("livetv")] [JsonProperty("livetv")]
Livetv, Livetv,
[JsonProperty("lyrics")]
Lyrics,
[JsonProperty("metadata_search")] [JsonProperty("metadata_search")]
MetadataSearch, MetadataSearch,
[JsonProperty("music-analysis")]
MusicAnalysis,
[JsonProperty("music_videos")]
MusicVideos,
[JsonProperty("new_plex_pass_prices")] [JsonProperty("new_plex_pass_prices")]
NewPlexPassPrices, NewPlexPassPrices,
[JsonProperty("news-provider-sunset-modal")] [JsonProperty("news-provider-sunset-modal")]
NewsProviderSunsetModal, NewsProviderSunsetModal,
[JsonProperty("nominatim")]
Nominatim,
[JsonProperty("pass")]
Pass,
[JsonProperty("photos-favorites")] [JsonProperty("photos-favorites")]
PhotosFavorites, PhotosFavorites,
[JsonProperty("photos-metadata-edition")] [JsonProperty("photos-metadata-edition")]
PhotosMetadataEdition, PhotosMetadataEdition,
[JsonProperty("photosV6-edit")]
PhotosV6Edit,
[JsonProperty("photosV6-tv-albums")]
PhotosV6TvAlbums,
[JsonProperty("pms_health")] [JsonProperty("pms_health")]
PmsHealth, PmsHealth,
[JsonProperty("premium-dashboard")]
PremiumDashboard,
[JsonProperty("premium_music_metadata")]
PremiumMusicMetadata,
[JsonProperty("radio")] [JsonProperty("radio")]
Radio, Radio,
[JsonProperty("rate-limit-client-token")] [JsonProperty("rate-limit-client-token")]
RateLimitClientToken, RateLimitClientToken,
[JsonProperty("scrobbling-service-plex-tv")] [JsonProperty("scrobbling-service-plex-tv")]
ScrobblingServicePlexTv, ScrobblingServicePlexTv,
[JsonProperty("session_bandwidth_restrictions")]
SessionBandwidthRestrictions,
[JsonProperty("session_kick")]
SessionKick,
[JsonProperty("shared_server_notification")] [JsonProperty("shared_server_notification")]
SharedServerNotification, SharedServerNotification,
[JsonProperty("shared_source_notification")] [JsonProperty("shared_source_notification")]
SharedSourceNotification, SharedSourceNotification,
[JsonProperty("signin_notification")]
SigninNotification,
[JsonProperty("signin_with_apple")] [JsonProperty("signin_with_apple")]
SigninWithApple, SigninWithApple,
[JsonProperty("silence-removal")]
SilenceRemoval,
[JsonProperty("sleep-timer")]
SleepTimer,
[JsonProperty("spring_serve_ad_provider")] [JsonProperty("spring_serve_ad_provider")]
SpringServeAdProvider, SpringServeAdProvider,
[JsonProperty("sync")]
Sync,
[JsonProperty("sweet-fades")]
SweetFades,
[JsonProperty("transcoder_cache")] [JsonProperty("transcoder_cache")]
TranscoderCache, TranscoderCache,
[JsonProperty("trailers")]
Trailers,
[JsonProperty("tuner-sharing")] [JsonProperty("tuner-sharing")]
TunerSharing, TunerSharing,
[JsonProperty("two-factor-authentication")] [JsonProperty("two-factor-authentication")]
@@ -125,14 +189,22 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
Unsupportedtuners, Unsupportedtuners,
[JsonProperty("upgrade-3ds2")] [JsonProperty("upgrade-3ds2")]
Upgrade3ds2, Upgrade3ds2,
[JsonProperty("visualizers")]
Visualizers,
[JsonProperty("vod-schema")] [JsonProperty("vod-schema")]
VodSchema, VodSchema,
[JsonProperty("vod_cloudflare")] [JsonProperty("vod_cloudflare")]
VodCloudflare, VodCloudflare,
[JsonProperty("volume-leveling")]
VolumeLeveling,
[JsonProperty("watch-together-invite")] [JsonProperty("watch-together-invite")]
WatchTogetherInvite, WatchTogetherInvite,
[JsonProperty("watchlist-rss")]
WatchlistRss,
[JsonProperty("web_server_dashboard")] [JsonProperty("web_server_dashboard")]
WebServerDashboard, WebServerDashboard,
[JsonProperty("webhooks")]
Webhooks,
} }
public static class PostUsersSignInDataFeaturesExtension public static class PostUsersSignInDataFeaturesExtension

View File

@@ -14,7 +14,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
using System; using System;
/// <summary> /// <summary>
/// Your current mailing list status /// Your current mailing list status (active or unsubscribed)
/// </summary> /// </summary>
public enum PostUsersSignInDataMailingListStatus public enum PostUsersSignInDataMailingListStatus
{ {

View File

@@ -154,7 +154,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
public bool? MailingListActive { get; set; } = false; public bool? MailingListActive { get; set; } = false;
/// <summary> /// <summary>
/// Your current mailing list status /// Your current mailing list status (active or unsubscribed)
/// </summary> /// </summary>
[JsonProperty("mailingListStatus")] [JsonProperty("mailingListStatus")]
public PostUsersSignInDataMailingListStatus MailingListStatus { get; set; } = default!; public PostUsersSignInDataMailingListStatus MailingListStatus { get; set; } = default!;

View File

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

View File

@@ -75,7 +75,7 @@ namespace LukeHagar.PlexAPI.SDK
/// Get Plex server access tokens and server connections /// Get Plex server access tokens and server connections
/// </remarks> /// </remarks>
/// </summary> /// </summary>
Task<GetServerResourcesResponse> GetServerResourcesAsync(IncludeHttps? includeHttps = null, IncludeRelay? includeRelay = null, IncludeIPv6? includeIPv6 = null, string? serverUrl = null); Task<GetServerResourcesResponse> GetServerResourcesAsync(IncludeHttps? includeHttps = null, IncludeRelay? includeRelay = null, IncludeIPv6? includeIPv6 = null, string? clientID = null, string? serverUrl = null);
/// <summary> /// <summary>
/// Get a Pin /// Get a Pin
@@ -93,7 +93,7 @@ namespace LukeHagar.PlexAPI.SDK
/// Retrieve an Access Token from Plex.tv after the Pin has been authenticated /// Retrieve an Access Token from Plex.tv after the Pin has been authenticated
/// </remarks> /// </remarks>
/// </summary> /// </summary>
Task<GetTokenByPinIdResponse> GetTokenByPinIdAsync(long pinID, string? serverUrl = null); Task<GetTokenByPinIdResponse> GetTokenByPinIdAsync(GetTokenByPinIdRequest request, string? serverUrl = null);
} }
/// <summary> /// <summary>
@@ -109,44 +109,44 @@ namespace LukeHagar.PlexAPI.SDK
/// List of server URLs available for the getCompanionsData operation. /// List of server URLs available for the getCompanionsData operation.
/// </summary> /// </summary>
public static readonly string[] GetCompanionsDataServerList = { public static readonly string[] GetCompanionsDataServerList = {
"https://plex.tv/api/v2/", "https://plex.tv/api/v2",
}; };
/// <summary> /// <summary>
/// List of server URLs available for the getUserFriends operation. /// List of server URLs available for the getUserFriends operation.
/// </summary> /// </summary>
public static readonly string[] GetUserFriendsServerList = { public static readonly string[] GetUserFriendsServerList = {
"https://plex.tv/api/v2/", "https://plex.tv/api/v2",
}; };
/// <summary> /// <summary>
/// List of server URLs available for the getGeoData operation. /// List of server URLs available for the getGeoData operation.
/// </summary> /// </summary>
public static readonly string[] GetGeoDataServerList = { public static readonly string[] GetGeoDataServerList = {
"https://plex.tv/api/v2/", "https://plex.tv/api/v2",
}; };
/// <summary> /// <summary>
/// List of server URLs available for the get-server-resources operation. /// List of server URLs available for the get-server-resources operation.
/// </summary> /// </summary>
public static readonly string[] GetServerResourcesServerList = { public static readonly string[] GetServerResourcesServerList = {
"https://plex.tv/api/v2/", "https://plex.tv/api/v2",
}; };
/// <summary> /// <summary>
/// List of server URLs available for the getPin operation. /// List of server URLs available for the getPin operation.
/// </summary> /// </summary>
public static readonly string[] GetPinServerList = { public static readonly string[] GetPinServerList = {
"https://plex.tv/api/v2/", "https://plex.tv/api/v2",
}; };
/// <summary> /// <summary>
/// List of server URLs available for the getTokenByPinId operation. /// List of server URLs available for the getTokenByPinId operation.
/// </summary> /// </summary>
public static readonly string[] GetTokenByPinIdServerList = { public static readonly string[] GetTokenByPinIdServerList = {
"https://plex.tv/api/v2/", "https://plex.tv/api/v2",
}; };
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.8.1"; private const string _sdkVersion = "0.8.4";
private const string _sdkGenVersion = "2.422.22"; private const string _sdkGenVersion = "2.426.2";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.8.4 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource; private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
@@ -557,14 +557,17 @@ namespace LukeHagar.PlexAPI.SDK
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
} }
public async Task<GetServerResourcesResponse> GetServerResourcesAsync(IncludeHttps? includeHttps = null, IncludeRelay? includeRelay = null, IncludeIPv6? includeIPv6 = null, string? serverUrl = null) public async Task<GetServerResourcesResponse> GetServerResourcesAsync(IncludeHttps? includeHttps = null, IncludeRelay? includeRelay = null, IncludeIPv6? includeIPv6 = null, string? clientID = null, string? serverUrl = null)
{ {
var request = new GetServerResourcesRequest() var request = new GetServerResourcesRequest()
{ {
IncludeHttps = includeHttps, IncludeHttps = includeHttps,
IncludeRelay = includeRelay, IncludeRelay = includeRelay,
IncludeIPv6 = includeIPv6, IncludeIPv6 = includeIPv6,
ClientID = clientID,
}; };
request.ClientID ??= SDKConfiguration.ClientID;
string baseUrl = Utilities.TemplateUrl(GetServerResourcesServerList[0], new Dictionary<string, string>(){ string baseUrl = Utilities.TemplateUrl(GetServerResourcesServerList[0], new Dictionary<string, string>(){
}); });
if (serverUrl != null) if (serverUrl != null)
@@ -755,12 +758,18 @@ namespace LukeHagar.PlexAPI.SDK
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
} }
public async Task<GetTokenByPinIdResponse> GetTokenByPinIdAsync(long pinID, string? serverUrl = null) public async Task<GetTokenByPinIdResponse> GetTokenByPinIdAsync(GetTokenByPinIdRequest request, string? serverUrl = null)
{ {
var request = new GetTokenByPinIdRequest() if (request == null)
{ {
PinID = pinID, request = new GetTokenByPinIdRequest();
}; }
request.ClientID ??= SDKConfiguration.ClientID;
request.ClientName ??= SDKConfiguration.ClientName;
request.ClientVersion ??= SDKConfiguration.ClientVersion;
request.ClientPlatform ??= SDKConfiguration.ClientPlatform;
request.DeviceName ??= SDKConfiguration.DeviceName;
string baseUrl = Utilities.TemplateUrl(GetTokenByPinIdServerList[0], new Dictionary<string, string>(){ string baseUrl = Utilities.TemplateUrl(GetTokenByPinIdServerList[0], new Dictionary<string, string>(){
}); });
if (serverUrl != null) if (serverUrl != null)

View File

@@ -67,6 +67,34 @@ namespace LukeHagar.PlexAPI.SDK
/// <summary> /// <summary>
/// Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server /// Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server
///
/// <remarks>
/// # Plex Media Server OpenAPI Specification<br/>
/// <br/>
/// An Open Source OpenAPI Specification for Plex Media Server<br/>
/// <br/>
/// Automation and SDKs provided by <a href="https://speakeasyapi.dev/">Speakeasy</a><br/>
/// <br/>
/// ## Documentation<br/>
/// <br/>
/// <a href="https://plexapi.dev">API Documentation</a><br/>
/// <br/>
/// ## SDKs<br/>
/// <br/>
/// The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the <a href="https://github.com/LukeHagar/plex-api-spec">main specification Repository</a>.<br/>
/// <br/>
/// | Language | Repository | Releases | Other |<br/>
/// | --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |<br/>
/// | Python | <a href="https://github.com/LukeHagar/plexpy">GitHub</a> | <a href="https://pypi.org/project/plex-api-client/">PyPI</a> | - |<br/>
/// | JavaScript/TypeScript | <a href="https://github.com/LukeHagar/plexjs">GitHub</a> | <a href="https://www.npmjs.com/package/@lukehagar/plexjs">NPM</a> \ <a href="https://jsr.io/@lukehagar/plexjs">JSR</a> | - |<br/>
/// | Go | <a href="https://github.com/LukeHagar/plexgo">GitHub</a> | <a href="https://github.com/LukeHagar/plexgo/releases">Releases</a> | <a href="https://pkg.go.dev/github.com/LukeHagar/plexgo">GoDoc</a> |<br/>
/// | Ruby | <a href="https://github.com/LukeHagar/plexruby">GitHub</a> | <a href="https://github.com/LukeHagar/plexruby/releases">Releases</a> | - |<br/>
/// | Swift | <a href="https://github.com/LukeHagar/plexswift">GitHub</a> | <a href="https://github.com/LukeHagar/plexswift/releases">Releases</a> | - |<br/>
/// | PHP | <a href="https://github.com/LukeHagar/plexphp">GitHub</a> | <a href="https://github.com/LukeHagar/plexphp/releases">Releases</a> | - |<br/>
/// | Java | <a href="https://github.com/LukeHagar/plexjava">GitHub</a> | <a href="https://github.com/LukeHagar/plexjava/releases">Releases</a> | - |<br/>
/// | C# | <a href="https://github.com/LukeHagar/plexcsharp">GitHub</a> | <a href="https://github.com/LukeHagar/plexcsharp/releases">Releases</a> | - <br/>
///
/// </remarks>
/// </summary> /// </summary>
public interface IPlexAPI public interface IPlexAPI
{ {
@@ -269,16 +297,44 @@ namespace LukeHagar.PlexAPI.SDK
/// <summary> /// <summary>
/// Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server /// Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server
///
/// <remarks>
/// # Plex Media Server OpenAPI Specification<br/>
/// <br/>
/// An Open Source OpenAPI Specification for Plex Media Server<br/>
/// <br/>
/// Automation and SDKs provided by <a href="https://speakeasyapi.dev/">Speakeasy</a><br/>
/// <br/>
/// ## Documentation<br/>
/// <br/>
/// <a href="https://plexapi.dev">API Documentation</a><br/>
/// <br/>
/// ## SDKs<br/>
/// <br/>
/// The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the <a href="https://github.com/LukeHagar/plex-api-spec">main specification Repository</a>.<br/>
/// <br/>
/// | Language | Repository | Releases | Other |<br/>
/// | --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |<br/>
/// | Python | <a href="https://github.com/LukeHagar/plexpy">GitHub</a> | <a href="https://pypi.org/project/plex-api-client/">PyPI</a> | - |<br/>
/// | JavaScript/TypeScript | <a href="https://github.com/LukeHagar/plexjs">GitHub</a> | <a href="https://www.npmjs.com/package/@lukehagar/plexjs">NPM</a> \ <a href="https://jsr.io/@lukehagar/plexjs">JSR</a> | - |<br/>
/// | Go | <a href="https://github.com/LukeHagar/plexgo">GitHub</a> | <a href="https://github.com/LukeHagar/plexgo/releases">Releases</a> | <a href="https://pkg.go.dev/github.com/LukeHagar/plexgo">GoDoc</a> |<br/>
/// | Ruby | <a href="https://github.com/LukeHagar/plexruby">GitHub</a> | <a href="https://github.com/LukeHagar/plexruby/releases">Releases</a> | - |<br/>
/// | Swift | <a href="https://github.com/LukeHagar/plexswift">GitHub</a> | <a href="https://github.com/LukeHagar/plexswift/releases">Releases</a> | - |<br/>
/// | PHP | <a href="https://github.com/LukeHagar/plexphp">GitHub</a> | <a href="https://github.com/LukeHagar/plexphp/releases">Releases</a> | - |<br/>
/// | Java | <a href="https://github.com/LukeHagar/plexjava">GitHub</a> | <a href="https://github.com/LukeHagar/plexjava/releases">Releases</a> | - |<br/>
/// | C# | <a href="https://github.com/LukeHagar/plexcsharp">GitHub</a> | <a href="https://github.com/LukeHagar/plexcsharp/releases">Releases</a> | - <br/>
///
/// </remarks>
/// </summary> /// </summary>
public class PlexAPI: IPlexAPI public class PlexAPI: IPlexAPI
{ {
public SDKConfig SDKConfiguration { get; private set; } public SDKConfig SDKConfiguration { get; private set; }
private const string _language = "csharp"; private const string _language = "csharp";
private const string _sdkVersion = "0.8.1"; private const string _sdkVersion = "0.8.4";
private const string _sdkGenVersion = "2.422.22"; private const string _sdkGenVersion = "2.426.2";
private const string _openapiDocVersion = "0.0.3"; private const string _openapiDocVersion = "0.0.3";
private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private const string _userAgent = "speakeasy-sdk/csharp 0.8.4 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
private string _serverUrl = ""; private string _serverUrl = "";
private int _serverIndex = 0; private int _serverIndex = 0;
private ISpeakeasyHttpClient _client; private ISpeakeasyHttpClient _client;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -32,7 +32,7 @@ var res = await sdk.Server.GetServerCapabilitiesAsync();
Certain parameters are configured globally. These parameters may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, These global values will be used as defaults on the operations that use them. When such operations are called, there is a place in each to override the global value, if needed. Certain parameters are configured globally. These parameters may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, These global values will be used as defaults on the operations that use them. When such operations are called, there is a place in each to override the global value, if needed.
For example, you can set `ClientID` to `"gcgzw5rz2xovp84b4vha3a40"` at SDK initialization and then you do not have to pass the same value on calls to operations like `GetPin`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration. For example, you can set `ClientID` to `"gcgzw5rz2xovp84b4vha3a40"` at SDK initialization and then you do not have to pass the same value on calls to operations like `GetServerResources`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration.
### Available Globals ### Available Globals
@@ -59,6 +59,7 @@ using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Models.Components; using LukeHagar.PlexAPI.SDK.Models.Components;
var sdk = new PlexAPI( var sdk = new PlexAPI(
accessToken: "<YOUR_API_KEY_HERE>",
clientID: "gcgzw5rz2xovp84b4vha3a40", clientID: "gcgzw5rz2xovp84b4vha3a40",
clientName: "Plex Web", clientName: "Plex Web",
clientVersion: "4.133.0", clientVersion: "4.133.0",
@@ -66,9 +67,12 @@ var sdk = new PlexAPI(
deviceName: "Linux" deviceName: "Linux"
); );
GetPinRequest req = new GetPinRequest() {}; var res = await sdk.Plex.GetServerResourcesAsync(
includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.Enable,
var res = await sdk.Plex.GetPinAsync(req); includeRelay: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeRelay.Enable,
includeIPv6: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Enable,
clientID: "gcgzw5rz2xovp84b4vha3a40"
);
// handle response // handle response
``` ```
@@ -170,7 +174,7 @@ var sdk = new PlexAPI(
deviceName: "Linux" deviceName: "Linux"
); );
var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2/"); var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2");
// handle response // handle response
``` ```

View File

@@ -223,7 +223,7 @@ var sdk = new PlexAPI(
deviceName: "Linux" deviceName: "Linux"
); );
var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2/"); var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2");
// handle response // handle response
``` ```
@@ -267,7 +267,7 @@ var res = await sdk.Server.GetServerCapabilitiesAsync();
Certain parameters are configured globally. These parameters may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, These global values will be used as defaults on the operations that use them. When such operations are called, there is a place in each to override the global value, if needed. Certain parameters are configured globally. These parameters may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, These global values will be used as defaults on the operations that use them. When such operations are called, there is a place in each to override the global value, if needed.
For example, you can set `ClientID` to `"gcgzw5rz2xovp84b4vha3a40"` at SDK initialization and then you do not have to pass the same value on calls to operations like `GetPin`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration. For example, you can set `ClientID` to `"gcgzw5rz2xovp84b4vha3a40"` at SDK initialization and then you do not have to pass the same value on calls to operations like `GetServerResources`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration.
### Available Globals ### Available Globals
@@ -294,6 +294,7 @@ using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Models.Components; using LukeHagar.PlexAPI.SDK.Models.Components;
var sdk = new PlexAPI( var sdk = new PlexAPI(
accessToken: "<YOUR_API_KEY_HERE>",
clientID: "gcgzw5rz2xovp84b4vha3a40", clientID: "gcgzw5rz2xovp84b4vha3a40",
clientName: "Plex Web", clientName: "Plex Web",
clientVersion: "4.133.0", clientVersion: "4.133.0",
@@ -301,9 +302,12 @@ var sdk = new PlexAPI(
deviceName: "Linux" deviceName: "Linux"
); );
GetPinRequest req = new GetPinRequest() {}; var res = await sdk.Plex.GetServerResourcesAsync(
includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.Enable,
var res = await sdk.Plex.GetPinAsync(req); includeRelay: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeRelay.Enable,
includeIPv6: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Enable,
clientID: "gcgzw5rz2xovp84b4vha3a40"
);
// handle response // handle response
``` ```
@@ -368,6 +372,31 @@ catch (Exception ex)
## Summary ## Summary
Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server
# Plex Media Server OpenAPI Specification
An Open Source OpenAPI Specification for Plex Media Server
Automation and SDKs provided by [Speakeasy](https://speakeasyapi.dev/)
## Documentation
[API Documentation](https://plexapi.dev)
## SDKs
The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the [main specification Repository](https://github.com/LukeHagar/plex-api-spec).
| Language | Repository | Releases | Other |
| --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
| Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) | - |
| JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) | - |
| Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) |
| Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - |
| Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - |
| PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - |
| Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - |
| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | -
<!-- End Summary [summary] --> <!-- End Summary [summary] -->
<!-- Start Table of Contents [toc] --> <!-- Start Table of Contents [toc] -->

View File

@@ -274,4 +274,34 @@ Based on:
### Generated ### Generated
- [csharp v0.8.1] . - [csharp v0.8.1] .
### Releases ### Releases
- [NuGet v0.8.1] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.8.1 - . - [NuGet v0.8.1] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.8.1 - .
## 2024-09-28 00:20:26
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.404.5 (2.426.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [csharp v0.8.2] .
### Releases
- [NuGet v0.8.2] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.8.2 - .
## 2024-09-29 00:23:13
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.404.5 (2.426.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [csharp v0.8.3] .
### Releases
- [NuGet v0.8.3] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.8.3 - .
## 2024-09-30 00:21:52
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.404.5 (2.426.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [csharp v0.8.4] .
### Releases
- [NuGet v0.8.4] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.8.4 - .

View File

@@ -1172,7 +1172,11 @@ actions:
deviceName: "Linux" deviceName: "Linux"
); );
var res = await sdk.Plex.GetTokenByPinIdAsync(pinID: 408895); GetTokenByPinIdRequest req = new GetTokenByPinIdRequest() {
PinID = 408895,
};
var res = await sdk.Plex.GetTokenByPinIdAsync(req);
// handle response // handle response
- target: $["paths"]["/playlists"]["get"] - target: $["paths"]["/playlists"]["get"]
@@ -1420,7 +1424,8 @@ actions:
var res = await sdk.Plex.GetServerResourcesAsync( var res = await sdk.Plex.GetServerResourcesAsync(
includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.Enable, includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.Enable,
includeRelay: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeRelay.Enable, includeRelay: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeRelay.Enable,
includeIPv6: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Enable includeIPv6: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Enable,
clientID: "gcgzw5rz2xovp84b4vha3a40"
); );
// handle response // handle response

View File

@@ -3,12 +3,12 @@
## Fields ## Fields
| Field | Type | Required | Description | | Field | Type | Required | Description | Example |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `Protocol` | [Protocol](../../Models/Requests/Protocol.md) | :heavy_check_mark: | The protocol used for the connection (http, https, etc) | | `Protocol` | [Protocol](../../Models/Requests/Protocol.md) | :heavy_check_mark: | The protocol used for the connection (http, https, etc) | http |
| `Address` | *string* | :heavy_check_mark: | The (ip) address or domain name used for the connection | | `Address` | *string* | :heavy_check_mark: | The (ip) address or domain name used for the connection | |
| `Port` | *int* | :heavy_check_mark: | The port used for the connection | | `Port` | *int* | :heavy_check_mark: | The port used for the connection | |
| `Uri` | *string* | :heavy_check_mark: | The full URI of the connection | | `Uri` | *string* | :heavy_check_mark: | The full URI of the connection | |
| `Local` | *bool* | :heavy_check_mark: | If the connection is local address | | `Local` | *bool* | :heavy_check_mark: | If the connection is local address | |
| `Relay` | *bool* | :heavy_check_mark: | If the connection is relayed through plex.direct | | `Relay` | *bool* | :heavy_check_mark: | If the connection is relayed through plex.direct | |
| `IPv6` | *bool* | :heavy_check_mark: | If the connection is using IPv6 | | `IPv6` | *bool* | :heavy_check_mark: | If the connection is using IPv6 | |

View File

@@ -12,28 +12,43 @@
| `TREBLEShowFeatures` | TREBLE-show-features | | `TREBLEShowFeatures` | TREBLE-show-features |
| `AdCountdownTimer` | ad-countdown-timer | | `AdCountdownTimer` | ad-countdown-timer |
| `AdaptiveBitrate` | adaptive_bitrate | | `AdaptiveBitrate` | adaptive_bitrate |
| `AlbumTypes` | album-types |
| `AllowDvr` | allow_dvr |
| `AmazonLoopDebug` | amazon-loop-debug | | `AmazonLoopDebug` | amazon-loop-debug |
| `AvodAdAnalysis` | avod-ad-analysis | | `AvodAdAnalysis` | avod-ad-analysis |
| `AvodNewMedia` | avod-new-media | | `AvodNewMedia` | avod-new-media |
| `BlacklistGetSignin` | blacklist_get_signin | | `BlacklistGetSignin` | blacklist_get_signin |
| `BoostVoices` | boost-voices |
| `CameraUpload` | camera_upload |
| `ClientRadioStations` | client-radio-stations | | `ClientRadioStations` | client-radio-stations |
| `CloudflareTurnstileRequired` | cloudflare-turnstile-required | | `CloudflareTurnstileRequired` | cloudflare-turnstile-required |
| `Cloudsync` | cloudsync |
| `Collections` | collections | | `Collections` | collections |
| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications | | `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications |
| `CommunityAccessPlexTv` | community_access_plex_tv | | `CommunityAccessPlexTv` | community_access_plex_tv |
| `CompanionsSonos` | companions_sonos | | `CompanionsSonos` | companions_sonos |
| `ContentFilter` | content_filter |
| `CustomHomeRemoval` | custom-home-removal | | `CustomHomeRemoval` | custom-home-removal |
| `DisableHomeUserFriendships` | disable_home_user_friendships | | `DisableHomeUserFriendships` | disable_home_user_friendships |
| `DisableSharingFriendships` | disable_sharing_friendships | | `DisableSharingFriendships` | disable_sharing_friendships |
| `DownloadsGating` | downloads-gating |
| `DrmSupport` | drm_support | | `DrmSupport` | drm_support |
| `Dvr` | dvr |
| `DvrBlockUnsupportedCountries` | dvr-block-unsupported-countries |
| `EpgRecentChannels` | epg-recent-channels |
| `ExcludeRestrictions` | exclude restrictions | | `ExcludeRestrictions` | exclude restrictions |
| `FederatedAuth` | federated-auth | | `FederatedAuth` | federated-auth |
| `FriendRequestPushNotifications` | friend_request_push_notifications | | `FriendRequestPushNotifications` | friend_request_push_notifications |
| `GrandfatherSync` | grandfather-sync |
| `GuidedUpgrade` | guided-upgrade | | `GuidedUpgrade` | guided-upgrade |
| `HardwareTranscoding` | hardware_transcoding |
| `Home` | home | | `Home` | home |
| `Hwtranscode` | hwtranscode |
| `ImaggaV2` | imagga-v2 |
| `IncreasePasswordComplexity` | increase-password-complexity | | `IncreasePasswordComplexity` | increase-password-complexity |
| `Ios14PrivacyBanner` | ios14-privacy-banner | | `Ios14PrivacyBanner` | ios14-privacy-banner |
| `IterableNotificationTokens` | iterable-notification-tokens | | `IterableNotificationTokens` | iterable-notification-tokens |
| `ItemClusters` | item_clusters |
| `KeepPaymentMethod` | keep-payment-method | | `KeepPaymentMethod` | keep-payment-method |
| `KevinBacon` | kevin-bacon | | `KevinBacon` | kevin-bacon |
| `KoreaConsent` | korea-consent | | `KoreaConsent` | korea-consent |
@@ -42,25 +57,46 @@
| `LightningDvrPivot` | lightning-dvr-pivot | | `LightningDvrPivot` | lightning-dvr-pivot |
| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments | | `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments |
| `Livetv` | livetv | | `Livetv` | livetv |
| `Lyrics` | lyrics |
| `MetadataSearch` | metadata_search | | `MetadataSearch` | metadata_search |
| `MusicAnalysis` | music-analysis |
| `MusicVideos` | music_videos |
| `NewPlexPassPrices` | new_plex_pass_prices | | `NewPlexPassPrices` | new_plex_pass_prices |
| `NewsProviderSunsetModal` | news-provider-sunset-modal | | `NewsProviderSunsetModal` | news-provider-sunset-modal |
| `Nominatim` | nominatim |
| `Pass` | pass |
| `PhotosFavorites` | photos-favorites | | `PhotosFavorites` | photos-favorites |
| `PhotosMetadataEdition` | photos-metadata-edition | | `PhotosMetadataEdition` | photos-metadata-edition |
| `PhotosV6Edit` | photosV6-edit |
| `PhotosV6TvAlbums` | photosV6-tv-albums |
| `PmsHealth` | pms_health | | `PmsHealth` | pms_health |
| `PremiumDashboard` | premium-dashboard |
| `PremiumMusicMetadata` | premium_music_metadata |
| `Radio` | radio | | `Radio` | radio |
| `RateLimitClientToken` | rate-limit-client-token | | `RateLimitClientToken` | rate-limit-client-token |
| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv | | `ScrobblingServicePlexTv` | scrobbling-service-plex-tv |
| `SessionBandwidthRestrictions` | session_bandwidth_restrictions |
| `SessionKick` | session_kick |
| `SharedServerNotification` | shared_server_notification | | `SharedServerNotification` | shared_server_notification |
| `SharedSourceNotification` | shared_source_notification | | `SharedSourceNotification` | shared_source_notification |
| `SigninNotification` | signin_notification |
| `SigninWithApple` | signin_with_apple | | `SigninWithApple` | signin_with_apple |
| `SilenceRemoval` | silence-removal |
| `SleepTimer` | sleep-timer |
| `SpringServeAdProvider` | spring_serve_ad_provider | | `SpringServeAdProvider` | spring_serve_ad_provider |
| `Sync` | sync |
| `SweetFades` | sweet-fades |
| `TranscoderCache` | transcoder_cache | | `TranscoderCache` | transcoder_cache |
| `Trailers` | trailers |
| `TunerSharing` | tuner-sharing | | `TunerSharing` | tuner-sharing |
| `TwoFactorAuthentication` | two-factor-authentication | | `TwoFactorAuthentication` | two-factor-authentication |
| `Unsupportedtuners` | unsupportedtuners | | `Unsupportedtuners` | unsupportedtuners |
| `Upgrade3ds2` | upgrade-3ds2 | | `Upgrade3ds2` | upgrade-3ds2 |
| `Visualizers` | visualizers |
| `VodSchema` | vod-schema | | `VodSchema` | vod-schema |
| `VodCloudflare` | vod_cloudflare | | `VodCloudflare` | vod_cloudflare |
| `VolumeLeveling` | volume-leveling |
| `WatchTogetherInvite` | watch-together-invite | | `WatchTogetherInvite` | watch-together-invite |
| `WebServerDashboard` | web_server_dashboard | | `WatchlistRss` | watchlist-rss |
| `WebServerDashboard` | web_server_dashboard |
| `Webhooks` | webhooks |

View File

@@ -3,8 +3,9 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `IncludeHttps` | [IncludeHttps](../../Models/Requests/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 | | `IncludeHttps` | [IncludeHttps](../../Models/Requests/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 |
| `IncludeRelay` | [IncludeRelay](../../Models/Requests/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results <br/>E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400<br/> | 1 | | `IncludeRelay` | [IncludeRelay](../../Models/Requests/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results <br/>E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400<br/> | 1 |
| `IncludeIPv6` | [IncludeIPv6](../../Models/Requests/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | | `IncludeIPv6` | [IncludeIPv6](../../Models/Requests/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 |
| `ClientID` | *string* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | gcgzw5rz2xovp84b4vha3a40 |

View File

@@ -3,6 +3,11 @@
## Fields ## Fields
| Field | Type | Required | Description | | Field | Type | Required | Description | Example |
| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PinID` | *long* | :heavy_check_mark: | The PinID to retrieve an access token for | | `PinID` | *long* | :heavy_check_mark: | The PinID to retrieve an access token for | |
| `ClientID` | *string* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | gcgzw5rz2xovp84b4vha3a40 |
| `ClientName` | *string* | :heavy_minus_sign: | N/A | Plex Web |
| `DeviceName` | *string* | :heavy_minus_sign: | N/A | Linux |
| `ClientVersion` | *string* | :heavy_minus_sign: | N/A | 4.133.0 |
| `ClientPlatform` | *string* | :heavy_minus_sign: | N/A | Chrome |

View File

@@ -12,28 +12,43 @@
| `TREBLEShowFeatures` | TREBLE-show-features | | `TREBLEShowFeatures` | TREBLE-show-features |
| `AdCountdownTimer` | ad-countdown-timer | | `AdCountdownTimer` | ad-countdown-timer |
| `AdaptiveBitrate` | adaptive_bitrate | | `AdaptiveBitrate` | adaptive_bitrate |
| `AlbumTypes` | album-types |
| `AllowDvr` | allow_dvr |
| `AmazonLoopDebug` | amazon-loop-debug | | `AmazonLoopDebug` | amazon-loop-debug |
| `AvodAdAnalysis` | avod-ad-analysis | | `AvodAdAnalysis` | avod-ad-analysis |
| `AvodNewMedia` | avod-new-media | | `AvodNewMedia` | avod-new-media |
| `BlacklistGetSignin` | blacklist_get_signin | | `BlacklistGetSignin` | blacklist_get_signin |
| `BoostVoices` | boost-voices |
| `CameraUpload` | camera_upload |
| `ClientRadioStations` | client-radio-stations | | `ClientRadioStations` | client-radio-stations |
| `CloudflareTurnstileRequired` | cloudflare-turnstile-required | | `CloudflareTurnstileRequired` | cloudflare-turnstile-required |
| `Cloudsync` | cloudsync |
| `Collections` | collections | | `Collections` | collections |
| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications | | `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications |
| `CommunityAccessPlexTv` | community_access_plex_tv | | `CommunityAccessPlexTv` | community_access_plex_tv |
| `CompanionsSonos` | companions_sonos | | `CompanionsSonos` | companions_sonos |
| `ContentFilter` | content_filter |
| `CustomHomeRemoval` | custom-home-removal | | `CustomHomeRemoval` | custom-home-removal |
| `DisableHomeUserFriendships` | disable_home_user_friendships | | `DisableHomeUserFriendships` | disable_home_user_friendships |
| `DisableSharingFriendships` | disable_sharing_friendships | | `DisableSharingFriendships` | disable_sharing_friendships |
| `DownloadsGating` | downloads-gating |
| `DrmSupport` | drm_support | | `DrmSupport` | drm_support |
| `Dvr` | dvr |
| `DvrBlockUnsupportedCountries` | dvr-block-unsupported-countries |
| `EpgRecentChannels` | epg-recent-channels |
| `ExcludeRestrictions` | exclude restrictions | | `ExcludeRestrictions` | exclude restrictions |
| `FederatedAuth` | federated-auth | | `FederatedAuth` | federated-auth |
| `FriendRequestPushNotifications` | friend_request_push_notifications | | `FriendRequestPushNotifications` | friend_request_push_notifications |
| `GrandfatherSync` | grandfather-sync |
| `GuidedUpgrade` | guided-upgrade | | `GuidedUpgrade` | guided-upgrade |
| `HardwareTranscoding` | hardware_transcoding |
| `Home` | home | | `Home` | home |
| `Hwtranscode` | hwtranscode |
| `ImaggaV2` | imagga-v2 |
| `IncreasePasswordComplexity` | increase-password-complexity | | `IncreasePasswordComplexity` | increase-password-complexity |
| `Ios14PrivacyBanner` | ios14-privacy-banner | | `Ios14PrivacyBanner` | ios14-privacy-banner |
| `IterableNotificationTokens` | iterable-notification-tokens | | `IterableNotificationTokens` | iterable-notification-tokens |
| `ItemClusters` | item_clusters |
| `KeepPaymentMethod` | keep-payment-method | | `KeepPaymentMethod` | keep-payment-method |
| `KevinBacon` | kevin-bacon | | `KevinBacon` | kevin-bacon |
| `KoreaConsent` | korea-consent | | `KoreaConsent` | korea-consent |
@@ -42,25 +57,46 @@
| `LightningDvrPivot` | lightning-dvr-pivot | | `LightningDvrPivot` | lightning-dvr-pivot |
| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments | | `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments |
| `Livetv` | livetv | | `Livetv` | livetv |
| `Lyrics` | lyrics |
| `MetadataSearch` | metadata_search | | `MetadataSearch` | metadata_search |
| `MusicAnalysis` | music-analysis |
| `MusicVideos` | music_videos |
| `NewPlexPassPrices` | new_plex_pass_prices | | `NewPlexPassPrices` | new_plex_pass_prices |
| `NewsProviderSunsetModal` | news-provider-sunset-modal | | `NewsProviderSunsetModal` | news-provider-sunset-modal |
| `Nominatim` | nominatim |
| `Pass` | pass |
| `PhotosFavorites` | photos-favorites | | `PhotosFavorites` | photos-favorites |
| `PhotosMetadataEdition` | photos-metadata-edition | | `PhotosMetadataEdition` | photos-metadata-edition |
| `PhotosV6Edit` | photosV6-edit |
| `PhotosV6TvAlbums` | photosV6-tv-albums |
| `PmsHealth` | pms_health | | `PmsHealth` | pms_health |
| `PremiumDashboard` | premium-dashboard |
| `PremiumMusicMetadata` | premium_music_metadata |
| `Radio` | radio | | `Radio` | radio |
| `RateLimitClientToken` | rate-limit-client-token | | `RateLimitClientToken` | rate-limit-client-token |
| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv | | `ScrobblingServicePlexTv` | scrobbling-service-plex-tv |
| `SessionBandwidthRestrictions` | session_bandwidth_restrictions |
| `SessionKick` | session_kick |
| `SharedServerNotification` | shared_server_notification | | `SharedServerNotification` | shared_server_notification |
| `SharedSourceNotification` | shared_source_notification | | `SharedSourceNotification` | shared_source_notification |
| `SigninNotification` | signin_notification |
| `SigninWithApple` | signin_with_apple | | `SigninWithApple` | signin_with_apple |
| `SilenceRemoval` | silence-removal |
| `SleepTimer` | sleep-timer |
| `SpringServeAdProvider` | spring_serve_ad_provider | | `SpringServeAdProvider` | spring_serve_ad_provider |
| `Sync` | sync |
| `SweetFades` | sweet-fades |
| `TranscoderCache` | transcoder_cache | | `TranscoderCache` | transcoder_cache |
| `Trailers` | trailers |
| `TunerSharing` | tuner-sharing | | `TunerSharing` | tuner-sharing |
| `TwoFactorAuthentication` | two-factor-authentication | | `TwoFactorAuthentication` | two-factor-authentication |
| `Unsupportedtuners` | unsupportedtuners | | `Unsupportedtuners` | unsupportedtuners |
| `Upgrade3ds2` | upgrade-3ds2 | | `Upgrade3ds2` | upgrade-3ds2 |
| `Visualizers` | visualizers |
| `VodSchema` | vod-schema | | `VodSchema` | vod-schema |
| `VodCloudflare` | vod_cloudflare | | `VodCloudflare` | vod_cloudflare |
| `VolumeLeveling` | volume-leveling |
| `WatchTogetherInvite` | watch-together-invite | | `WatchTogetherInvite` | watch-together-invite |
| `WebServerDashboard` | web_server_dashboard | | `WatchlistRss` | watchlist-rss |
| `WebServerDashboard` | web_server_dashboard |
| `Webhooks` | webhooks |

View File

@@ -29,7 +29,7 @@ Logged in user details
| `JoinedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `JoinedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `Locale` | *string* | :heavy_check_mark: | The account locale | | | `Locale` | *string* | :heavy_check_mark: | The account locale | |
| `MailingListActive` | *bool* | :heavy_minus_sign: | If you are subscribed to the Plex newsletter | | | `MailingListActive` | *bool* | :heavy_minus_sign: | If you are subscribed to the Plex newsletter | |
| `MailingListStatus` | [MailingListStatus](../../Models/Requests/MailingListStatus.md) | :heavy_check_mark: | Your current mailing list status | | | `MailingListStatus` | [MailingListStatus](../../Models/Requests/MailingListStatus.md) | :heavy_check_mark: | Your current mailing list status (active or unsubscribed) | active |
| `MaxHomeSize` | *int* | :heavy_check_mark: | The maximum number of accounts allowed in the Plex Home | 15 | | `MaxHomeSize` | *int* | :heavy_check_mark: | The maximum number of accounts allowed in the Plex Home | 15 |
| ~~`Pin`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.<br/><br/>[Might be removed] The hashed Plex Home PIN | | | ~~`Pin`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.<br/><br/>[Might be removed] The hashed Plex Home PIN | |
| `Profile` | [UserProfile](../../Models/Requests/UserProfile.md) | :heavy_check_mark: | N/A | | | `Profile` | [UserProfile](../../Models/Requests/UserProfile.md) | :heavy_check_mark: | N/A | |

View File

@@ -1,6 +1,6 @@
# MailingListStatus # MailingListStatus
Your current mailing list status Your current mailing list status (active or unsubscribed)
## Values ## Values

View File

@@ -12,28 +12,43 @@
| `TREBLEShowFeatures` | TREBLE-show-features | | `TREBLEShowFeatures` | TREBLE-show-features |
| `AdCountdownTimer` | ad-countdown-timer | | `AdCountdownTimer` | ad-countdown-timer |
| `AdaptiveBitrate` | adaptive_bitrate | | `AdaptiveBitrate` | adaptive_bitrate |
| `AlbumTypes` | album-types |
| `AllowDvr` | allow_dvr |
| `AmazonLoopDebug` | amazon-loop-debug | | `AmazonLoopDebug` | amazon-loop-debug |
| `AvodAdAnalysis` | avod-ad-analysis | | `AvodAdAnalysis` | avod-ad-analysis |
| `AvodNewMedia` | avod-new-media | | `AvodNewMedia` | avod-new-media |
| `BlacklistGetSignin` | blacklist_get_signin | | `BlacklistGetSignin` | blacklist_get_signin |
| `BoostVoices` | boost-voices |
| `CameraUpload` | camera_upload |
| `ClientRadioStations` | client-radio-stations | | `ClientRadioStations` | client-radio-stations |
| `CloudflareTurnstileRequired` | cloudflare-turnstile-required | | `CloudflareTurnstileRequired` | cloudflare-turnstile-required |
| `Cloudsync` | cloudsync |
| `Collections` | collections | | `Collections` | collections |
| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications | | `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications |
| `CommunityAccessPlexTv` | community_access_plex_tv | | `CommunityAccessPlexTv` | community_access_plex_tv |
| `CompanionsSonos` | companions_sonos | | `CompanionsSonos` | companions_sonos |
| `ContentFilter` | content_filter |
| `CustomHomeRemoval` | custom-home-removal | | `CustomHomeRemoval` | custom-home-removal |
| `DisableHomeUserFriendships` | disable_home_user_friendships | | `DisableHomeUserFriendships` | disable_home_user_friendships |
| `DisableSharingFriendships` | disable_sharing_friendships | | `DisableSharingFriendships` | disable_sharing_friendships |
| `DownloadsGating` | downloads-gating |
| `DrmSupport` | drm_support | | `DrmSupport` | drm_support |
| `Dvr` | dvr |
| `DvrBlockUnsupportedCountries` | dvr-block-unsupported-countries |
| `EpgRecentChannels` | epg-recent-channels |
| `ExcludeRestrictions` | exclude restrictions | | `ExcludeRestrictions` | exclude restrictions |
| `FederatedAuth` | federated-auth | | `FederatedAuth` | federated-auth |
| `FriendRequestPushNotifications` | friend_request_push_notifications | | `FriendRequestPushNotifications` | friend_request_push_notifications |
| `GrandfatherSync` | grandfather-sync |
| `GuidedUpgrade` | guided-upgrade | | `GuidedUpgrade` | guided-upgrade |
| `HardwareTranscoding` | hardware_transcoding |
| `Home` | home | | `Home` | home |
| `Hwtranscode` | hwtranscode |
| `ImaggaV2` | imagga-v2 |
| `IncreasePasswordComplexity` | increase-password-complexity | | `IncreasePasswordComplexity` | increase-password-complexity |
| `Ios14PrivacyBanner` | ios14-privacy-banner | | `Ios14PrivacyBanner` | ios14-privacy-banner |
| `IterableNotificationTokens` | iterable-notification-tokens | | `IterableNotificationTokens` | iterable-notification-tokens |
| `ItemClusters` | item_clusters |
| `KeepPaymentMethod` | keep-payment-method | | `KeepPaymentMethod` | keep-payment-method |
| `KevinBacon` | kevin-bacon | | `KevinBacon` | kevin-bacon |
| `KoreaConsent` | korea-consent | | `KoreaConsent` | korea-consent |
@@ -42,25 +57,46 @@
| `LightningDvrPivot` | lightning-dvr-pivot | | `LightningDvrPivot` | lightning-dvr-pivot |
| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments | | `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments |
| `Livetv` | livetv | | `Livetv` | livetv |
| `Lyrics` | lyrics |
| `MetadataSearch` | metadata_search | | `MetadataSearch` | metadata_search |
| `MusicAnalysis` | music-analysis |
| `MusicVideos` | music_videos |
| `NewPlexPassPrices` | new_plex_pass_prices | | `NewPlexPassPrices` | new_plex_pass_prices |
| `NewsProviderSunsetModal` | news-provider-sunset-modal | | `NewsProviderSunsetModal` | news-provider-sunset-modal |
| `Nominatim` | nominatim |
| `Pass` | pass |
| `PhotosFavorites` | photos-favorites | | `PhotosFavorites` | photos-favorites |
| `PhotosMetadataEdition` | photos-metadata-edition | | `PhotosMetadataEdition` | photos-metadata-edition |
| `PhotosV6Edit` | photosV6-edit |
| `PhotosV6TvAlbums` | photosV6-tv-albums |
| `PmsHealth` | pms_health | | `PmsHealth` | pms_health |
| `PremiumDashboard` | premium-dashboard |
| `PremiumMusicMetadata` | premium_music_metadata |
| `Radio` | radio | | `Radio` | radio |
| `RateLimitClientToken` | rate-limit-client-token | | `RateLimitClientToken` | rate-limit-client-token |
| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv | | `ScrobblingServicePlexTv` | scrobbling-service-plex-tv |
| `SessionBandwidthRestrictions` | session_bandwidth_restrictions |
| `SessionKick` | session_kick |
| `SharedServerNotification` | shared_server_notification | | `SharedServerNotification` | shared_server_notification |
| `SharedSourceNotification` | shared_source_notification | | `SharedSourceNotification` | shared_source_notification |
| `SigninNotification` | signin_notification |
| `SigninWithApple` | signin_with_apple | | `SigninWithApple` | signin_with_apple |
| `SilenceRemoval` | silence-removal |
| `SleepTimer` | sleep-timer |
| `SpringServeAdProvider` | spring_serve_ad_provider | | `SpringServeAdProvider` | spring_serve_ad_provider |
| `Sync` | sync |
| `SweetFades` | sweet-fades |
| `TranscoderCache` | transcoder_cache | | `TranscoderCache` | transcoder_cache |
| `Trailers` | trailers |
| `TunerSharing` | tuner-sharing | | `TunerSharing` | tuner-sharing |
| `TwoFactorAuthentication` | two-factor-authentication | | `TwoFactorAuthentication` | two-factor-authentication |
| `Unsupportedtuners` | unsupportedtuners | | `Unsupportedtuners` | unsupportedtuners |
| `Upgrade3ds2` | upgrade-3ds2 | | `Upgrade3ds2` | upgrade-3ds2 |
| `Visualizers` | visualizers |
| `VodSchema` | vod-schema | | `VodSchema` | vod-schema |
| `VodCloudflare` | vod_cloudflare | | `VodCloudflare` | vod_cloudflare |
| `VolumeLeveling` | volume-leveling |
| `WatchTogetherInvite` | watch-together-invite | | `WatchTogetherInvite` | watch-together-invite |
| `WebServerDashboard` | web_server_dashboard | | `WatchlistRss` | watchlist-rss |
| `WebServerDashboard` | web_server_dashboard |
| `Webhooks` | webhooks |

View File

@@ -12,28 +12,43 @@
| `TREBLEShowFeatures` | TREBLE-show-features | | `TREBLEShowFeatures` | TREBLE-show-features |
| `AdCountdownTimer` | ad-countdown-timer | | `AdCountdownTimer` | ad-countdown-timer |
| `AdaptiveBitrate` | adaptive_bitrate | | `AdaptiveBitrate` | adaptive_bitrate |
| `AlbumTypes` | album-types |
| `AllowDvr` | allow_dvr |
| `AmazonLoopDebug` | amazon-loop-debug | | `AmazonLoopDebug` | amazon-loop-debug |
| `AvodAdAnalysis` | avod-ad-analysis | | `AvodAdAnalysis` | avod-ad-analysis |
| `AvodNewMedia` | avod-new-media | | `AvodNewMedia` | avod-new-media |
| `BlacklistGetSignin` | blacklist_get_signin | | `BlacklistGetSignin` | blacklist_get_signin |
| `BoostVoices` | boost-voices |
| `CameraUpload` | camera_upload |
| `ClientRadioStations` | client-radio-stations | | `ClientRadioStations` | client-radio-stations |
| `CloudflareTurnstileRequired` | cloudflare-turnstile-required | | `CloudflareTurnstileRequired` | cloudflare-turnstile-required |
| `Cloudsync` | cloudsync |
| `Collections` | collections | | `Collections` | collections |
| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications | | `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications |
| `CommunityAccessPlexTv` | community_access_plex_tv | | `CommunityAccessPlexTv` | community_access_plex_tv |
| `CompanionsSonos` | companions_sonos | | `CompanionsSonos` | companions_sonos |
| `ContentFilter` | content_filter |
| `CustomHomeRemoval` | custom-home-removal | | `CustomHomeRemoval` | custom-home-removal |
| `DisableHomeUserFriendships` | disable_home_user_friendships | | `DisableHomeUserFriendships` | disable_home_user_friendships |
| `DisableSharingFriendships` | disable_sharing_friendships | | `DisableSharingFriendships` | disable_sharing_friendships |
| `DownloadsGating` | downloads-gating |
| `DrmSupport` | drm_support | | `DrmSupport` | drm_support |
| `Dvr` | dvr |
| `DvrBlockUnsupportedCountries` | dvr-block-unsupported-countries |
| `EpgRecentChannels` | epg-recent-channels |
| `ExcludeRestrictions` | exclude restrictions | | `ExcludeRestrictions` | exclude restrictions |
| `FederatedAuth` | federated-auth | | `FederatedAuth` | federated-auth |
| `FriendRequestPushNotifications` | friend_request_push_notifications | | `FriendRequestPushNotifications` | friend_request_push_notifications |
| `GrandfatherSync` | grandfather-sync |
| `GuidedUpgrade` | guided-upgrade | | `GuidedUpgrade` | guided-upgrade |
| `HardwareTranscoding` | hardware_transcoding |
| `Home` | home | | `Home` | home |
| `Hwtranscode` | hwtranscode |
| `ImaggaV2` | imagga-v2 |
| `IncreasePasswordComplexity` | increase-password-complexity | | `IncreasePasswordComplexity` | increase-password-complexity |
| `Ios14PrivacyBanner` | ios14-privacy-banner | | `Ios14PrivacyBanner` | ios14-privacy-banner |
| `IterableNotificationTokens` | iterable-notification-tokens | | `IterableNotificationTokens` | iterable-notification-tokens |
| `ItemClusters` | item_clusters |
| `KeepPaymentMethod` | keep-payment-method | | `KeepPaymentMethod` | keep-payment-method |
| `KevinBacon` | kevin-bacon | | `KevinBacon` | kevin-bacon |
| `KoreaConsent` | korea-consent | | `KoreaConsent` | korea-consent |
@@ -42,25 +57,46 @@
| `LightningDvrPivot` | lightning-dvr-pivot | | `LightningDvrPivot` | lightning-dvr-pivot |
| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments | | `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments |
| `Livetv` | livetv | | `Livetv` | livetv |
| `Lyrics` | lyrics |
| `MetadataSearch` | metadata_search | | `MetadataSearch` | metadata_search |
| `MusicAnalysis` | music-analysis |
| `MusicVideos` | music_videos |
| `NewPlexPassPrices` | new_plex_pass_prices | | `NewPlexPassPrices` | new_plex_pass_prices |
| `NewsProviderSunsetModal` | news-provider-sunset-modal | | `NewsProviderSunsetModal` | news-provider-sunset-modal |
| `Nominatim` | nominatim |
| `Pass` | pass |
| `PhotosFavorites` | photos-favorites | | `PhotosFavorites` | photos-favorites |
| `PhotosMetadataEdition` | photos-metadata-edition | | `PhotosMetadataEdition` | photos-metadata-edition |
| `PhotosV6Edit` | photosV6-edit |
| `PhotosV6TvAlbums` | photosV6-tv-albums |
| `PmsHealth` | pms_health | | `PmsHealth` | pms_health |
| `PremiumDashboard` | premium-dashboard |
| `PremiumMusicMetadata` | premium_music_metadata |
| `Radio` | radio | | `Radio` | radio |
| `RateLimitClientToken` | rate-limit-client-token | | `RateLimitClientToken` | rate-limit-client-token |
| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv | | `ScrobblingServicePlexTv` | scrobbling-service-plex-tv |
| `SessionBandwidthRestrictions` | session_bandwidth_restrictions |
| `SessionKick` | session_kick |
| `SharedServerNotification` | shared_server_notification | | `SharedServerNotification` | shared_server_notification |
| `SharedSourceNotification` | shared_source_notification | | `SharedSourceNotification` | shared_source_notification |
| `SigninNotification` | signin_notification |
| `SigninWithApple` | signin_with_apple | | `SigninWithApple` | signin_with_apple |
| `SilenceRemoval` | silence-removal |
| `SleepTimer` | sleep-timer |
| `SpringServeAdProvider` | spring_serve_ad_provider | | `SpringServeAdProvider` | spring_serve_ad_provider |
| `Sync` | sync |
| `SweetFades` | sweet-fades |
| `TranscoderCache` | transcoder_cache | | `TranscoderCache` | transcoder_cache |
| `Trailers` | trailers |
| `TunerSharing` | tuner-sharing | | `TunerSharing` | tuner-sharing |
| `TwoFactorAuthentication` | two-factor-authentication | | `TwoFactorAuthentication` | two-factor-authentication |
| `Unsupportedtuners` | unsupportedtuners | | `Unsupportedtuners` | unsupportedtuners |
| `Upgrade3ds2` | upgrade-3ds2 | | `Upgrade3ds2` | upgrade-3ds2 |
| `Visualizers` | visualizers |
| `VodSchema` | vod-schema | | `VodSchema` | vod-schema |
| `VodCloudflare` | vod_cloudflare | | `VodCloudflare` | vod_cloudflare |
| `VolumeLeveling` | volume-leveling |
| `WatchTogetherInvite` | watch-together-invite | | `WatchTogetherInvite` | watch-together-invite |
| `WebServerDashboard` | web_server_dashboard | | `WatchlistRss` | watchlist-rss |
| `WebServerDashboard` | web_server_dashboard |
| `Webhooks` | webhooks |

View File

@@ -1,6 +1,6 @@
# PostUsersSignInDataMailingListStatus # PostUsersSignInDataMailingListStatus
Your current mailing list status Your current mailing list status (active or unsubscribed)
## Values ## Values

View File

@@ -29,7 +29,7 @@ Returns the user account data with a valid auth token
| `JoinedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `JoinedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `Locale` | *string* | :heavy_check_mark: | The account locale | | | `Locale` | *string* | :heavy_check_mark: | The account locale | |
| `MailingListActive` | *bool* | :heavy_minus_sign: | If you are subscribed to the Plex newsletter | | | `MailingListActive` | *bool* | :heavy_minus_sign: | If you are subscribed to the Plex newsletter | |
| `MailingListStatus` | [PostUsersSignInDataMailingListStatus](../../Models/Requests/PostUsersSignInDataMailingListStatus.md) | :heavy_check_mark: | Your current mailing list status | | | `MailingListStatus` | [PostUsersSignInDataMailingListStatus](../../Models/Requests/PostUsersSignInDataMailingListStatus.md) | :heavy_check_mark: | Your current mailing list status (active or unsubscribed) | active |
| `MaxHomeSize` | *int* | :heavy_check_mark: | The maximum number of accounts allowed in the Plex Home | 15 | | `MaxHomeSize` | *int* | :heavy_check_mark: | The maximum number of accounts allowed in the Plex Home | 15 |
| ~~`Pin`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.<br/><br/>[Might be removed] The hashed Plex Home PIN | | | ~~`Pin`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.<br/><br/>[Might be removed] The hashed Plex Home PIN | |
| `Profile` | [PostUsersSignInDataUserProfile](../../Models/Requests/PostUsersSignInDataUserProfile.md) | :heavy_check_mark: | N/A | | | `Profile` | [PostUsersSignInDataUserProfile](../../Models/Requests/PostUsersSignInDataUserProfile.md) | :heavy_check_mark: | N/A | |

View File

@@ -204,7 +204,8 @@ var sdk = new PlexAPI(
var res = await sdk.Plex.GetServerResourcesAsync( var res = await sdk.Plex.GetServerResourcesAsync(
includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.Enable, includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.Enable,
includeRelay: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeRelay.Enable, includeRelay: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeRelay.Enable,
includeIPv6: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Enable includeIPv6: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Enable,
clientID: "gcgzw5rz2xovp84b4vha3a40"
); );
// handle response // handle response
@@ -212,12 +213,13 @@ var res = await sdk.Plex.GetServerResourcesAsync(
### Parameters ### Parameters
| Parameter | Type | Required | Description | Example | | Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `IncludeHttps` | [IncludeHttps](../../Models/Requests/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 | | `IncludeHttps` | [IncludeHttps](../../Models/Requests/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 |
| `IncludeRelay` | [IncludeRelay](../../Models/Requests/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results <br/>E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400<br/> | 1 | | `IncludeRelay` | [IncludeRelay](../../Models/Requests/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results <br/>E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400<br/> | 1 |
| `IncludeIPv6` | [IncludeIPv6](../../Models/Requests/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | | `IncludeIPv6` | [IncludeIPv6](../../Models/Requests/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 |
| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 | | `ClientID` | *string* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | gcgzw5rz2xovp84b4vha3a40 |
| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 |
### Response ### Response
@@ -296,17 +298,21 @@ var sdk = new PlexAPI(
deviceName: "Linux" deviceName: "Linux"
); );
var res = await sdk.Plex.GetTokenByPinIdAsync(pinID: 408895); GetTokenByPinIdRequest req = new GetTokenByPinIdRequest() {
PinID = 408895,
};
var res = await sdk.Plex.GetTokenByPinIdAsync(req);
// handle response // handle response
``` ```
### Parameters ### Parameters
| Parameter | Type | Required | Description | | Parameter | Type | Required | Description |
| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `PinID` | *long* | :heavy_check_mark: | The PinID to retrieve an access token for | | `request` | [GetTokenByPinIdRequest](../../Models/Requests/GetTokenByPinIdRequest.md) | :heavy_check_mark: | The request object to use for the request. |
| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | | `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. |
### Response ### Response

View File

@@ -2,4 +2,27 @@
## Overview ## Overview
Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server # Plex Media Server OpenAPI Specification
An Open Source OpenAPI Specification for Plex Media Server
Automation and SDKs provided by [Speakeasy](https://speakeasyapi.dev/)
## Documentation
[API Documentation](https://plexapi.dev)
## SDKs
The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the [main specification Repository](https://github.com/LukeHagar/plex-api-spec).
| Language | Repository | Releases | Other |
| --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
| Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) | - |
| JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) | - |
| Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) |
| Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - |
| Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - |
| PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - |
| Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - |
| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | -