mirror of
https://github.com/LukeHagar/plexcsharp.git
synced 2025-12-06 12:37:46 +00:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
860991f2a0 | ||
|
|
d25639db53 | ||
|
|
227e2351d5 | ||
|
|
3bd4f51297 | ||
|
|
4828de2345 | ||
|
|
2beb707ed5 | ||
|
|
affe5d5a8c | ||
|
|
d16abdad70 |
1
.github/workflows/sdk_generation.yaml
vendored
1
.github/workflows/sdk_generation.yaml
vendored
@@ -24,6 +24,7 @@ jobs:
|
||||
mode: direct
|
||||
set_version: ${{ github.event.inputs.set_version }}
|
||||
speakeasy_version: latest
|
||||
dotnet_version: "8.x"
|
||||
secrets:
|
||||
github_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
nuget_api_key: ${{ secrets.NUGET_API_KEY }}
|
||||
|
||||
1
.idea/.idea.LukeHagar.PlexAPI.SDK/.idea/.name
generated
Normal file
1
.idea/.idea.LukeHagar.PlexAPI.SDK/.idea/.name
generated
Normal file
@@ -0,0 +1 @@
|
||||
LukeHagar.PlexAPI.SDK
|
||||
4
.idea/.idea.LukeHagar.PlexAPI.SDK/.idea/encodings.xml
generated
Normal file
4
.idea/.idea.LukeHagar.PlexAPI.SDK/.idea/encodings.xml
generated
Normal 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>
|
||||
8
.idea/.idea.LukeHagar.PlexAPI.SDK/.idea/indexLayout.xml
generated
Normal file
8
.idea/.idea.LukeHagar.PlexAPI.SDK/.idea/indexLayout.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="UserContentModel">
|
||||
<attachedFolders />
|
||||
<explicitIncludes />
|
||||
<explicitExcludes />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/.idea.LukeHagar.PlexAPI.SDK/.idea/projectSettingsUpdater.xml
generated
Normal file
6
.idea/.idea.LukeHagar.PlexAPI.SDK/.idea/projectSettingsUpdater.xml
generated
Normal 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>
|
||||
6
.idea/.idea.LukeHagar.PlexAPI.SDK/.idea/vcs.xml
generated
Normal file
6
.idea/.idea.LukeHagar.PlexAPI.SDK/.idea/vcs.xml
generated
Normal 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>
|
||||
@@ -1,12 +1,12 @@
|
||||
lockVersion: 2.0.0
|
||||
id: 5a8dbcbc-e0ee-41f0-9d84-b8b50567d1e9
|
||||
management:
|
||||
docChecksum: 4b984f7caf05a57f71aaaaa33a3a51da
|
||||
docChecksum: f387ae03f10decba230886eaab322b20
|
||||
docVersion: 0.0.3
|
||||
speakeasyVersion: 1.402.14
|
||||
generationVersion: 2.422.22
|
||||
releaseVersion: 0.8.0
|
||||
configChecksum: b2f977640ef890e79b91e89ca8b0ab90
|
||||
speakeasyVersion: 1.404.5
|
||||
generationVersion: 2.426.2
|
||||
releaseVersion: 0.8.5
|
||||
configChecksum: 4b2270929482aae2b07630c2ff1601f8
|
||||
repoURL: https://github.com/LukeHagar/plexcsharp.git
|
||||
repoSubDirectory: .
|
||||
published: true
|
||||
@@ -14,7 +14,7 @@ features:
|
||||
csharp:
|
||||
additionalDependencies: 0.1.0
|
||||
constsAndDefaults: 0.0.1
|
||||
core: 3.10.1
|
||||
core: 3.10.2
|
||||
deprecations: 2.81.2
|
||||
enums: 2.82.0
|
||||
errors: 0.0.2
|
||||
@@ -738,6 +738,7 @@ generatedFiles:
|
||||
- LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataFeatures.cs
|
||||
- LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataMailingListStatus.cs
|
||||
- LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataMediaReviewsVisibility.cs
|
||||
- LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataRequest.cs
|
||||
- LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataRequestBody.cs
|
||||
- LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataResponse.cs
|
||||
- LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataServices.cs
|
||||
@@ -1528,6 +1529,7 @@ generatedFiles:
|
||||
- docs/Models/Requests/PostUsersSignInDataFeatures.md
|
||||
- docs/Models/Requests/PostUsersSignInDataMailingListStatus.md
|
||||
- docs/Models/Requests/PostUsersSignInDataMediaReviewsVisibility.md
|
||||
- docs/Models/Requests/PostUsersSignInDataRequest.md
|
||||
- docs/Models/Requests/PostUsersSignInDataRequestBody.md
|
||||
- docs/Models/Requests/PostUsersSignInDataResponse.md
|
||||
- docs/Models/Requests/PostUsersSignInDataServices.md
|
||||
@@ -1920,6 +1922,7 @@ examples:
|
||||
includeHttps: 1
|
||||
includeRelay: 1
|
||||
includeIPv6: 1
|
||||
X-Plex-Client-Identifier: "gcgzw5rz2xovp84b4vha3a40"
|
||||
responses:
|
||||
"401":
|
||||
application/json: {"errors": []}
|
||||
@@ -1935,6 +1938,7 @@ examples:
|
||||
X-Plex-Device: "Linux"
|
||||
X-Plex-Version: "4.133.0"
|
||||
X-Plex-Platform: "Chrome"
|
||||
X-Plex-Client-Identifier: "gcgzw5rz2xovp84b4vha3a40"
|
||||
responses:
|
||||
"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}
|
||||
@@ -1947,7 +1951,12 @@ examples:
|
||||
parameters:
|
||||
path:
|
||||
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:
|
||||
"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}
|
||||
@@ -2398,6 +2407,23 @@ examples:
|
||||
application/json: {"errors": []}
|
||||
"400":
|
||||
application/json: {"errors": []}
|
||||
"":
|
||||
parameters:
|
||||
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"
|
||||
requestBody:
|
||||
application/x-www-form-urlencoded: {"login": "username@email.com", "password": "password123", "verificationCode": "123456"}
|
||||
responses:
|
||||
"201":
|
||||
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": 1721154902, "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": 1722364046, "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, "pastSubscriptions": [{"id": "string", "mode": "string", "renewsAt": "string", "endsAt": "1556281940", "canceled": "0", "gracePeriod": "0", "onHold": "0", "canReactivate": "0", "canUpgrade": "0", "canDowngrade": "0", "canConvert": "0", "type": "plexpass", "transfer": "string", "state": "ended", "billing": {"paymentMethodId": 481656}}], "trials": [{}]}
|
||||
"400":
|
||||
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
|
||||
"401":
|
||||
application/json: {"errors": []}
|
||||
getStatistics:
|
||||
"":
|
||||
parameters:
|
||||
@@ -2574,7 +2600,7 @@ examples:
|
||||
speakeasy-default-get-token-details:
|
||||
responses:
|
||||
"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":
|
||||
application/json: {"errors": []}
|
||||
"401":
|
||||
|
||||
@@ -12,7 +12,7 @@ generation:
|
||||
auth:
|
||||
oAuth2ClientCredentialsEnabled: true
|
||||
csharp:
|
||||
version: 0.8.0
|
||||
version: 0.8.5
|
||||
additionalDependencies: []
|
||||
author: LukeHagar
|
||||
clientServerStatusCodesAsErrors: true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
speakeasyVersion: 1.402.14
|
||||
speakeasyVersion: 1.404.5
|
||||
sources:
|
||||
my-source:
|
||||
sourceNamespace: my-source
|
||||
@@ -16,8 +16,8 @@ sources:
|
||||
- main
|
||||
plexapi:
|
||||
sourceNamespace: plexapi
|
||||
sourceRevisionDigest: sha256:ef43acbcbd2589d257d0c898ba6d401c7afc9070b9ab1bd628af2b4db1413560
|
||||
sourceBlobDigest: sha256:801d5aa55d92b23efb9310aa60fab4fd00987069401931ce4a15ee80effb09e1
|
||||
sourceRevisionDigest: sha256:43df09ae75e98f7abe335ca5bf83b467f803aa57d19ba100db61fedfd50397f1
|
||||
sourceBlobDigest: sha256:43ddffba137c37d2f64f8db185179a273bcc5ca7242594c932da99d1eb7f3e98
|
||||
tags:
|
||||
- latest
|
||||
- main
|
||||
@@ -25,10 +25,10 @@ targets:
|
||||
plexcsharp:
|
||||
source: plexapi
|
||||
sourceNamespace: plexapi
|
||||
sourceRevisionDigest: sha256:ef43acbcbd2589d257d0c898ba6d401c7afc9070b9ab1bd628af2b4db1413560
|
||||
sourceBlobDigest: sha256:801d5aa55d92b23efb9310aa60fab4fd00987069401931ce4a15ee80effb09e1
|
||||
sourceRevisionDigest: sha256:43df09ae75e98f7abe335ca5bf83b467f803aa57d19ba100db61fedfd50397f1
|
||||
sourceBlobDigest: sha256:43ddffba137c37d2f64f8db185179a273bcc5ca7242594c932da99d1eb7f3e98
|
||||
codeSamplesNamespace: code-samples-csharp-plexcsharp
|
||||
codeSamplesRevisionDigest: sha256:3a4987f336fc053a5de8964124876ab5be7b353bfb85c09868375c83a49de0a8
|
||||
codeSamplesRevisionDigest: sha256:22c26e5769fe55c03983fdb762b0c4be50626c9bd742497c07927b682786152b
|
||||
workflow:
|
||||
workflowVersion: 1.0.0
|
||||
speakeasyVersion: latest
|
||||
|
||||
@@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -69,7 +69,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Sign in user with username and password and return user data with Plex authentication token
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<PostUsersSignInDataResponse> PostUsersSignInDataAsync(PostUsersSignInDataRequestBody? request = null, string? serverUrl = null);
|
||||
Task<PostUsersSignInDataResponse> PostUsersSignInDataAsync(PostUsersSignInDataRequest? request = null, string? serverUrl = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -85,20 +85,20 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// List of server URLs available for the getTokenDetails operation.
|
||||
/// </summary>
|
||||
public static readonly string[] GetTokenDetailsServerList = {
|
||||
"https://plex.tv/api/v2/",
|
||||
"https://plex.tv/api/v2",
|
||||
};
|
||||
/// <summary>
|
||||
/// List of server URLs available for the post-users-sign-in-data operation.
|
||||
/// </summary>
|
||||
public static readonly string[] PostUsersSignInDataServerList = {
|
||||
"https://plex.tv/api/v2/",
|
||||
"https://plex.tv/api/v2",
|
||||
};
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
@@ -398,21 +398,26 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
|
||||
public async Task<PostUsersSignInDataResponse> PostUsersSignInDataAsync(PostUsersSignInDataRequestBody? request = null, string? serverUrl = null)
|
||||
public async Task<PostUsersSignInDataResponse> PostUsersSignInDataAsync(PostUsersSignInDataRequest? request = null, string? serverUrl = null)
|
||||
{
|
||||
request.ClientID ??= SDKConfiguration.ClientID;
|
||||
request.ClientName ??= SDKConfiguration.ClientName;
|
||||
request.ClientVersion ??= SDKConfiguration.ClientVersion;
|
||||
request.ClientPlatform ??= SDKConfiguration.ClientPlatform;
|
||||
request.DeviceName ??= SDKConfiguration.DeviceName;
|
||||
|
||||
string baseUrl = Utilities.TemplateUrl(PostUsersSignInDataServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
if (serverUrl != null)
|
||||
{
|
||||
baseUrl = serverUrl;
|
||||
}
|
||||
|
||||
var urlString = baseUrl + "/users/signin";
|
||||
var urlString = URLBuilder.Build(baseUrl, "/users/signin", request);
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
|
||||
var serializedBody = RequestBodySerializer.Serialize(request, "Request", "form", false, true);
|
||||
var serializedBody = RequestBodySerializer.Serialize(request, "RequestBody", "form", false, true);
|
||||
if (serializedBody != null)
|
||||
{
|
||||
httpRequest.Content = serializedBody;
|
||||
|
||||
@@ -101,10 +101,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -73,10 +73,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -241,10 +241,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -94,10 +94,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -3,14 +3,38 @@
|
||||
<PropertyGroup>
|
||||
<IsPackable>true</IsPackable>
|
||||
<PackageId>LukeHagar.PlexAPI.SDK</PackageId>
|
||||
<Version>0.8.0</Version>
|
||||
<Version>0.8.5</Version>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Authors>LukeHagar</Authors>
|
||||
<Copyright>Copyright (c) LukeHagar 2024</Copyright>
|
||||
<RepositoryUrl>https://github.com/LukeHagar/plexcsharp.git</RepositoryUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<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>
|
||||
|
||||
@@ -90,10 +90,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -29,6 +29,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
AdCountdownTimer,
|
||||
[JsonProperty("adaptive_bitrate")]
|
||||
AdaptiveBitrate,
|
||||
[JsonProperty("album-types")]
|
||||
AlbumTypes,
|
||||
[JsonProperty("allow_dvr")]
|
||||
AllowDvr,
|
||||
[JsonProperty("amazon-loop-debug")]
|
||||
AmazonLoopDebug,
|
||||
[JsonProperty("avod-ad-analysis")]
|
||||
@@ -37,10 +41,16 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
AvodNewMedia,
|
||||
[JsonProperty("blacklist_get_signin")]
|
||||
BlacklistGetSignin,
|
||||
[JsonProperty("boost-voices")]
|
||||
BoostVoices,
|
||||
[JsonProperty("camera_upload")]
|
||||
CameraUpload,
|
||||
[JsonProperty("client-radio-stations")]
|
||||
ClientRadioStations,
|
||||
[JsonProperty("cloudflare-turnstile-required")]
|
||||
CloudflareTurnstileRequired,
|
||||
[JsonProperty("cloudsync")]
|
||||
Cloudsync,
|
||||
[JsonProperty("collections")]
|
||||
Collections,
|
||||
[JsonProperty("comments_and_replies_push_notifications")]
|
||||
@@ -49,30 +59,50 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
CommunityAccessPlexTv,
|
||||
[JsonProperty("companions_sonos")]
|
||||
CompanionsSonos,
|
||||
[JsonProperty("content_filter")]
|
||||
ContentFilter,
|
||||
[JsonProperty("custom-home-removal")]
|
||||
CustomHomeRemoval,
|
||||
[JsonProperty("disable_home_user_friendships")]
|
||||
DisableHomeUserFriendships,
|
||||
[JsonProperty("disable_sharing_friendships")]
|
||||
DisableSharingFriendships,
|
||||
[JsonProperty("downloads-gating")]
|
||||
DownloadsGating,
|
||||
[JsonProperty("drm_support")]
|
||||
DrmSupport,
|
||||
[JsonProperty("dvr")]
|
||||
Dvr,
|
||||
[JsonProperty("dvr-block-unsupported-countries")]
|
||||
DvrBlockUnsupportedCountries,
|
||||
[JsonProperty("epg-recent-channels")]
|
||||
EpgRecentChannels,
|
||||
[JsonProperty("exclude restrictions")]
|
||||
ExcludeRestrictions,
|
||||
[JsonProperty("federated-auth")]
|
||||
FederatedAuth,
|
||||
[JsonProperty("friend_request_push_notifications")]
|
||||
FriendRequestPushNotifications,
|
||||
[JsonProperty("grandfather-sync")]
|
||||
GrandfatherSync,
|
||||
[JsonProperty("guided-upgrade")]
|
||||
GuidedUpgrade,
|
||||
[JsonProperty("hardware_transcoding")]
|
||||
HardwareTranscoding,
|
||||
[JsonProperty("home")]
|
||||
Home,
|
||||
[JsonProperty("hwtranscode")]
|
||||
Hwtranscode,
|
||||
[JsonProperty("imagga-v2")]
|
||||
ImaggaV2,
|
||||
[JsonProperty("increase-password-complexity")]
|
||||
IncreasePasswordComplexity,
|
||||
[JsonProperty("ios14-privacy-banner")]
|
||||
Ios14PrivacyBanner,
|
||||
[JsonProperty("iterable-notification-tokens")]
|
||||
IterableNotificationTokens,
|
||||
[JsonProperty("item_clusters")]
|
||||
ItemClusters,
|
||||
[JsonProperty("keep-payment-method")]
|
||||
KeepPaymentMethod,
|
||||
[JsonProperty("kevin-bacon")]
|
||||
@@ -89,34 +119,68 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
LiveTvSupportIncompleteSegments,
|
||||
[JsonProperty("livetv")]
|
||||
Livetv,
|
||||
[JsonProperty("lyrics")]
|
||||
Lyrics,
|
||||
[JsonProperty("metadata_search")]
|
||||
MetadataSearch,
|
||||
[JsonProperty("music-analysis")]
|
||||
MusicAnalysis,
|
||||
[JsonProperty("music_videos")]
|
||||
MusicVideos,
|
||||
[JsonProperty("new_plex_pass_prices")]
|
||||
NewPlexPassPrices,
|
||||
[JsonProperty("news-provider-sunset-modal")]
|
||||
NewsProviderSunsetModal,
|
||||
[JsonProperty("nominatim")]
|
||||
Nominatim,
|
||||
[JsonProperty("pass")]
|
||||
Pass,
|
||||
[JsonProperty("photos-favorites")]
|
||||
PhotosFavorites,
|
||||
[JsonProperty("photos-metadata-edition")]
|
||||
PhotosMetadataEdition,
|
||||
[JsonProperty("photosV6-edit")]
|
||||
PhotosV6Edit,
|
||||
[JsonProperty("photosV6-tv-albums")]
|
||||
PhotosV6TvAlbums,
|
||||
[JsonProperty("pms_health")]
|
||||
PmsHealth,
|
||||
[JsonProperty("premium-dashboard")]
|
||||
PremiumDashboard,
|
||||
[JsonProperty("premium_music_metadata")]
|
||||
PremiumMusicMetadata,
|
||||
[JsonProperty("radio")]
|
||||
Radio,
|
||||
[JsonProperty("rate-limit-client-token")]
|
||||
RateLimitClientToken,
|
||||
[JsonProperty("scrobbling-service-plex-tv")]
|
||||
ScrobblingServicePlexTv,
|
||||
[JsonProperty("session_bandwidth_restrictions")]
|
||||
SessionBandwidthRestrictions,
|
||||
[JsonProperty("session_kick")]
|
||||
SessionKick,
|
||||
[JsonProperty("shared_server_notification")]
|
||||
SharedServerNotification,
|
||||
[JsonProperty("shared_source_notification")]
|
||||
SharedSourceNotification,
|
||||
[JsonProperty("signin_notification")]
|
||||
SigninNotification,
|
||||
[JsonProperty("signin_with_apple")]
|
||||
SigninWithApple,
|
||||
[JsonProperty("silence-removal")]
|
||||
SilenceRemoval,
|
||||
[JsonProperty("sleep-timer")]
|
||||
SleepTimer,
|
||||
[JsonProperty("spring_serve_ad_provider")]
|
||||
SpringServeAdProvider,
|
||||
[JsonProperty("sync")]
|
||||
Sync,
|
||||
[JsonProperty("sweet-fades")]
|
||||
SweetFades,
|
||||
[JsonProperty("transcoder_cache")]
|
||||
TranscoderCache,
|
||||
[JsonProperty("trailers")]
|
||||
Trailers,
|
||||
[JsonProperty("tuner-sharing")]
|
||||
TunerSharing,
|
||||
[JsonProperty("two-factor-authentication")]
|
||||
@@ -125,14 +189,22 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
Unsupportedtuners,
|
||||
[JsonProperty("upgrade-3ds2")]
|
||||
Upgrade3ds2,
|
||||
[JsonProperty("visualizers")]
|
||||
Visualizers,
|
||||
[JsonProperty("vod-schema")]
|
||||
VodSchema,
|
||||
[JsonProperty("vod_cloudflare")]
|
||||
VodCloudflare,
|
||||
[JsonProperty("volume-leveling")]
|
||||
VolumeLeveling,
|
||||
[JsonProperty("watch-together-invite")]
|
||||
WatchTogetherInvite,
|
||||
[JsonProperty("watchlist-rss")]
|
||||
WatchlistRss,
|
||||
[JsonProperty("web_server_dashboard")]
|
||||
WebServerDashboard,
|
||||
[JsonProperty("webhooks")]
|
||||
Webhooks,
|
||||
}
|
||||
|
||||
public static class FeaturesExtension
|
||||
|
||||
@@ -26,6 +26,18 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=strong")]
|
||||
public bool? Strong { get; set; } = false;
|
||||
|
||||
/// <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; }
|
||||
|
||||
|
||||
@@ -37,5 +37,17 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeIPv6")]
|
||||
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; }
|
||||
}
|
||||
}
|
||||
@@ -19,5 +19,29 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=pinID")]
|
||||
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; }
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
AdCountdownTimer,
|
||||
[JsonProperty("adaptive_bitrate")]
|
||||
AdaptiveBitrate,
|
||||
[JsonProperty("album-types")]
|
||||
AlbumTypes,
|
||||
[JsonProperty("allow_dvr")]
|
||||
AllowDvr,
|
||||
[JsonProperty("amazon-loop-debug")]
|
||||
AmazonLoopDebug,
|
||||
[JsonProperty("avod-ad-analysis")]
|
||||
@@ -37,10 +41,16 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
AvodNewMedia,
|
||||
[JsonProperty("blacklist_get_signin")]
|
||||
BlacklistGetSignin,
|
||||
[JsonProperty("boost-voices")]
|
||||
BoostVoices,
|
||||
[JsonProperty("camera_upload")]
|
||||
CameraUpload,
|
||||
[JsonProperty("client-radio-stations")]
|
||||
ClientRadioStations,
|
||||
[JsonProperty("cloudflare-turnstile-required")]
|
||||
CloudflareTurnstileRequired,
|
||||
[JsonProperty("cloudsync")]
|
||||
Cloudsync,
|
||||
[JsonProperty("collections")]
|
||||
Collections,
|
||||
[JsonProperty("comments_and_replies_push_notifications")]
|
||||
@@ -49,30 +59,50 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
CommunityAccessPlexTv,
|
||||
[JsonProperty("companions_sonos")]
|
||||
CompanionsSonos,
|
||||
[JsonProperty("content_filter")]
|
||||
ContentFilter,
|
||||
[JsonProperty("custom-home-removal")]
|
||||
CustomHomeRemoval,
|
||||
[JsonProperty("disable_home_user_friendships")]
|
||||
DisableHomeUserFriendships,
|
||||
[JsonProperty("disable_sharing_friendships")]
|
||||
DisableSharingFriendships,
|
||||
[JsonProperty("downloads-gating")]
|
||||
DownloadsGating,
|
||||
[JsonProperty("drm_support")]
|
||||
DrmSupport,
|
||||
[JsonProperty("dvr")]
|
||||
Dvr,
|
||||
[JsonProperty("dvr-block-unsupported-countries")]
|
||||
DvrBlockUnsupportedCountries,
|
||||
[JsonProperty("epg-recent-channels")]
|
||||
EpgRecentChannels,
|
||||
[JsonProperty("exclude restrictions")]
|
||||
ExcludeRestrictions,
|
||||
[JsonProperty("federated-auth")]
|
||||
FederatedAuth,
|
||||
[JsonProperty("friend_request_push_notifications")]
|
||||
FriendRequestPushNotifications,
|
||||
[JsonProperty("grandfather-sync")]
|
||||
GrandfatherSync,
|
||||
[JsonProperty("guided-upgrade")]
|
||||
GuidedUpgrade,
|
||||
[JsonProperty("hardware_transcoding")]
|
||||
HardwareTranscoding,
|
||||
[JsonProperty("home")]
|
||||
Home,
|
||||
[JsonProperty("hwtranscode")]
|
||||
Hwtranscode,
|
||||
[JsonProperty("imagga-v2")]
|
||||
ImaggaV2,
|
||||
[JsonProperty("increase-password-complexity")]
|
||||
IncreasePasswordComplexity,
|
||||
[JsonProperty("ios14-privacy-banner")]
|
||||
Ios14PrivacyBanner,
|
||||
[JsonProperty("iterable-notification-tokens")]
|
||||
IterableNotificationTokens,
|
||||
[JsonProperty("item_clusters")]
|
||||
ItemClusters,
|
||||
[JsonProperty("keep-payment-method")]
|
||||
KeepPaymentMethod,
|
||||
[JsonProperty("kevin-bacon")]
|
||||
@@ -89,34 +119,68 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
LiveTvSupportIncompleteSegments,
|
||||
[JsonProperty("livetv")]
|
||||
Livetv,
|
||||
[JsonProperty("lyrics")]
|
||||
Lyrics,
|
||||
[JsonProperty("metadata_search")]
|
||||
MetadataSearch,
|
||||
[JsonProperty("music-analysis")]
|
||||
MusicAnalysis,
|
||||
[JsonProperty("music_videos")]
|
||||
MusicVideos,
|
||||
[JsonProperty("new_plex_pass_prices")]
|
||||
NewPlexPassPrices,
|
||||
[JsonProperty("news-provider-sunset-modal")]
|
||||
NewsProviderSunsetModal,
|
||||
[JsonProperty("nominatim")]
|
||||
Nominatim,
|
||||
[JsonProperty("pass")]
|
||||
Pass,
|
||||
[JsonProperty("photos-favorites")]
|
||||
PhotosFavorites,
|
||||
[JsonProperty("photos-metadata-edition")]
|
||||
PhotosMetadataEdition,
|
||||
[JsonProperty("photosV6-edit")]
|
||||
PhotosV6Edit,
|
||||
[JsonProperty("photosV6-tv-albums")]
|
||||
PhotosV6TvAlbums,
|
||||
[JsonProperty("pms_health")]
|
||||
PmsHealth,
|
||||
[JsonProperty("premium-dashboard")]
|
||||
PremiumDashboard,
|
||||
[JsonProperty("premium_music_metadata")]
|
||||
PremiumMusicMetadata,
|
||||
[JsonProperty("radio")]
|
||||
Radio,
|
||||
[JsonProperty("rate-limit-client-token")]
|
||||
RateLimitClientToken,
|
||||
[JsonProperty("scrobbling-service-plex-tv")]
|
||||
ScrobblingServicePlexTv,
|
||||
[JsonProperty("session_bandwidth_restrictions")]
|
||||
SessionBandwidthRestrictions,
|
||||
[JsonProperty("session_kick")]
|
||||
SessionKick,
|
||||
[JsonProperty("shared_server_notification")]
|
||||
SharedServerNotification,
|
||||
[JsonProperty("shared_source_notification")]
|
||||
SharedSourceNotification,
|
||||
[JsonProperty("signin_notification")]
|
||||
SigninNotification,
|
||||
[JsonProperty("signin_with_apple")]
|
||||
SigninWithApple,
|
||||
[JsonProperty("silence-removal")]
|
||||
SilenceRemoval,
|
||||
[JsonProperty("sleep-timer")]
|
||||
SleepTimer,
|
||||
[JsonProperty("spring_serve_ad_provider")]
|
||||
SpringServeAdProvider,
|
||||
[JsonProperty("sync")]
|
||||
Sync,
|
||||
[JsonProperty("sweet-fades")]
|
||||
SweetFades,
|
||||
[JsonProperty("transcoder_cache")]
|
||||
TranscoderCache,
|
||||
[JsonProperty("trailers")]
|
||||
Trailers,
|
||||
[JsonProperty("tuner-sharing")]
|
||||
TunerSharing,
|
||||
[JsonProperty("two-factor-authentication")]
|
||||
@@ -125,14 +189,22 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
Unsupportedtuners,
|
||||
[JsonProperty("upgrade-3ds2")]
|
||||
Upgrade3ds2,
|
||||
[JsonProperty("visualizers")]
|
||||
Visualizers,
|
||||
[JsonProperty("vod-schema")]
|
||||
VodSchema,
|
||||
[JsonProperty("vod_cloudflare")]
|
||||
VodCloudflare,
|
||||
[JsonProperty("volume-leveling")]
|
||||
VolumeLeveling,
|
||||
[JsonProperty("watch-together-invite")]
|
||||
WatchTogetherInvite,
|
||||
[JsonProperty("watchlist-rss")]
|
||||
WatchlistRss,
|
||||
[JsonProperty("web_server_dashboard")]
|
||||
WebServerDashboard,
|
||||
[JsonProperty("webhooks")]
|
||||
Webhooks,
|
||||
}
|
||||
|
||||
public static class GetTokenDetailsFeaturesExtension
|
||||
|
||||
@@ -154,7 +154,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
public bool? MailingListActive { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Your current mailing list status
|
||||
/// Your current mailing list status (active or unsubscribed)
|
||||
/// </summary>
|
||||
[JsonProperty("mailingListStatus")]
|
||||
public MailingListStatus MailingListStatus { get; set; } = default!;
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Your current mailing list status
|
||||
/// Your current mailing list status (active or unsubscribed)
|
||||
/// </summary>
|
||||
public enum MailingListStatus
|
||||
{
|
||||
|
||||
@@ -29,6 +29,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
AdCountdownTimer,
|
||||
[JsonProperty("adaptive_bitrate")]
|
||||
AdaptiveBitrate,
|
||||
[JsonProperty("album-types")]
|
||||
AlbumTypes,
|
||||
[JsonProperty("allow_dvr")]
|
||||
AllowDvr,
|
||||
[JsonProperty("amazon-loop-debug")]
|
||||
AmazonLoopDebug,
|
||||
[JsonProperty("avod-ad-analysis")]
|
||||
@@ -37,10 +41,16 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
AvodNewMedia,
|
||||
[JsonProperty("blacklist_get_signin")]
|
||||
BlacklistGetSignin,
|
||||
[JsonProperty("boost-voices")]
|
||||
BoostVoices,
|
||||
[JsonProperty("camera_upload")]
|
||||
CameraUpload,
|
||||
[JsonProperty("client-radio-stations")]
|
||||
ClientRadioStations,
|
||||
[JsonProperty("cloudflare-turnstile-required")]
|
||||
CloudflareTurnstileRequired,
|
||||
[JsonProperty("cloudsync")]
|
||||
Cloudsync,
|
||||
[JsonProperty("collections")]
|
||||
Collections,
|
||||
[JsonProperty("comments_and_replies_push_notifications")]
|
||||
@@ -49,30 +59,50 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
CommunityAccessPlexTv,
|
||||
[JsonProperty("companions_sonos")]
|
||||
CompanionsSonos,
|
||||
[JsonProperty("content_filter")]
|
||||
ContentFilter,
|
||||
[JsonProperty("custom-home-removal")]
|
||||
CustomHomeRemoval,
|
||||
[JsonProperty("disable_home_user_friendships")]
|
||||
DisableHomeUserFriendships,
|
||||
[JsonProperty("disable_sharing_friendships")]
|
||||
DisableSharingFriendships,
|
||||
[JsonProperty("downloads-gating")]
|
||||
DownloadsGating,
|
||||
[JsonProperty("drm_support")]
|
||||
DrmSupport,
|
||||
[JsonProperty("dvr")]
|
||||
Dvr,
|
||||
[JsonProperty("dvr-block-unsupported-countries")]
|
||||
DvrBlockUnsupportedCountries,
|
||||
[JsonProperty("epg-recent-channels")]
|
||||
EpgRecentChannels,
|
||||
[JsonProperty("exclude restrictions")]
|
||||
ExcludeRestrictions,
|
||||
[JsonProperty("federated-auth")]
|
||||
FederatedAuth,
|
||||
[JsonProperty("friend_request_push_notifications")]
|
||||
FriendRequestPushNotifications,
|
||||
[JsonProperty("grandfather-sync")]
|
||||
GrandfatherSync,
|
||||
[JsonProperty("guided-upgrade")]
|
||||
GuidedUpgrade,
|
||||
[JsonProperty("hardware_transcoding")]
|
||||
HardwareTranscoding,
|
||||
[JsonProperty("home")]
|
||||
Home,
|
||||
[JsonProperty("hwtranscode")]
|
||||
Hwtranscode,
|
||||
[JsonProperty("imagga-v2")]
|
||||
ImaggaV2,
|
||||
[JsonProperty("increase-password-complexity")]
|
||||
IncreasePasswordComplexity,
|
||||
[JsonProperty("ios14-privacy-banner")]
|
||||
Ios14PrivacyBanner,
|
||||
[JsonProperty("iterable-notification-tokens")]
|
||||
IterableNotificationTokens,
|
||||
[JsonProperty("item_clusters")]
|
||||
ItemClusters,
|
||||
[JsonProperty("keep-payment-method")]
|
||||
KeepPaymentMethod,
|
||||
[JsonProperty("kevin-bacon")]
|
||||
@@ -89,34 +119,68 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
LiveTvSupportIncompleteSegments,
|
||||
[JsonProperty("livetv")]
|
||||
Livetv,
|
||||
[JsonProperty("lyrics")]
|
||||
Lyrics,
|
||||
[JsonProperty("metadata_search")]
|
||||
MetadataSearch,
|
||||
[JsonProperty("music-analysis")]
|
||||
MusicAnalysis,
|
||||
[JsonProperty("music_videos")]
|
||||
MusicVideos,
|
||||
[JsonProperty("new_plex_pass_prices")]
|
||||
NewPlexPassPrices,
|
||||
[JsonProperty("news-provider-sunset-modal")]
|
||||
NewsProviderSunsetModal,
|
||||
[JsonProperty("nominatim")]
|
||||
Nominatim,
|
||||
[JsonProperty("pass")]
|
||||
Pass,
|
||||
[JsonProperty("photos-favorites")]
|
||||
PhotosFavorites,
|
||||
[JsonProperty("photos-metadata-edition")]
|
||||
PhotosMetadataEdition,
|
||||
[JsonProperty("photosV6-edit")]
|
||||
PhotosV6Edit,
|
||||
[JsonProperty("photosV6-tv-albums")]
|
||||
PhotosV6TvAlbums,
|
||||
[JsonProperty("pms_health")]
|
||||
PmsHealth,
|
||||
[JsonProperty("premium-dashboard")]
|
||||
PremiumDashboard,
|
||||
[JsonProperty("premium_music_metadata")]
|
||||
PremiumMusicMetadata,
|
||||
[JsonProperty("radio")]
|
||||
Radio,
|
||||
[JsonProperty("rate-limit-client-token")]
|
||||
RateLimitClientToken,
|
||||
[JsonProperty("scrobbling-service-plex-tv")]
|
||||
ScrobblingServicePlexTv,
|
||||
[JsonProperty("session_bandwidth_restrictions")]
|
||||
SessionBandwidthRestrictions,
|
||||
[JsonProperty("session_kick")]
|
||||
SessionKick,
|
||||
[JsonProperty("shared_server_notification")]
|
||||
SharedServerNotification,
|
||||
[JsonProperty("shared_source_notification")]
|
||||
SharedSourceNotification,
|
||||
[JsonProperty("signin_notification")]
|
||||
SigninNotification,
|
||||
[JsonProperty("signin_with_apple")]
|
||||
SigninWithApple,
|
||||
[JsonProperty("silence-removal")]
|
||||
SilenceRemoval,
|
||||
[JsonProperty("sleep-timer")]
|
||||
SleepTimer,
|
||||
[JsonProperty("spring_serve_ad_provider")]
|
||||
SpringServeAdProvider,
|
||||
[JsonProperty("sync")]
|
||||
Sync,
|
||||
[JsonProperty("sweet-fades")]
|
||||
SweetFades,
|
||||
[JsonProperty("transcoder_cache")]
|
||||
TranscoderCache,
|
||||
[JsonProperty("trailers")]
|
||||
Trailers,
|
||||
[JsonProperty("tuner-sharing")]
|
||||
TunerSharing,
|
||||
[JsonProperty("two-factor-authentication")]
|
||||
@@ -125,14 +189,22 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
Unsupportedtuners,
|
||||
[JsonProperty("upgrade-3ds2")]
|
||||
Upgrade3ds2,
|
||||
[JsonProperty("visualizers")]
|
||||
Visualizers,
|
||||
[JsonProperty("vod-schema")]
|
||||
VodSchema,
|
||||
[JsonProperty("vod_cloudflare")]
|
||||
VodCloudflare,
|
||||
[JsonProperty("volume-leveling")]
|
||||
VolumeLeveling,
|
||||
[JsonProperty("watch-together-invite")]
|
||||
WatchTogetherInvite,
|
||||
[JsonProperty("watchlist-rss")]
|
||||
WatchlistRss,
|
||||
[JsonProperty("web_server_dashboard")]
|
||||
WebServerDashboard,
|
||||
[JsonProperty("webhooks")]
|
||||
Webhooks,
|
||||
}
|
||||
|
||||
public static class PostUsersSignInDataAuthenticationFeaturesExtension
|
||||
|
||||
@@ -29,6 +29,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
AdCountdownTimer,
|
||||
[JsonProperty("adaptive_bitrate")]
|
||||
AdaptiveBitrate,
|
||||
[JsonProperty("album-types")]
|
||||
AlbumTypes,
|
||||
[JsonProperty("allow_dvr")]
|
||||
AllowDvr,
|
||||
[JsonProperty("amazon-loop-debug")]
|
||||
AmazonLoopDebug,
|
||||
[JsonProperty("avod-ad-analysis")]
|
||||
@@ -37,10 +41,16 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
AvodNewMedia,
|
||||
[JsonProperty("blacklist_get_signin")]
|
||||
BlacklistGetSignin,
|
||||
[JsonProperty("boost-voices")]
|
||||
BoostVoices,
|
||||
[JsonProperty("camera_upload")]
|
||||
CameraUpload,
|
||||
[JsonProperty("client-radio-stations")]
|
||||
ClientRadioStations,
|
||||
[JsonProperty("cloudflare-turnstile-required")]
|
||||
CloudflareTurnstileRequired,
|
||||
[JsonProperty("cloudsync")]
|
||||
Cloudsync,
|
||||
[JsonProperty("collections")]
|
||||
Collections,
|
||||
[JsonProperty("comments_and_replies_push_notifications")]
|
||||
@@ -49,30 +59,50 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
CommunityAccessPlexTv,
|
||||
[JsonProperty("companions_sonos")]
|
||||
CompanionsSonos,
|
||||
[JsonProperty("content_filter")]
|
||||
ContentFilter,
|
||||
[JsonProperty("custom-home-removal")]
|
||||
CustomHomeRemoval,
|
||||
[JsonProperty("disable_home_user_friendships")]
|
||||
DisableHomeUserFriendships,
|
||||
[JsonProperty("disable_sharing_friendships")]
|
||||
DisableSharingFriendships,
|
||||
[JsonProperty("downloads-gating")]
|
||||
DownloadsGating,
|
||||
[JsonProperty("drm_support")]
|
||||
DrmSupport,
|
||||
[JsonProperty("dvr")]
|
||||
Dvr,
|
||||
[JsonProperty("dvr-block-unsupported-countries")]
|
||||
DvrBlockUnsupportedCountries,
|
||||
[JsonProperty("epg-recent-channels")]
|
||||
EpgRecentChannels,
|
||||
[JsonProperty("exclude restrictions")]
|
||||
ExcludeRestrictions,
|
||||
[JsonProperty("federated-auth")]
|
||||
FederatedAuth,
|
||||
[JsonProperty("friend_request_push_notifications")]
|
||||
FriendRequestPushNotifications,
|
||||
[JsonProperty("grandfather-sync")]
|
||||
GrandfatherSync,
|
||||
[JsonProperty("guided-upgrade")]
|
||||
GuidedUpgrade,
|
||||
[JsonProperty("hardware_transcoding")]
|
||||
HardwareTranscoding,
|
||||
[JsonProperty("home")]
|
||||
Home,
|
||||
[JsonProperty("hwtranscode")]
|
||||
Hwtranscode,
|
||||
[JsonProperty("imagga-v2")]
|
||||
ImaggaV2,
|
||||
[JsonProperty("increase-password-complexity")]
|
||||
IncreasePasswordComplexity,
|
||||
[JsonProperty("ios14-privacy-banner")]
|
||||
Ios14PrivacyBanner,
|
||||
[JsonProperty("iterable-notification-tokens")]
|
||||
IterableNotificationTokens,
|
||||
[JsonProperty("item_clusters")]
|
||||
ItemClusters,
|
||||
[JsonProperty("keep-payment-method")]
|
||||
KeepPaymentMethod,
|
||||
[JsonProperty("kevin-bacon")]
|
||||
@@ -89,34 +119,68 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
LiveTvSupportIncompleteSegments,
|
||||
[JsonProperty("livetv")]
|
||||
Livetv,
|
||||
[JsonProperty("lyrics")]
|
||||
Lyrics,
|
||||
[JsonProperty("metadata_search")]
|
||||
MetadataSearch,
|
||||
[JsonProperty("music-analysis")]
|
||||
MusicAnalysis,
|
||||
[JsonProperty("music_videos")]
|
||||
MusicVideos,
|
||||
[JsonProperty("new_plex_pass_prices")]
|
||||
NewPlexPassPrices,
|
||||
[JsonProperty("news-provider-sunset-modal")]
|
||||
NewsProviderSunsetModal,
|
||||
[JsonProperty("nominatim")]
|
||||
Nominatim,
|
||||
[JsonProperty("pass")]
|
||||
Pass,
|
||||
[JsonProperty("photos-favorites")]
|
||||
PhotosFavorites,
|
||||
[JsonProperty("photos-metadata-edition")]
|
||||
PhotosMetadataEdition,
|
||||
[JsonProperty("photosV6-edit")]
|
||||
PhotosV6Edit,
|
||||
[JsonProperty("photosV6-tv-albums")]
|
||||
PhotosV6TvAlbums,
|
||||
[JsonProperty("pms_health")]
|
||||
PmsHealth,
|
||||
[JsonProperty("premium-dashboard")]
|
||||
PremiumDashboard,
|
||||
[JsonProperty("premium_music_metadata")]
|
||||
PremiumMusicMetadata,
|
||||
[JsonProperty("radio")]
|
||||
Radio,
|
||||
[JsonProperty("rate-limit-client-token")]
|
||||
RateLimitClientToken,
|
||||
[JsonProperty("scrobbling-service-plex-tv")]
|
||||
ScrobblingServicePlexTv,
|
||||
[JsonProperty("session_bandwidth_restrictions")]
|
||||
SessionBandwidthRestrictions,
|
||||
[JsonProperty("session_kick")]
|
||||
SessionKick,
|
||||
[JsonProperty("shared_server_notification")]
|
||||
SharedServerNotification,
|
||||
[JsonProperty("shared_source_notification")]
|
||||
SharedSourceNotification,
|
||||
[JsonProperty("signin_notification")]
|
||||
SigninNotification,
|
||||
[JsonProperty("signin_with_apple")]
|
||||
SigninWithApple,
|
||||
[JsonProperty("silence-removal")]
|
||||
SilenceRemoval,
|
||||
[JsonProperty("sleep-timer")]
|
||||
SleepTimer,
|
||||
[JsonProperty("spring_serve_ad_provider")]
|
||||
SpringServeAdProvider,
|
||||
[JsonProperty("sync")]
|
||||
Sync,
|
||||
[JsonProperty("sweet-fades")]
|
||||
SweetFades,
|
||||
[JsonProperty("transcoder_cache")]
|
||||
TranscoderCache,
|
||||
[JsonProperty("trailers")]
|
||||
Trailers,
|
||||
[JsonProperty("tuner-sharing")]
|
||||
TunerSharing,
|
||||
[JsonProperty("two-factor-authentication")]
|
||||
@@ -125,14 +189,22 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
Unsupportedtuners,
|
||||
[JsonProperty("upgrade-3ds2")]
|
||||
Upgrade3ds2,
|
||||
[JsonProperty("visualizers")]
|
||||
Visualizers,
|
||||
[JsonProperty("vod-schema")]
|
||||
VodSchema,
|
||||
[JsonProperty("vod_cloudflare")]
|
||||
VodCloudflare,
|
||||
[JsonProperty("volume-leveling")]
|
||||
VolumeLeveling,
|
||||
[JsonProperty("watch-together-invite")]
|
||||
WatchTogetherInvite,
|
||||
[JsonProperty("watchlist-rss")]
|
||||
WatchlistRss,
|
||||
[JsonProperty("web_server_dashboard")]
|
||||
WebServerDashboard,
|
||||
[JsonProperty("webhooks")]
|
||||
Webhooks,
|
||||
}
|
||||
|
||||
public static class PostUsersSignInDataFeaturesExtension
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Your current mailing list status
|
||||
/// Your current mailing list status (active or unsubscribed)
|
||||
/// </summary>
|
||||
public enum PostUsersSignInDataMailingListStatus
|
||||
{
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost when
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
{
|
||||
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
using LukeHagar.PlexAPI.SDK.Utils;
|
||||
|
||||
public class PostUsersSignInDataRequest
|
||||
{
|
||||
|
||||
/// <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; }
|
||||
|
||||
/// <summary>
|
||||
/// Login credentials
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("request:mediaType=application/x-www-form-urlencoded")]
|
||||
public PostUsersSignInDataRequestBody? RequestBody { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -154,7 +154,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
||||
public bool? MailingListActive { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Your current mailing list status
|
||||
/// Your current mailing list status (active or unsubscribed)
|
||||
/// </summary>
|
||||
[JsonProperty("mailingListStatus")]
|
||||
public PostUsersSignInDataMailingListStatus MailingListStatus { get; set; } = default!;
|
||||
|
||||
@@ -146,10 +146,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -75,7 +75,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Get Plex server access tokens and server connections
|
||||
/// </remarks>
|
||||
/// </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>
|
||||
/// Get a Pin
|
||||
@@ -93,7 +93,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// Retrieve an Access Token from Plex.tv after the Pin has been authenticated
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetTokenByPinIdResponse> GetTokenByPinIdAsync(long pinID, string? serverUrl = null);
|
||||
Task<GetTokenByPinIdResponse> GetTokenByPinIdAsync(GetTokenByPinIdRequest request, string? serverUrl = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -109,44 +109,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
/// List of server URLs available for the getCompanionsData operation.
|
||||
/// </summary>
|
||||
public static readonly string[] GetCompanionsDataServerList = {
|
||||
"https://plex.tv/api/v2/",
|
||||
"https://plex.tv/api/v2",
|
||||
};
|
||||
/// <summary>
|
||||
/// List of server URLs available for the getUserFriends operation.
|
||||
/// </summary>
|
||||
public static readonly string[] GetUserFriendsServerList = {
|
||||
"https://plex.tv/api/v2/",
|
||||
"https://plex.tv/api/v2",
|
||||
};
|
||||
/// <summary>
|
||||
/// List of server URLs available for the getGeoData operation.
|
||||
/// </summary>
|
||||
public static readonly string[] GetGeoDataServerList = {
|
||||
"https://plex.tv/api/v2/",
|
||||
"https://plex.tv/api/v2",
|
||||
};
|
||||
/// <summary>
|
||||
/// List of server URLs available for the get-server-resources operation.
|
||||
/// </summary>
|
||||
public static readonly string[] GetServerResourcesServerList = {
|
||||
"https://plex.tv/api/v2/",
|
||||
"https://plex.tv/api/v2",
|
||||
};
|
||||
/// <summary>
|
||||
/// List of server URLs available for the getPin operation.
|
||||
/// </summary>
|
||||
public static readonly string[] GetPinServerList = {
|
||||
"https://plex.tv/api/v2/",
|
||||
"https://plex.tv/api/v2",
|
||||
};
|
||||
/// <summary>
|
||||
/// List of server URLs available for the getTokenByPinId operation.
|
||||
/// </summary>
|
||||
public static readonly string[] GetTokenByPinIdServerList = {
|
||||
"https://plex.tv/api/v2/",
|
||||
"https://plex.tv/api/v2",
|
||||
};
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
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);
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
IncludeHttps = includeHttps,
|
||||
IncludeRelay = includeRelay,
|
||||
IncludeIPv6 = includeIPv6,
|
||||
ClientID = clientID,
|
||||
};
|
||||
request.ClientID ??= SDKConfiguration.ClientID;
|
||||
|
||||
string baseUrl = Utilities.TemplateUrl(GetServerResourcesServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
if (serverUrl != null)
|
||||
@@ -666,6 +669,7 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
|
||||
public async Task<GetPinResponse> GetPinAsync(GetPinRequest? request = null, string? serverUrl = null)
|
||||
{
|
||||
request.ClientID ??= SDKConfiguration.ClientID;
|
||||
request.ClientName ??= SDKConfiguration.ClientName;
|
||||
request.ClientVersion ??= SDKConfiguration.ClientVersion;
|
||||
request.ClientPlatform ??= SDKConfiguration.ClientPlatform;
|
||||
@@ -754,12 +758,18 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
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>(){
|
||||
});
|
||||
if (serverUrl != null)
|
||||
|
||||
@@ -67,6 +67,34 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
|
||||
/// <summary>
|
||||
/// 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>
|
||||
public interface IPlexAPI
|
||||
{
|
||||
@@ -269,16 +297,44 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
|
||||
/// <summary>
|
||||
/// 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>
|
||||
public class PlexAPI: IPlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private int _serverIndex = 0;
|
||||
private ISpeakeasyHttpClient _client;
|
||||
|
||||
@@ -87,10 +87,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -126,10 +126,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -80,10 +80,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -71,10 +71,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -62,10 +62,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -59,10 +59,10 @@ namespace LukeHagar.PlexAPI.SDK
|
||||
};
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.8.0";
|
||||
private const string _sdkGenVersion = "2.422.22";
|
||||
private const string _sdkVersion = "0.8.5";
|
||||
private const string _sdkGenVersion = "2.426.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.8.5 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<LukeHagar.PlexAPI.SDK.Models.Components.Security>? _securitySource;
|
||||
|
||||
14
NUGET.md
14
NUGET.md
@@ -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.
|
||||
|
||||
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
|
||||
@@ -59,6 +59,7 @@ using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
clientID: "gcgzw5rz2xovp84b4vha3a40",
|
||||
clientName: "Plex Web",
|
||||
clientVersion: "4.133.0",
|
||||
@@ -66,9 +67,12 @@ var sdk = new PlexAPI(
|
||||
deviceName: "Linux"
|
||||
);
|
||||
|
||||
GetPinRequest req = new GetPinRequest() {};
|
||||
|
||||
var res = await sdk.Plex.GetPinAsync(req);
|
||||
var res = await sdk.Plex.GetServerResourcesAsync(
|
||||
includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.Enable,
|
||||
includeRelay: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeRelay.Enable,
|
||||
includeIPv6: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Enable,
|
||||
clientID: "gcgzw5rz2xovp84b4vha3a40"
|
||||
);
|
||||
|
||||
// handle response
|
||||
```
|
||||
@@ -170,7 +174,7 @@ var sdk = new PlexAPI(
|
||||
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
|
||||
```
|
||||
|
||||
39
README.md
39
README.md
@@ -223,7 +223,7 @@ var sdk = new PlexAPI(
|
||||
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
|
||||
```
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
@@ -294,6 +294,7 @@ using LukeHagar.PlexAPI.SDK.Models.Requests;
|
||||
using LukeHagar.PlexAPI.SDK.Models.Components;
|
||||
|
||||
var sdk = new PlexAPI(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
clientID: "gcgzw5rz2xovp84b4vha3a40",
|
||||
clientName: "Plex Web",
|
||||
clientVersion: "4.133.0",
|
||||
@@ -301,9 +302,12 @@ var sdk = new PlexAPI(
|
||||
deviceName: "Linux"
|
||||
);
|
||||
|
||||
GetPinRequest req = new GetPinRequest() {};
|
||||
|
||||
var res = await sdk.Plex.GetPinAsync(req);
|
||||
var res = await sdk.Plex.GetServerResourcesAsync(
|
||||
includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.Enable,
|
||||
includeRelay: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeRelay.Enable,
|
||||
includeIPv6: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.Enable,
|
||||
clientID: "gcgzw5rz2xovp84b4vha3a40"
|
||||
);
|
||||
|
||||
// handle response
|
||||
```
|
||||
@@ -368,6 +372,31 @@ catch (Exception ex)
|
||||
## Summary
|
||||
|
||||
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] -->
|
||||
|
||||
<!-- Start Table of Contents [toc] -->
|
||||
|
||||
52
RELEASES.md
52
RELEASES.md
@@ -264,4 +264,54 @@ Based on:
|
||||
### Generated
|
||||
- [csharp v0.8.0] .
|
||||
### Releases
|
||||
- [NuGet v0.8.0] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.8.0 - .
|
||||
- [NuGet v0.8.0] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.8.0 - .
|
||||
|
||||
## 2024-09-26 00:20:47
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.402.14 (2.422.22) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [csharp v0.8.1] .
|
||||
### Releases
|
||||
- [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 - .
|
||||
|
||||
## 2024-09-30 08:46:19
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.404.5 (2.426.2) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [csharp v0.8.5] .
|
||||
### Releases
|
||||
- [NuGet v0.8.5] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.8.5 - .
|
||||
@@ -1172,7 +1172,11 @@ actions:
|
||||
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
|
||||
- target: $["paths"]["/playlists"]["get"]
|
||||
@@ -1420,7 +1424,8 @@ actions:
|
||||
var res = await sdk.Plex.GetServerResourcesAsync(
|
||||
includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.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
|
||||
@@ -1778,10 +1783,12 @@ actions:
|
||||
deviceName: "Linux"
|
||||
);
|
||||
|
||||
PostUsersSignInDataRequestBody req = new PostUsersSignInDataRequestBody() {
|
||||
Login = "username@email.com",
|
||||
Password = "password123",
|
||||
VerificationCode = "123456",
|
||||
PostUsersSignInDataRequest req = new PostUsersSignInDataRequest() {
|
||||
RequestBody = new PostUsersSignInDataRequestBody() {
|
||||
Login = "username@email.com",
|
||||
Password = "password123",
|
||||
VerificationCode = "123456",
|
||||
},
|
||||
};
|
||||
|
||||
var res = await sdk.Authentication.PostUsersSignInDataAsync(req);
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
|
||||
| `Protocol` | [Protocol](../../Models/Requests/Protocol.md) | :heavy_check_mark: | The protocol used for the connection (http, https, etc) |
|
||||
| `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 |
|
||||
| `Uri` | *string* | :heavy_check_mark: | The full URI of the connection |
|
||||
| `Local` | *bool* | :heavy_check_mark: | If the connection is local address |
|
||||
| `Relay` | *bool* | :heavy_check_mark: | If the connection is relayed through plex.direct |
|
||||
| `IPv6` | *bool* | :heavy_check_mark: | If the connection is using IPv6 |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
|
||||
| `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 | |
|
||||
| `Port` | *int* | :heavy_check_mark: | The port used for the connection | |
|
||||
| `Uri` | *string* | :heavy_check_mark: | The full URI of the connection | |
|
||||
| `Local` | *bool* | :heavy_check_mark: | If the connection is local address | |
|
||||
| `Relay` | *bool* | :heavy_check_mark: | If the connection is relayed through plex.direct | |
|
||||
| `IPv6` | *bool* | :heavy_check_mark: | If the connection is using IPv6 | |
|
||||
@@ -12,28 +12,43 @@
|
||||
| `TREBLEShowFeatures` | TREBLE-show-features |
|
||||
| `AdCountdownTimer` | ad-countdown-timer |
|
||||
| `AdaptiveBitrate` | adaptive_bitrate |
|
||||
| `AlbumTypes` | album-types |
|
||||
| `AllowDvr` | allow_dvr |
|
||||
| `AmazonLoopDebug` | amazon-loop-debug |
|
||||
| `AvodAdAnalysis` | avod-ad-analysis |
|
||||
| `AvodNewMedia` | avod-new-media |
|
||||
| `BlacklistGetSignin` | blacklist_get_signin |
|
||||
| `BoostVoices` | boost-voices |
|
||||
| `CameraUpload` | camera_upload |
|
||||
| `ClientRadioStations` | client-radio-stations |
|
||||
| `CloudflareTurnstileRequired` | cloudflare-turnstile-required |
|
||||
| `Cloudsync` | cloudsync |
|
||||
| `Collections` | collections |
|
||||
| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications |
|
||||
| `CommunityAccessPlexTv` | community_access_plex_tv |
|
||||
| `CompanionsSonos` | companions_sonos |
|
||||
| `ContentFilter` | content_filter |
|
||||
| `CustomHomeRemoval` | custom-home-removal |
|
||||
| `DisableHomeUserFriendships` | disable_home_user_friendships |
|
||||
| `DisableSharingFriendships` | disable_sharing_friendships |
|
||||
| `DownloadsGating` | downloads-gating |
|
||||
| `DrmSupport` | drm_support |
|
||||
| `Dvr` | dvr |
|
||||
| `DvrBlockUnsupportedCountries` | dvr-block-unsupported-countries |
|
||||
| `EpgRecentChannels` | epg-recent-channels |
|
||||
| `ExcludeRestrictions` | exclude restrictions |
|
||||
| `FederatedAuth` | federated-auth |
|
||||
| `FriendRequestPushNotifications` | friend_request_push_notifications |
|
||||
| `GrandfatherSync` | grandfather-sync |
|
||||
| `GuidedUpgrade` | guided-upgrade |
|
||||
| `HardwareTranscoding` | hardware_transcoding |
|
||||
| `Home` | home |
|
||||
| `Hwtranscode` | hwtranscode |
|
||||
| `ImaggaV2` | imagga-v2 |
|
||||
| `IncreasePasswordComplexity` | increase-password-complexity |
|
||||
| `Ios14PrivacyBanner` | ios14-privacy-banner |
|
||||
| `IterableNotificationTokens` | iterable-notification-tokens |
|
||||
| `ItemClusters` | item_clusters |
|
||||
| `KeepPaymentMethod` | keep-payment-method |
|
||||
| `KevinBacon` | kevin-bacon |
|
||||
| `KoreaConsent` | korea-consent |
|
||||
@@ -42,25 +57,46 @@
|
||||
| `LightningDvrPivot` | lightning-dvr-pivot |
|
||||
| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments |
|
||||
| `Livetv` | livetv |
|
||||
| `Lyrics` | lyrics |
|
||||
| `MetadataSearch` | metadata_search |
|
||||
| `MusicAnalysis` | music-analysis |
|
||||
| `MusicVideos` | music_videos |
|
||||
| `NewPlexPassPrices` | new_plex_pass_prices |
|
||||
| `NewsProviderSunsetModal` | news-provider-sunset-modal |
|
||||
| `Nominatim` | nominatim |
|
||||
| `Pass` | pass |
|
||||
| `PhotosFavorites` | photos-favorites |
|
||||
| `PhotosMetadataEdition` | photos-metadata-edition |
|
||||
| `PhotosV6Edit` | photosV6-edit |
|
||||
| `PhotosV6TvAlbums` | photosV6-tv-albums |
|
||||
| `PmsHealth` | pms_health |
|
||||
| `PremiumDashboard` | premium-dashboard |
|
||||
| `PremiumMusicMetadata` | premium_music_metadata |
|
||||
| `Radio` | radio |
|
||||
| `RateLimitClientToken` | rate-limit-client-token |
|
||||
| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv |
|
||||
| `SessionBandwidthRestrictions` | session_bandwidth_restrictions |
|
||||
| `SessionKick` | session_kick |
|
||||
| `SharedServerNotification` | shared_server_notification |
|
||||
| `SharedSourceNotification` | shared_source_notification |
|
||||
| `SigninNotification` | signin_notification |
|
||||
| `SigninWithApple` | signin_with_apple |
|
||||
| `SilenceRemoval` | silence-removal |
|
||||
| `SleepTimer` | sleep-timer |
|
||||
| `SpringServeAdProvider` | spring_serve_ad_provider |
|
||||
| `Sync` | sync |
|
||||
| `SweetFades` | sweet-fades |
|
||||
| `TranscoderCache` | transcoder_cache |
|
||||
| `Trailers` | trailers |
|
||||
| `TunerSharing` | tuner-sharing |
|
||||
| `TwoFactorAuthentication` | two-factor-authentication |
|
||||
| `Unsupportedtuners` | unsupportedtuners |
|
||||
| `Upgrade3ds2` | upgrade-3ds2 |
|
||||
| `Visualizers` | visualizers |
|
||||
| `VodSchema` | vod-schema |
|
||||
| `VodCloudflare` | vod_cloudflare |
|
||||
| `VolumeLeveling` | volume-leveling |
|
||||
| `WatchTogetherInvite` | watch-together-invite |
|
||||
| `WebServerDashboard` | web_server_dashboard |
|
||||
| `WatchlistRss` | watchlist-rss |
|
||||
| `WebServerDashboard` | web_server_dashboard |
|
||||
| `Webhooks` | webhooks |
|
||||
@@ -3,10 +3,11 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Strong` | *bool* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> | |
|
||||
| `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 |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Strong` | *bool* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> | |
|
||||
| `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 |
|
||||
@@ -3,8 +3,9 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
|
||||
| `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 |
|
||||
| `IncludeIPv6` | [IncludeIPv6](../../Models/Requests/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `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 |
|
||||
| `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 |
|
||||
@@ -3,6 +3,11 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
|
||||
| `PinID` | *long* | :heavy_check_mark: | The PinID to retrieve an access token for |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `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 |
|
||||
@@ -12,28 +12,43 @@
|
||||
| `TREBLEShowFeatures` | TREBLE-show-features |
|
||||
| `AdCountdownTimer` | ad-countdown-timer |
|
||||
| `AdaptiveBitrate` | adaptive_bitrate |
|
||||
| `AlbumTypes` | album-types |
|
||||
| `AllowDvr` | allow_dvr |
|
||||
| `AmazonLoopDebug` | amazon-loop-debug |
|
||||
| `AvodAdAnalysis` | avod-ad-analysis |
|
||||
| `AvodNewMedia` | avod-new-media |
|
||||
| `BlacklistGetSignin` | blacklist_get_signin |
|
||||
| `BoostVoices` | boost-voices |
|
||||
| `CameraUpload` | camera_upload |
|
||||
| `ClientRadioStations` | client-radio-stations |
|
||||
| `CloudflareTurnstileRequired` | cloudflare-turnstile-required |
|
||||
| `Cloudsync` | cloudsync |
|
||||
| `Collections` | collections |
|
||||
| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications |
|
||||
| `CommunityAccessPlexTv` | community_access_plex_tv |
|
||||
| `CompanionsSonos` | companions_sonos |
|
||||
| `ContentFilter` | content_filter |
|
||||
| `CustomHomeRemoval` | custom-home-removal |
|
||||
| `DisableHomeUserFriendships` | disable_home_user_friendships |
|
||||
| `DisableSharingFriendships` | disable_sharing_friendships |
|
||||
| `DownloadsGating` | downloads-gating |
|
||||
| `DrmSupport` | drm_support |
|
||||
| `Dvr` | dvr |
|
||||
| `DvrBlockUnsupportedCountries` | dvr-block-unsupported-countries |
|
||||
| `EpgRecentChannels` | epg-recent-channels |
|
||||
| `ExcludeRestrictions` | exclude restrictions |
|
||||
| `FederatedAuth` | federated-auth |
|
||||
| `FriendRequestPushNotifications` | friend_request_push_notifications |
|
||||
| `GrandfatherSync` | grandfather-sync |
|
||||
| `GuidedUpgrade` | guided-upgrade |
|
||||
| `HardwareTranscoding` | hardware_transcoding |
|
||||
| `Home` | home |
|
||||
| `Hwtranscode` | hwtranscode |
|
||||
| `ImaggaV2` | imagga-v2 |
|
||||
| `IncreasePasswordComplexity` | increase-password-complexity |
|
||||
| `Ios14PrivacyBanner` | ios14-privacy-banner |
|
||||
| `IterableNotificationTokens` | iterable-notification-tokens |
|
||||
| `ItemClusters` | item_clusters |
|
||||
| `KeepPaymentMethod` | keep-payment-method |
|
||||
| `KevinBacon` | kevin-bacon |
|
||||
| `KoreaConsent` | korea-consent |
|
||||
@@ -42,25 +57,46 @@
|
||||
| `LightningDvrPivot` | lightning-dvr-pivot |
|
||||
| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments |
|
||||
| `Livetv` | livetv |
|
||||
| `Lyrics` | lyrics |
|
||||
| `MetadataSearch` | metadata_search |
|
||||
| `MusicAnalysis` | music-analysis |
|
||||
| `MusicVideos` | music_videos |
|
||||
| `NewPlexPassPrices` | new_plex_pass_prices |
|
||||
| `NewsProviderSunsetModal` | news-provider-sunset-modal |
|
||||
| `Nominatim` | nominatim |
|
||||
| `Pass` | pass |
|
||||
| `PhotosFavorites` | photos-favorites |
|
||||
| `PhotosMetadataEdition` | photos-metadata-edition |
|
||||
| `PhotosV6Edit` | photosV6-edit |
|
||||
| `PhotosV6TvAlbums` | photosV6-tv-albums |
|
||||
| `PmsHealth` | pms_health |
|
||||
| `PremiumDashboard` | premium-dashboard |
|
||||
| `PremiumMusicMetadata` | premium_music_metadata |
|
||||
| `Radio` | radio |
|
||||
| `RateLimitClientToken` | rate-limit-client-token |
|
||||
| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv |
|
||||
| `SessionBandwidthRestrictions` | session_bandwidth_restrictions |
|
||||
| `SessionKick` | session_kick |
|
||||
| `SharedServerNotification` | shared_server_notification |
|
||||
| `SharedSourceNotification` | shared_source_notification |
|
||||
| `SigninNotification` | signin_notification |
|
||||
| `SigninWithApple` | signin_with_apple |
|
||||
| `SilenceRemoval` | silence-removal |
|
||||
| `SleepTimer` | sleep-timer |
|
||||
| `SpringServeAdProvider` | spring_serve_ad_provider |
|
||||
| `Sync` | sync |
|
||||
| `SweetFades` | sweet-fades |
|
||||
| `TranscoderCache` | transcoder_cache |
|
||||
| `Trailers` | trailers |
|
||||
| `TunerSharing` | tuner-sharing |
|
||||
| `TwoFactorAuthentication` | two-factor-authentication |
|
||||
| `Unsupportedtuners` | unsupportedtuners |
|
||||
| `Upgrade3ds2` | upgrade-3ds2 |
|
||||
| `Visualizers` | visualizers |
|
||||
| `VodSchema` | vod-schema |
|
||||
| `VodCloudflare` | vod_cloudflare |
|
||||
| `VolumeLeveling` | volume-leveling |
|
||||
| `WatchTogetherInvite` | watch-together-invite |
|
||||
| `WebServerDashboard` | web_server_dashboard |
|
||||
| `WatchlistRss` | watchlist-rss |
|
||||
| `WebServerDashboard` | web_server_dashboard |
|
||||
| `Webhooks` | webhooks |
|
||||
@@ -29,7 +29,7 @@ Logged in user details
|
||||
| `JoinedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
|
||||
| `Locale` | *string* | :heavy_check_mark: | The account locale | |
|
||||
| `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 |
|
||||
| ~~`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 | |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# MailingListStatus
|
||||
|
||||
Your current mailing list status
|
||||
Your current mailing list status (active or unsubscribed)
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
@@ -12,28 +12,43 @@
|
||||
| `TREBLEShowFeatures` | TREBLE-show-features |
|
||||
| `AdCountdownTimer` | ad-countdown-timer |
|
||||
| `AdaptiveBitrate` | adaptive_bitrate |
|
||||
| `AlbumTypes` | album-types |
|
||||
| `AllowDvr` | allow_dvr |
|
||||
| `AmazonLoopDebug` | amazon-loop-debug |
|
||||
| `AvodAdAnalysis` | avod-ad-analysis |
|
||||
| `AvodNewMedia` | avod-new-media |
|
||||
| `BlacklistGetSignin` | blacklist_get_signin |
|
||||
| `BoostVoices` | boost-voices |
|
||||
| `CameraUpload` | camera_upload |
|
||||
| `ClientRadioStations` | client-radio-stations |
|
||||
| `CloudflareTurnstileRequired` | cloudflare-turnstile-required |
|
||||
| `Cloudsync` | cloudsync |
|
||||
| `Collections` | collections |
|
||||
| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications |
|
||||
| `CommunityAccessPlexTv` | community_access_plex_tv |
|
||||
| `CompanionsSonos` | companions_sonos |
|
||||
| `ContentFilter` | content_filter |
|
||||
| `CustomHomeRemoval` | custom-home-removal |
|
||||
| `DisableHomeUserFriendships` | disable_home_user_friendships |
|
||||
| `DisableSharingFriendships` | disable_sharing_friendships |
|
||||
| `DownloadsGating` | downloads-gating |
|
||||
| `DrmSupport` | drm_support |
|
||||
| `Dvr` | dvr |
|
||||
| `DvrBlockUnsupportedCountries` | dvr-block-unsupported-countries |
|
||||
| `EpgRecentChannels` | epg-recent-channels |
|
||||
| `ExcludeRestrictions` | exclude restrictions |
|
||||
| `FederatedAuth` | federated-auth |
|
||||
| `FriendRequestPushNotifications` | friend_request_push_notifications |
|
||||
| `GrandfatherSync` | grandfather-sync |
|
||||
| `GuidedUpgrade` | guided-upgrade |
|
||||
| `HardwareTranscoding` | hardware_transcoding |
|
||||
| `Home` | home |
|
||||
| `Hwtranscode` | hwtranscode |
|
||||
| `ImaggaV2` | imagga-v2 |
|
||||
| `IncreasePasswordComplexity` | increase-password-complexity |
|
||||
| `Ios14PrivacyBanner` | ios14-privacy-banner |
|
||||
| `IterableNotificationTokens` | iterable-notification-tokens |
|
||||
| `ItemClusters` | item_clusters |
|
||||
| `KeepPaymentMethod` | keep-payment-method |
|
||||
| `KevinBacon` | kevin-bacon |
|
||||
| `KoreaConsent` | korea-consent |
|
||||
@@ -42,25 +57,46 @@
|
||||
| `LightningDvrPivot` | lightning-dvr-pivot |
|
||||
| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments |
|
||||
| `Livetv` | livetv |
|
||||
| `Lyrics` | lyrics |
|
||||
| `MetadataSearch` | metadata_search |
|
||||
| `MusicAnalysis` | music-analysis |
|
||||
| `MusicVideos` | music_videos |
|
||||
| `NewPlexPassPrices` | new_plex_pass_prices |
|
||||
| `NewsProviderSunsetModal` | news-provider-sunset-modal |
|
||||
| `Nominatim` | nominatim |
|
||||
| `Pass` | pass |
|
||||
| `PhotosFavorites` | photos-favorites |
|
||||
| `PhotosMetadataEdition` | photos-metadata-edition |
|
||||
| `PhotosV6Edit` | photosV6-edit |
|
||||
| `PhotosV6TvAlbums` | photosV6-tv-albums |
|
||||
| `PmsHealth` | pms_health |
|
||||
| `PremiumDashboard` | premium-dashboard |
|
||||
| `PremiumMusicMetadata` | premium_music_metadata |
|
||||
| `Radio` | radio |
|
||||
| `RateLimitClientToken` | rate-limit-client-token |
|
||||
| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv |
|
||||
| `SessionBandwidthRestrictions` | session_bandwidth_restrictions |
|
||||
| `SessionKick` | session_kick |
|
||||
| `SharedServerNotification` | shared_server_notification |
|
||||
| `SharedSourceNotification` | shared_source_notification |
|
||||
| `SigninNotification` | signin_notification |
|
||||
| `SigninWithApple` | signin_with_apple |
|
||||
| `SilenceRemoval` | silence-removal |
|
||||
| `SleepTimer` | sleep-timer |
|
||||
| `SpringServeAdProvider` | spring_serve_ad_provider |
|
||||
| `Sync` | sync |
|
||||
| `SweetFades` | sweet-fades |
|
||||
| `TranscoderCache` | transcoder_cache |
|
||||
| `Trailers` | trailers |
|
||||
| `TunerSharing` | tuner-sharing |
|
||||
| `TwoFactorAuthentication` | two-factor-authentication |
|
||||
| `Unsupportedtuners` | unsupportedtuners |
|
||||
| `Upgrade3ds2` | upgrade-3ds2 |
|
||||
| `Visualizers` | visualizers |
|
||||
| `VodSchema` | vod-schema |
|
||||
| `VodCloudflare` | vod_cloudflare |
|
||||
| `VolumeLeveling` | volume-leveling |
|
||||
| `WatchTogetherInvite` | watch-together-invite |
|
||||
| `WebServerDashboard` | web_server_dashboard |
|
||||
| `WatchlistRss` | watchlist-rss |
|
||||
| `WebServerDashboard` | web_server_dashboard |
|
||||
| `Webhooks` | webhooks |
|
||||
@@ -12,28 +12,43 @@
|
||||
| `TREBLEShowFeatures` | TREBLE-show-features |
|
||||
| `AdCountdownTimer` | ad-countdown-timer |
|
||||
| `AdaptiveBitrate` | adaptive_bitrate |
|
||||
| `AlbumTypes` | album-types |
|
||||
| `AllowDvr` | allow_dvr |
|
||||
| `AmazonLoopDebug` | amazon-loop-debug |
|
||||
| `AvodAdAnalysis` | avod-ad-analysis |
|
||||
| `AvodNewMedia` | avod-new-media |
|
||||
| `BlacklistGetSignin` | blacklist_get_signin |
|
||||
| `BoostVoices` | boost-voices |
|
||||
| `CameraUpload` | camera_upload |
|
||||
| `ClientRadioStations` | client-radio-stations |
|
||||
| `CloudflareTurnstileRequired` | cloudflare-turnstile-required |
|
||||
| `Cloudsync` | cloudsync |
|
||||
| `Collections` | collections |
|
||||
| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications |
|
||||
| `CommunityAccessPlexTv` | community_access_plex_tv |
|
||||
| `CompanionsSonos` | companions_sonos |
|
||||
| `ContentFilter` | content_filter |
|
||||
| `CustomHomeRemoval` | custom-home-removal |
|
||||
| `DisableHomeUserFriendships` | disable_home_user_friendships |
|
||||
| `DisableSharingFriendships` | disable_sharing_friendships |
|
||||
| `DownloadsGating` | downloads-gating |
|
||||
| `DrmSupport` | drm_support |
|
||||
| `Dvr` | dvr |
|
||||
| `DvrBlockUnsupportedCountries` | dvr-block-unsupported-countries |
|
||||
| `EpgRecentChannels` | epg-recent-channels |
|
||||
| `ExcludeRestrictions` | exclude restrictions |
|
||||
| `FederatedAuth` | federated-auth |
|
||||
| `FriendRequestPushNotifications` | friend_request_push_notifications |
|
||||
| `GrandfatherSync` | grandfather-sync |
|
||||
| `GuidedUpgrade` | guided-upgrade |
|
||||
| `HardwareTranscoding` | hardware_transcoding |
|
||||
| `Home` | home |
|
||||
| `Hwtranscode` | hwtranscode |
|
||||
| `ImaggaV2` | imagga-v2 |
|
||||
| `IncreasePasswordComplexity` | increase-password-complexity |
|
||||
| `Ios14PrivacyBanner` | ios14-privacy-banner |
|
||||
| `IterableNotificationTokens` | iterable-notification-tokens |
|
||||
| `ItemClusters` | item_clusters |
|
||||
| `KeepPaymentMethod` | keep-payment-method |
|
||||
| `KevinBacon` | kevin-bacon |
|
||||
| `KoreaConsent` | korea-consent |
|
||||
@@ -42,25 +57,46 @@
|
||||
| `LightningDvrPivot` | lightning-dvr-pivot |
|
||||
| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments |
|
||||
| `Livetv` | livetv |
|
||||
| `Lyrics` | lyrics |
|
||||
| `MetadataSearch` | metadata_search |
|
||||
| `MusicAnalysis` | music-analysis |
|
||||
| `MusicVideos` | music_videos |
|
||||
| `NewPlexPassPrices` | new_plex_pass_prices |
|
||||
| `NewsProviderSunsetModal` | news-provider-sunset-modal |
|
||||
| `Nominatim` | nominatim |
|
||||
| `Pass` | pass |
|
||||
| `PhotosFavorites` | photos-favorites |
|
||||
| `PhotosMetadataEdition` | photos-metadata-edition |
|
||||
| `PhotosV6Edit` | photosV6-edit |
|
||||
| `PhotosV6TvAlbums` | photosV6-tv-albums |
|
||||
| `PmsHealth` | pms_health |
|
||||
| `PremiumDashboard` | premium-dashboard |
|
||||
| `PremiumMusicMetadata` | premium_music_metadata |
|
||||
| `Radio` | radio |
|
||||
| `RateLimitClientToken` | rate-limit-client-token |
|
||||
| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv |
|
||||
| `SessionBandwidthRestrictions` | session_bandwidth_restrictions |
|
||||
| `SessionKick` | session_kick |
|
||||
| `SharedServerNotification` | shared_server_notification |
|
||||
| `SharedSourceNotification` | shared_source_notification |
|
||||
| `SigninNotification` | signin_notification |
|
||||
| `SigninWithApple` | signin_with_apple |
|
||||
| `SilenceRemoval` | silence-removal |
|
||||
| `SleepTimer` | sleep-timer |
|
||||
| `SpringServeAdProvider` | spring_serve_ad_provider |
|
||||
| `Sync` | sync |
|
||||
| `SweetFades` | sweet-fades |
|
||||
| `TranscoderCache` | transcoder_cache |
|
||||
| `Trailers` | trailers |
|
||||
| `TunerSharing` | tuner-sharing |
|
||||
| `TwoFactorAuthentication` | two-factor-authentication |
|
||||
| `Unsupportedtuners` | unsupportedtuners |
|
||||
| `Upgrade3ds2` | upgrade-3ds2 |
|
||||
| `Visualizers` | visualizers |
|
||||
| `VodSchema` | vod-schema |
|
||||
| `VodCloudflare` | vod_cloudflare |
|
||||
| `VolumeLeveling` | volume-leveling |
|
||||
| `WatchTogetherInvite` | watch-together-invite |
|
||||
| `WebServerDashboard` | web_server_dashboard |
|
||||
| `WatchlistRss` | watchlist-rss |
|
||||
| `WebServerDashboard` | web_server_dashboard |
|
||||
| `Webhooks` | webhooks |
|
||||
@@ -1,6 +1,6 @@
|
||||
# PostUsersSignInDataMailingListStatus
|
||||
|
||||
Your current mailing list status
|
||||
Your current mailing list status (active or unsubscribed)
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
13
docs/Models/Requests/PostUsersSignInDataRequest.md
Normal file
13
docs/Models/Requests/PostUsersSignInDataRequest.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# PostUsersSignInDataRequest
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `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 |
|
||||
| `RequestBody` | [PostUsersSignInDataRequestBody](../../Models/Requests/PostUsersSignInDataRequestBody.md) | :heavy_minus_sign: | Login credentials | |
|
||||
@@ -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 |
|
||||
| `Locale` | *string* | :heavy_check_mark: | The account locale | |
|
||||
| `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 |
|
||||
| ~~`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 | |
|
||||
|
||||
@@ -170,10 +170,12 @@ var sdk = new PlexAPI(
|
||||
deviceName: "Linux"
|
||||
);
|
||||
|
||||
PostUsersSignInDataRequestBody req = new PostUsersSignInDataRequestBody() {
|
||||
Login = "username@email.com",
|
||||
Password = "password123",
|
||||
VerificationCode = "123456",
|
||||
PostUsersSignInDataRequest req = new PostUsersSignInDataRequest() {
|
||||
RequestBody = new PostUsersSignInDataRequestBody() {
|
||||
Login = "username@email.com",
|
||||
Password = "password123",
|
||||
VerificationCode = "123456",
|
||||
},
|
||||
};
|
||||
|
||||
var res = await sdk.Authentication.PostUsersSignInDataAsync(req);
|
||||
@@ -183,10 +185,10 @@ var res = await sdk.Authentication.PostUsersSignInDataAsync(req);
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| `request` | [PostUsersSignInDataRequestBody](../../Models/Requests/PostUsersSignInDataRequestBody.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
|
||||
| `request` | [PostUsersSignInDataRequest](../../Models/Requests/PostUsersSignInDataRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
||||
| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. |
|
||||
|
||||
### Response
|
||||
|
||||
|
||||
@@ -204,7 +204,8 @@ var sdk = new PlexAPI(
|
||||
var res = await sdk.Plex.GetServerResourcesAsync(
|
||||
includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.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
|
||||
@@ -212,12 +213,13 @@ var res = await sdk.Plex.GetServerResourcesAsync(
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
|
||||
| `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 |
|
||||
| `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 |
|
||||
| Parameter | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `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 |
|
||||
| `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 |
|
||||
| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 |
|
||||
|
||||
### Response
|
||||
|
||||
@@ -296,17 +298,21 @@ var sdk = new PlexAPI(
|
||||
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
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
|
||||
| `PinID` | *long* | :heavy_check_mark: | The PinID to retrieve an access token for |
|
||||
| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. |
|
||||
| Parameter | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
|
||||
| `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. |
|
||||
|
||||
### Response
|
||||
|
||||
|
||||
@@ -2,4 +2,27 @@
|
||||
|
||||
## 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) | -
|
||||
|
||||
Reference in New Issue
Block a user