diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 6bf4b87..0a21ef0 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 5a8dbcbc-e0ee-41f0-9d84-b8b50567d1e9 management: - docChecksum: a6fee1797b2da7ccbaf7743772a40b56 + docChecksum: 5bf578a672589649d8ed83c3927c50a6 docVersion: 0.0.3 - speakeasyVersion: 1.398.0 - generationVersion: 2.415.8 - releaseVersion: 0.6.10 - configChecksum: 0cd7bd4da32ca525278c457b8f86ee36 + speakeasyVersion: 1.399.2 + generationVersion: 2.416.6 + releaseVersion: 0.6.11 + configChecksum: 8310a6a4fe6e2e061b86f130456df5af repoURL: https://github.com/LukeHagar/plexcsharp.git repoSubDirectory: . published: true @@ -1749,7 +1749,7 @@ examples: speakeasy-default-get-geo-data: responses: "200": - application/json: {"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"} + application/json: {"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"} "401": application/json: {"errors": []} "400": @@ -1782,12 +1782,17 @@ examples: "": parameters: query: - X-Plex-Product: "Plex Web" + 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} "400": application/json: {"errors": []} + "201": + 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} getTokenByPinId: "": parameters: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index f90080e..9b79f0b 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: true csharp: - version: 0.6.10 + version: 0.6.11 additionalDependencies: [] author: LukeHagar clientServerStatusCodesAsErrors: true diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index cceaf40..d616abe 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.398.0 +speakeasyVersion: 1.399.2 sources: my-source: sourceNamespace: my-source @@ -16,8 +16,8 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:533fe97486e3fe2d84e890b7bbcdba4543d415e45181386154e011861f6da36f - sourceBlobDigest: sha256:f7e2709f52370dff16c1851a7a4e44a89f2e978e9cae335bffc10625950b3bd9 + sourceRevisionDigest: sha256:327e4a83099f910e042784ecc571fcbc4c9a6d8ba169b4ba181afb890a9936cc + sourceBlobDigest: sha256:a652fa39754f0c22a1454f628fe84983b34662ee8a153a3461d50b833f8bc5c2 tags: - latest - main @@ -25,10 +25,10 @@ targets: plexcsharp: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:533fe97486e3fe2d84e890b7bbcdba4543d415e45181386154e011861f6da36f - sourceBlobDigest: sha256:f7e2709f52370dff16c1851a7a4e44a89f2e978e9cae335bffc10625950b3bd9 + sourceRevisionDigest: sha256:327e4a83099f910e042784ecc571fcbc4c9a6d8ba169b4ba181afb890a9936cc + sourceBlobDigest: sha256:a652fa39754f0c22a1454f628fe84983b34662ee8a153a3461d50b833f8bc5c2 codeSamplesNamespace: code-samples-csharp-plexcsharp - codeSamplesRevisionDigest: sha256:af59392edb38e357e18bfaf554d4ed68f60f7c4f7b8024f5b5993115be763448 + codeSamplesRevisionDigest: sha256:38727400da12a8aad5060ffb4f689fd6953c723a61591af0436d5f6a782796b1 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/LukeHagar/PlexAPI/SDK/Activities.cs b/LukeHagar/PlexAPI/SDK/Activities.cs index 7cdb21f..d8b8636 100644 --- a/LukeHagar/PlexAPI/SDK/Activities.cs +++ b/LukeHagar/PlexAPI/SDK/Activities.cs @@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Authentication.cs b/LukeHagar/PlexAPI/SDK/Authentication.cs index 5eed005..80a7b46 100644 --- a/LukeHagar/PlexAPI/SDK/Authentication.cs +++ b/LukeHagar/PlexAPI/SDK/Authentication.cs @@ -69,7 +69,7 @@ namespace LukeHagar.PlexAPI.SDK /// Sign in user with username and password and return user data with Plex authentication token /// /// - Task PostUsersSignInDataAsync(string? xPlexClientIdentifier = null, PostUsersSignInDataRequestBody? requestBody = null, string? serverUrl = null); + Task PostUsersSignInDataAsync(string? clientID = null, PostUsersSignInDataRequestBody? requestBody = null, string? serverUrl = null); } /// @@ -95,10 +95,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -418,14 +418,14 @@ namespace LukeHagar.PlexAPI.SDK } } - public async Task PostUsersSignInDataAsync(string? xPlexClientIdentifier = null, PostUsersSignInDataRequestBody? requestBody = null, string? serverUrl = null) + public async Task PostUsersSignInDataAsync(string? clientID = null, PostUsersSignInDataRequestBody? requestBody = null, string? serverUrl = null) { var request = new PostUsersSignInDataRequest() { - XPlexClientIdentifier = xPlexClientIdentifier, + ClientID = clientID, RequestBody = requestBody, }; - request.XPlexClientIdentifier ??= SDKConfiguration.XPlexClientIdentifier; + request.ClientID ??= SDKConfiguration.ClientID; string baseUrl = Utilities.TemplateUrl(PostUsersSignInDataServerList[0], new Dictionary(){ }); @@ -484,7 +484,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); var response = new PostUsersSignInDataResponse() { StatusCode = responseStatusCode, @@ -503,7 +503,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -516,7 +516,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } diff --git a/LukeHagar/PlexAPI/SDK/Butler.cs b/LukeHagar/PlexAPI/SDK/Butler.cs index e03aacc..0b01f48 100644 --- a/LukeHagar/PlexAPI/SDK/Butler.cs +++ b/LukeHagar/PlexAPI/SDK/Butler.cs @@ -101,10 +101,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Hubs.cs b/LukeHagar/PlexAPI/SDK/Hubs.cs index 3c98995..5d169b9 100644 --- a/LukeHagar/PlexAPI/SDK/Hubs.cs +++ b/LukeHagar/PlexAPI/SDK/Hubs.cs @@ -63,10 +63,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -137,7 +137,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); var response = new GetGlobalHubsResponse() { StatusCode = responseStatusCode, @@ -156,7 +156,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -169,7 +169,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } diff --git a/LukeHagar/PlexAPI/SDK/Library.cs b/LukeHagar/PlexAPI/SDK/Library.cs index 09057e3..5d246a8 100644 --- a/LukeHagar/PlexAPI/SDK/Library.cs +++ b/LukeHagar/PlexAPI/SDK/Library.cs @@ -241,10 +241,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -414,7 +414,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); var response = new GetRecentlyAddedResponse() { StatusCode = responseStatusCode, @@ -433,7 +433,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -446,7 +446,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } diff --git a/LukeHagar/PlexAPI/SDK/Log.cs b/LukeHagar/PlexAPI/SDK/Log.cs index d502d8c..fa1d370 100644 --- a/LukeHagar/PlexAPI/SDK/Log.cs +++ b/LukeHagar/PlexAPI/SDK/Log.cs @@ -94,10 +94,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj b/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj index 064d80a..c8ae8d1 100644 --- a/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj +++ b/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj @@ -3,7 +3,7 @@ true LukeHagar.PlexAPI.SDK - 0.6.10 + 0.6.11 net8.0 LukeHagar Copyright (c) LukeHagar 2024 diff --git a/LukeHagar/PlexAPI/SDK/Media.cs b/LukeHagar/PlexAPI/SDK/Media.cs index 1b34ce5..870e571 100644 --- a/LukeHagar/PlexAPI/SDK/Media.cs +++ b/LukeHagar/PlexAPI/SDK/Media.cs @@ -90,10 +90,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GeoData.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GeoData.cs index cbf25cd..a99c475 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GeoData.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GeoData.cs @@ -58,7 +58,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// The postal code of the location. /// [JsonProperty("postal_code")] - public long PostalCode { get; set; } = default!; + public string PostalCode { get; set; } = default!; /// /// Indicates if the country has privacy restrictions. diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetGeoDataGeoData.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGeoDataGeoData.cs index 47fb70d..97db87c 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetGeoDataGeoData.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGeoDataGeoData.cs @@ -58,7 +58,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// The postal code of the location. /// [JsonProperty("postal_code")] - public long PostalCode { get; set; } = default!; + public string PostalCode { get; set; } = default!; /// /// Indicates if the country has privacy restrictions. diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetPinAuthPinContainer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetPinAuthPinContainer.cs index f3d7158..0eb34ad 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetPinAuthPinContainer.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetPinAuthPinContainer.cs @@ -60,7 +60,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public DateTime ExpiresAt { get; set; } = default!; [JsonProperty("authToken")] - public object? AuthToken { get; set; } = null; + public string? AuthToken { get; set; } = null; [JsonProperty("newRegistration")] public object? NewRegistration { get; set; } = null; diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetPinRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetPinRequest.cs index 3de1d25..ce4cf6c 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetPinRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetPinRequest.cs @@ -36,9 +36,18 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier")] - public string? XPlexClientIdentifier { get; set; } + public string? ClientID { get; set; } [SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Product")] - public string? XPlexProduct { get; set; } + 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; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetServerResourcesRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetServerResourcesRequest.cs index b6c2395..75a9946 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetServerResourcesRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetServerResourcesRequest.cs @@ -25,7 +25,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier")] - public string? XPlexClientIdentifier { get; set; } + public string? ClientID { get; set; } /// /// Include Https entries in the results diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdAuthPinContainer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdAuthPinContainer.cs index 5820257..d1c4cb8 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdAuthPinContainer.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdAuthPinContainer.cs @@ -60,7 +60,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public DateTime ExpiresAt { get; set; } = default!; [JsonProperty("authToken")] - public object? AuthToken { get; set; } = null; + public string? AuthToken { get; set; } = null; [JsonProperty("newRegistration")] public object? NewRegistration { get; set; } = null; diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdGeoData.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdGeoData.cs index 1bb5e2f..5e06578 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdGeoData.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdGeoData.cs @@ -58,7 +58,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// The postal code of the location. /// [JsonProperty("postal_code")] - public long PostalCode { get; set; } = default!; + public string PostalCode { get; set; } = default!; /// /// Indicates if the country has privacy restrictions. diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdRequest.cs index 3413e8d..2f65f31 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdRequest.cs @@ -30,6 +30,6 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier")] - public string? XPlexClientIdentifier { get; set; } + public string? ClientID { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataRequest.cs index be65095..4436f8c 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataRequest.cs @@ -25,7 +25,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier")] - public string? XPlexClientIdentifier { get; set; } + public string? ClientID { get; set; } /// /// Login credentials diff --git a/LukeHagar/PlexAPI/SDK/Playlists.cs b/LukeHagar/PlexAPI/SDK/Playlists.cs index 49da694..2fe25ba 100644 --- a/LukeHagar/PlexAPI/SDK/Playlists.cs +++ b/LukeHagar/PlexAPI/SDK/Playlists.cs @@ -146,10 +146,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -324,7 +324,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); var response = new GetPlaylistsResponse() { StatusCode = responseStatusCode, @@ -343,7 +343,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -356,7 +356,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } diff --git a/LukeHagar/PlexAPI/SDK/Plex.cs b/LukeHagar/PlexAPI/SDK/Plex.cs index a4a6a16..909809f 100644 --- a/LukeHagar/PlexAPI/SDK/Plex.cs +++ b/LukeHagar/PlexAPI/SDK/Plex.cs @@ -75,16 +75,16 @@ namespace LukeHagar.PlexAPI.SDK /// Get Plex server access tokens and server connections /// /// - Task GetServerResourcesAsync(string? xPlexClientIdentifier = null, IncludeHttps? includeHttps = null, IncludeRelay? includeRelay = null, IncludeIPv6? includeIPv6 = null, string? serverUrl = null); + Task GetServerResourcesAsync(string? clientID = null, IncludeHttps? includeHttps = null, IncludeRelay? includeRelay = null, IncludeIPv6? includeIPv6 = null, string? serverUrl = null); /// /// Get a Pin /// /// - /// Retrieve a Pin from Plex.tv for authentication flows + /// Retrieve a Pin ID from Plex.tv to use for authentication flows /// /// - Task GetPinAsync(bool? strong = null, string? xPlexClientIdentifier = null, string? xPlexProduct = null, string? serverUrl = null); + Task GetPinAsync(GetPinRequest? request = null, string? serverUrl = null); /// /// Get Access Token by PinId @@ -93,7 +93,7 @@ namespace LukeHagar.PlexAPI.SDK /// Retrieve an Access Token from Plex.tv after the Pin has been authenticated /// /// - Task GetTokenByPinIdAsync(long pinID, string? xPlexClientIdentifier = null, string? serverUrl = null); + Task GetTokenByPinIdAsync(long pinID, string? clientID = null, string? serverUrl = null); } /// @@ -143,10 +143,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -589,16 +589,16 @@ namespace LukeHagar.PlexAPI.SDK } } - public async Task GetServerResourcesAsync(string? xPlexClientIdentifier = null, IncludeHttps? includeHttps = null, IncludeRelay? includeRelay = null, IncludeIPv6? includeIPv6 = null, string? serverUrl = null) + public async Task GetServerResourcesAsync(string? clientID = null, IncludeHttps? includeHttps = null, IncludeRelay? includeRelay = null, IncludeIPv6? includeIPv6 = null, string? serverUrl = null) { var request = new GetServerResourcesRequest() { - XPlexClientIdentifier = xPlexClientIdentifier, + ClientID = clientID, IncludeHttps = includeHttps, IncludeRelay = includeRelay, IncludeIPv6 = includeIPv6, }; - request.XPlexClientIdentifier ??= SDKConfiguration.XPlexClientIdentifier; + request.ClientID ??= SDKConfiguration.ClientID; string baseUrl = Utilities.TemplateUrl(GetServerResourcesServerList[0], new Dictionary(){ }); @@ -656,7 +656,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); var response = new GetServerResourcesResponse() { StatusCode = responseStatusCode, @@ -675,7 +675,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -688,7 +688,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -707,15 +707,13 @@ namespace LukeHagar.PlexAPI.SDK } } - public async Task GetPinAsync(bool? strong = null, string? xPlexClientIdentifier = null, string? xPlexProduct = null, string? serverUrl = null) + public async Task GetPinAsync(GetPinRequest? request = null, string? serverUrl = null) { - var request = new GetPinRequest() - { - Strong = strong, - XPlexClientIdentifier = xPlexClientIdentifier, - XPlexProduct = xPlexProduct, - }; - request.XPlexClientIdentifier ??= SDKConfiguration.XPlexClientIdentifier; + request.ClientID ??= SDKConfiguration.ClientID; + request.ClientName ??= SDKConfiguration.ClientName; + request.ClientVersion ??= SDKConfiguration.ClientVersion; + request.ClientPlatform ??= SDKConfiguration.ClientPlatform; + request.DeviceName ??= SDKConfiguration.DeviceName; string baseUrl = Utilities.TemplateUrl(GetPinServerList[0], new Dictionary(){ }); @@ -764,11 +762,11 @@ namespace LukeHagar.PlexAPI.SDK var contentType = httpResponse.Content.Headers.ContentType?.MediaType; int responseStatusCode = (int)httpResponse.StatusCode; - if(responseStatusCode == 200) + if(responseStatusCode == 201) { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); var response = new GetPinResponse() { StatusCode = responseStatusCode, @@ -787,7 +785,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -806,14 +804,14 @@ namespace LukeHagar.PlexAPI.SDK } } - public async Task GetTokenByPinIdAsync(long pinID, string? xPlexClientIdentifier = null, string? serverUrl = null) + public async Task GetTokenByPinIdAsync(long pinID, string? clientID = null, string? serverUrl = null) { var request = new GetTokenByPinIdRequest() { PinID = pinID, - XPlexClientIdentifier = xPlexClientIdentifier, + ClientID = clientID, }; - request.XPlexClientIdentifier ??= SDKConfiguration.XPlexClientIdentifier; + request.ClientID ??= SDKConfiguration.ClientID; string baseUrl = Utilities.TemplateUrl(GetTokenByPinIdServerList[0], new Dictionary(){ }); diff --git a/LukeHagar/PlexAPI/SDK/PlexAPI.cs b/LukeHagar/PlexAPI/SDK/PlexAPI.cs index 1a42f18..e1eed47 100644 --- a/LukeHagar/PlexAPI/SDK/PlexAPI.cs +++ b/LukeHagar/PlexAPI/SDK/PlexAPI.cs @@ -238,7 +238,11 @@ namespace LukeHagar.PlexAPI.SDK public string ServerUrl = ""; public int ServerIndex = 0; public List> ServerDefaults = new List>(); - public string? XPlexClientIdentifier; + public string? ClientID; + public string? ClientName; + public string? ClientVersion; + public string? ClientPlatform; + public string? DeviceName; public SDKHooks Hooks = new SDKHooks(); public RetryConfig? RetryConfig = null; @@ -271,10 +275,10 @@ namespace LukeHagar.PlexAPI.SDK public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private int _serverIndex = 0; private ISpeakeasyHttpClient _client; @@ -296,7 +300,7 @@ namespace LukeHagar.PlexAPI.SDK public ISessions Sessions { get; private set; } public IUpdater Updater { get; private set; } - public PlexAPI(string? accessToken = null, Func? accessTokenSource = null, string? xPlexClientIdentifier = null, int? serverIndex = null, ServerProtocol? protocol = null, string? ip = null, string? port = null, string? serverUrl = null, Dictionary? urlParams = null, ISpeakeasyHttpClient? client = null, RetryConfig? retryConfig = null) + public PlexAPI(string? accessToken = null, Func? accessTokenSource = null, string? clientID = null, string? clientName = null, string? clientVersion = null, string? clientPlatform = null, string? deviceName = null, int? serverIndex = null, ServerProtocol? protocol = null, string? ip = null, string? port = null, string? serverUrl = null, Dictionary? urlParams = null, ISpeakeasyHttpClient? client = null, RetryConfig? retryConfig = null) { if (serverIndex != null) { @@ -338,7 +342,11 @@ namespace LukeHagar.PlexAPI.SDK SDKConfiguration = new SDKConfig() { - XPlexClientIdentifier = xPlexClientIdentifier, + ClientID = clientID, + ClientName = clientName, + ClientVersion = clientVersion, + ClientPlatform = clientPlatform, + DeviceName = deviceName, ServerDefaults = serverDefaults, ServerIndex = _serverIndex, ServerUrl = _serverUrl, diff --git a/LukeHagar/PlexAPI/SDK/Search.cs b/LukeHagar/PlexAPI/SDK/Search.cs index 6f72f8c..b4cd3a5 100644 --- a/LukeHagar/PlexAPI/SDK/Search.cs +++ b/LukeHagar/PlexAPI/SDK/Search.cs @@ -87,10 +87,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Server.cs b/LukeHagar/PlexAPI/SDK/Server.cs index 02d4cb2..b906a84 100644 --- a/LukeHagar/PlexAPI/SDK/Server.cs +++ b/LukeHagar/PlexAPI/SDK/Server.cs @@ -126,10 +126,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Sessions.cs b/LukeHagar/PlexAPI/SDK/Sessions.cs index f5106ca..42281ae 100644 --- a/LukeHagar/PlexAPI/SDK/Sessions.cs +++ b/LukeHagar/PlexAPI/SDK/Sessions.cs @@ -80,10 +80,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -261,7 +261,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); var response = new GetSessionHistoryResponse() { StatusCode = responseStatusCode, @@ -280,7 +280,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -293,7 +293,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } diff --git a/LukeHagar/PlexAPI/SDK/Statistics.cs b/LukeHagar/PlexAPI/SDK/Statistics.cs index fdfe827..a0d8717 100644 --- a/LukeHagar/PlexAPI/SDK/Statistics.cs +++ b/LukeHagar/PlexAPI/SDK/Statistics.cs @@ -71,10 +71,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -144,7 +144,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); var response = new GetStatisticsResponse() { StatusCode = responseStatusCode, @@ -163,7 +163,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -176,7 +176,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -252,7 +252,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); var response = new GetResourcesStatisticsResponse() { StatusCode = responseStatusCode, @@ -271,7 +271,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -284,7 +284,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -360,7 +360,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); var response = new GetBandwidthStatisticsResponse() { StatusCode = responseStatusCode, @@ -379,7 +379,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -392,7 +392,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } diff --git a/LukeHagar/PlexAPI/SDK/Updater.cs b/LukeHagar/PlexAPI/SDK/Updater.cs index 01451b0..1882445 100644 --- a/LukeHagar/PlexAPI/SDK/Updater.cs +++ b/LukeHagar/PlexAPI/SDK/Updater.cs @@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -261,7 +261,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -274,7 +274,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -360,7 +360,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } @@ -373,7 +373,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); obj!.RawResponse = httpResponse; throw obj!; } diff --git a/LukeHagar/PlexAPI/SDK/Video.cs b/LukeHagar/PlexAPI/SDK/Video.cs index 003f6f2..772e964 100644 --- a/LukeHagar/PlexAPI/SDK/Video.cs +++ b/LukeHagar/PlexAPI/SDK/Video.cs @@ -62,10 +62,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Watchlist.cs b/LukeHagar/PlexAPI/SDK/Watchlist.cs index 6798ce5..6aaca0a 100644 --- a/LukeHagar/PlexAPI/SDK/Watchlist.cs +++ b/LukeHagar/PlexAPI/SDK/Watchlist.cs @@ -59,10 +59,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.6.10"; - private const string _sdkGenVersion = "2.415.8"; + private const string _sdkVersion = "0.6.11"; + private const string _sdkGenVersion = "2.416.6"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.6.10 2.415.8 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.6.11 2.416.6 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/NUGET.md b/NUGET.md index 03d8d3a..18e1a6a 100644 --- a/NUGET.md +++ b/NUGET.md @@ -12,7 +12,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetServerCapabilitiesAsync(); @@ -26,21 +30,25 @@ var res = await sdk.Server.GetServerCapabilitiesAsync(); ## Global Parameters -A parameter is configured globally. This parameter may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, This global value will be used as the default on the operations that use it. When such operations are called, there is a place in each to override the global value, if needed. +Certain parameters are configured globally. These parameters may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, These global values will be used as defaults on the operations that use them. When such operations are called, there is a place in each to override the global value, if needed. -For example, you can set `X-Plex-Client-Identifier` 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. +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 -The following global parameter is available. +The following global parameters are available. | Name | Type | Required | Description | | ---- | ---- |:--------:| ----------- | -| xPlexClientIdentifier | string | | The unique identifier for the client application +| clientID | string | | The unique identifier for the client application This is used to track the client application and its usage (UUID, serial number, or other number unique per device) | +| clientName | string | | The ClientName parameter. | +| clientVersion | string | | The ClientVersion parameter. | +| clientPlatform | string | | The ClientPlatform parameter. | +| deviceName | string | | The DeviceName parameter. | ### Example @@ -52,11 +60,15 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Plex.GetServerResourcesAsync( - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40", + clientID: "gcgzw5rz2xovp84b4vha3a40", includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.One, includeRelay: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeRelay.One, includeIPv6: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.One @@ -87,7 +99,11 @@ using LukeHagar.PlexAPI.SDK.Models.Errors; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); try @@ -148,7 +164,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2/"); @@ -175,7 +195,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetServerCapabilitiesAsync(); diff --git a/README.md b/README.md index 9eb0bb5..2c80953 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetServerCapabilitiesAsync(); @@ -211,7 +215,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2/"); @@ -238,7 +246,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetServerCapabilitiesAsync(); @@ -252,21 +264,25 @@ var res = await sdk.Server.GetServerCapabilitiesAsync(); ## Global Parameters -A parameter is configured globally. This parameter may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, This global value will be used as the default on the operations that use it. When such operations are called, there is a place in each to override the global value, if needed. +Certain parameters are configured globally. These parameters may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, These global values will be used as defaults on the operations that use them. When such operations are called, there is a place in each to override the global value, if needed. -For example, you can set `X-Plex-Client-Identifier` 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. +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 -The following global parameter is available. +The following global parameters are available. | Name | Type | Required | Description | | ---- | ---- |:--------:| ----------- | -| xPlexClientIdentifier | string | | The unique identifier for the client application +| clientID | string | | The unique identifier for the client application This is used to track the client application and its usage (UUID, serial number, or other number unique per device) | +| clientName | string | | The ClientName parameter. | +| clientVersion | string | | The ClientVersion parameter. | +| clientPlatform | string | | The ClientPlatform parameter. | +| deviceName | string | | The DeviceName parameter. | ### Example @@ -278,11 +294,15 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Plex.GetServerResourcesAsync( - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40", + clientID: "gcgzw5rz2xovp84b4vha3a40", includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.One, includeRelay: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeRelay.One, includeIPv6: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.One @@ -313,7 +333,11 @@ using LukeHagar.PlexAPI.SDK.Models.Errors; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); try diff --git a/RELEASES.md b/RELEASES.md index d1482dd..da3e9b7 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -224,4 +224,14 @@ Based on: ### Generated - [csharp v0.6.10] . ### Releases -- [NuGet v0.6.10] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.6.10 - . \ No newline at end of file +- [NuGet v0.6.10] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.6.10 - . + +## 2024-09-19 00:20:08 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.399.2 (2.416.6) https://github.com/speakeasy-api/speakeasy +### Generated +- [csharp v0.6.11] . +### Releases +- [NuGet v0.6.11] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.6.11 - . \ No newline at end of file diff --git a/USAGE.md b/USAGE.md index 3216497..02ad74c 100644 --- a/USAGE.md +++ b/USAGE.md @@ -5,7 +5,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetServerCapabilitiesAsync(); diff --git a/codeSamples.yaml b/codeSamples.yaml index 1828137..b94dc76 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -14,7 +14,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetServerCapabilitiesAsync(); @@ -31,7 +35,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetServerPreferencesAsync(); @@ -49,7 +57,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Media.UpdatePlayProgressAsync( @@ -71,7 +83,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Media.MarkPlayedAsync(key: 59398D); @@ -89,7 +105,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); GetTimelineRequest req = new GetTimelineRequest() { @@ -120,7 +140,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Media.MarkUnplayedAsync(key: 59398D); @@ -137,7 +161,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Activities.GetServerActivitiesAsync(); @@ -155,7 +183,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Activities.CancelServerActivitiesAsync(activityUUID: "25b71ed5-0f9d-461c-baa7-d404e9e10d3e"); @@ -172,7 +204,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Butler.StopAllTasksAsync(); @@ -189,7 +225,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Butler.GetButlerTasksAsync(); @@ -206,7 +246,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Butler.StartAllTasksAsync(); @@ -224,7 +268,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Butler.StopTaskAsync(taskName: LukeHagar.PlexAPI.SDK.Models.Requests.PathParamTaskName.BackupDatabase); @@ -242,7 +290,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Butler.StartTaskAsync(taskName: LukeHagar.PlexAPI.SDK.Models.Requests.TaskName.CleanOldBundles); @@ -259,7 +311,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetAvailableClientsAsync(); @@ -276,7 +332,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Plex.GetCompanionsDataAsync(); @@ -293,7 +353,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetDevicesAsync(); @@ -310,7 +374,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Plex.GetUserFriendsAsync(); @@ -325,7 +393,13 @@ actions: using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Components; - var sdk = new PlexAPI(xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"); + var sdk = new PlexAPI( + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" + ); var res = await sdk.Plex.GetGeoDataAsync(); @@ -341,7 +415,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Plex.GetHomeDataAsync(); @@ -359,7 +437,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Hubs.GetGlobalHubsAsync( @@ -380,7 +462,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Search.PerformSearchAsync( @@ -402,7 +488,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Search.PerformVoiceSearchAsync( @@ -424,7 +514,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Hubs.GetLibraryHubsAsync( @@ -443,7 +537,13 @@ actions: using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Components; - var sdk = new PlexAPI(xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"); + var sdk = new PlexAPI( + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" + ); var res = await sdk.Server.GetServerIdentityAsync(); @@ -460,7 +560,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetTopWatchedContentAsync( @@ -481,7 +585,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetFileHashAsync( @@ -502,7 +610,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetMetaDataByRatingKeyAsync(ratingKey: 9518); @@ -520,7 +632,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); GetBannerImageRequest req = new GetBannerImageRequest() { @@ -547,7 +663,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetMetadataChildrenAsync( @@ -568,7 +688,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); GetThumbImageRequest req = new GetThumbImageRequest() { @@ -594,7 +718,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetOnDeckAsync(); @@ -612,7 +740,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetRecentlyAddedAsync( @@ -632,7 +764,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetAllLibrariesAsync(); @@ -650,7 +786,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); GetWatchListRequest req = new GetWatchListRequest() { @@ -675,7 +815,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.DeleteLibraryAsync(sectionKey: 9518); @@ -693,7 +837,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetLibraryDetailsAsync( @@ -714,7 +862,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetRefreshLibraryMetadataAsync( @@ -735,7 +887,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetSearchLibraryAsync( @@ -756,7 +912,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); GetLibraryItemsRequest req = new GetLibraryItemsRequest() { @@ -784,7 +944,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Log.LogLineAsync( @@ -805,7 +969,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); string req = "level=4&message=Test%20message%201&source=postman @@ -826,7 +994,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Log.EnablePaperTrailAsync(); @@ -844,7 +1016,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetMediaProvidersAsync(xPlexToken: "CV5xoxjTpFKUzBTShsaf"); @@ -861,7 +1037,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetMyPlexAccountAsync(); @@ -879,7 +1059,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); GetResizedPhotoRequest req = new GetResizedPhotoRequest() { @@ -905,14 +1089,18 @@ actions: using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Models.Components; - var sdk = new PlexAPI(xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"); - - var res = await sdk.Plex.GetPinAsync( - strong: false, - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40", - xPlexProduct: "Plex Web" + var sdk = new PlexAPI( + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); + GetPinRequest req = new GetPinRequest() {}; + + var res = await sdk.Plex.GetPinAsync(req); + // handle response - target: $["paths"]["/pins/{pinID}"]["get"] update: @@ -924,11 +1112,17 @@ actions: using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Models.Components; - var sdk = new PlexAPI(xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"); + var sdk = new PlexAPI( + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" + ); var res = await sdk.Plex.GetTokenByPinIdAsync( pinID: 408895, - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40" ); // handle response @@ -944,7 +1138,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.GetPlaylistsAsync( @@ -965,7 +1163,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); CreatePlaylistRequest req = new CreatePlaylistRequest() { @@ -990,7 +1192,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.UploadPlaylistAsync( @@ -1011,7 +1217,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.DeletePlaylistAsync(playlistID: 216.22D); @@ -1029,7 +1239,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.GetPlaylistAsync(playlistID: 4109.48D); @@ -1047,7 +1261,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.UpdatePlaylistAsync( @@ -1069,7 +1287,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.ClearPlaylistContentsAsync(playlistID: 1893.18D); @@ -1087,7 +1309,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.GetPlaylistContentsAsync( @@ -1108,7 +1334,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.AddPlaylistContentsAsync( @@ -1130,11 +1360,15 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Plex.GetServerResourcesAsync( - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40", + clientID: "gcgzw5rz2xovp84b4vha3a40", includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.One, includeRelay: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeRelay.One, includeIPv6: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.One @@ -1153,7 +1387,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Search.GetSearchResultsAsync(query: "110"); @@ -1171,7 +1409,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Authentication.GetSourceConnectionInformationAsync(source: "server://client-identifier"); @@ -1189,7 +1431,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Authentication.GetTransientTokenAsync( @@ -1209,7 +1455,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetServerListAsync(); @@ -1227,7 +1477,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Statistics.GetBandwidthStatisticsAsync(timespan: 4); @@ -1245,7 +1499,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Statistics.GetStatisticsAsync(timespan: 4); @@ -1263,7 +1521,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Statistics.GetResourcesStatisticsAsync(timespan: 4); @@ -1280,7 +1542,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Sessions.GetSessionsAsync(); @@ -1298,7 +1564,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Sessions.GetSessionHistoryAsync( @@ -1320,7 +1590,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Sessions.GetTranscodeSessionsAsync(); @@ -1338,7 +1612,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Sessions.StopTranscodeSessionAsync(sessionKey: "zz7llzqlx8w9vnrsbnwhbmep"); @@ -1356,7 +1634,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Updater.ApplyUpdatesAsync( @@ -1377,7 +1659,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Updater.CheckForUpdatesAsync(download: LukeHagar.PlexAPI.SDK.Models.Requests.Download.One); @@ -1394,7 +1680,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Updater.GetUpdateStatusAsync(); @@ -1411,7 +1701,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Authentication.GetTokenDetailsAsync(); @@ -1427,10 +1721,16 @@ actions: using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Models.Components; - var sdk = new PlexAPI(xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"); + var sdk = new PlexAPI( + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" + ); var res = await sdk.Authentication.PostUsersSignInDataAsync( - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40", + clientID: "gcgzw5rz2xovp84b4vha3a40", requestBody: new PostUsersSignInDataRequestBody() { Login = "username@email.com", Password = "password123", @@ -1451,7 +1751,11 @@ actions: var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); StartUniversalTranscodeRequest req = new StartUniversalTranscodeRequest() { diff --git a/docs/Models/Requests/GeoData.md b/docs/Models/Requests/GeoData.md index 49887a8..124f107 100644 --- a/docs/Models/Requests/GeoData.md +++ b/docs/Models/Requests/GeoData.md @@ -13,7 +13,7 @@ Geo location data | `City` | *string* | :heavy_check_mark: | The name of the city. | Amsterdam | | `EuropeanUnionMember` | *bool* | :heavy_minus_sign: | Indicates if the country is a member of the European Union. | true | | `TimeZone` | *string* | :heavy_check_mark: | The time zone of the country. | America/St_Thomas | -| `PostalCode` | *long* | :heavy_check_mark: | The postal code of the location. | 802 | +| `PostalCode` | *string* | :heavy_check_mark: | The postal code of the location. | 802 | | `InPrivacyRestrictedCountry` | *bool* | :heavy_minus_sign: | Indicates if the country has privacy restrictions. | true | | `InPrivacyRestrictedRegion` | *bool* | :heavy_minus_sign: | Indicates if the region has privacy restrictions. | true | | `Subdivisions` | *string* | :heavy_check_mark: | The name of the primary administrative subdivision. | Saint Thomas | diff --git a/docs/Models/Requests/GetGeoDataGeoData.md b/docs/Models/Requests/GetGeoDataGeoData.md index 1078eff..c8d68e9 100644 --- a/docs/Models/Requests/GetGeoDataGeoData.md +++ b/docs/Models/Requests/GetGeoDataGeoData.md @@ -13,7 +13,7 @@ Geo location data | `City` | *string* | :heavy_check_mark: | The name of the city. | Amsterdam | | `EuropeanUnionMember` | *bool* | :heavy_minus_sign: | Indicates if the country is a member of the European Union. | true | | `TimeZone` | *string* | :heavy_check_mark: | The time zone of the country. | America/St_Thomas | -| `PostalCode` | *long* | :heavy_check_mark: | The postal code of the location. | 802 | +| `PostalCode` | *string* | :heavy_check_mark: | The postal code of the location. | 802 | | `InPrivacyRestrictedCountry` | *bool* | :heavy_minus_sign: | Indicates if the country has privacy restrictions. | true | | `InPrivacyRestrictedRegion` | *bool* | :heavy_minus_sign: | Indicates if the region has privacy restrictions. | true | | `Subdivisions` | *string* | :heavy_check_mark: | The name of the primary administrative subdivision. | Saint Thomas | diff --git a/docs/Models/Requests/GetPinAuthPinContainer.md b/docs/Models/Requests/GetPinAuthPinContainer.md index 1fa1a7b..cd699b5 100644 --- a/docs/Models/Requests/GetPinAuthPinContainer.md +++ b/docs/Models/Requests/GetPinAuthPinContainer.md @@ -9,13 +9,13 @@ Requests a new pin id used in the authentication flow | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `Id` | *long* | :heavy_check_mark: | N/A | 308667304 | | `Code` | *string* | :heavy_check_mark: | N/A | 7RQZ | -| `Product` | *string* | :heavy_check_mark: | N/A | 0 | +| `Product` | *string* | :heavy_check_mark: | N/A | Tautulli | | `Trusted` | *bool* | :heavy_minus_sign: | N/A | | | `Qr` | *string* | :heavy_check_mark: | N/A | https://plex.tv/api/v2/pins/qr/7RQZ | -| `ClientIdentifier` | *string* | :heavy_check_mark: | The X-Client-Identifier used in the request | | +| `ClientIdentifier` | *string* | :heavy_check_mark: | The X-Client-Identifier used in the request | Tautulli | | `Location` | [GeoData](../../Models/Requests/GeoData.md) | :heavy_check_mark: | Geo location data | {
"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` | *long* | :heavy_minus_sign: | The number of seconds this pin expires, by default 900 seconds | 876 | | `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_check_mark: | N/A | 2024-07-16T17:03:05Z | | `ExpiresAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_check_mark: | N/A | 2024-07-16T17:18:05Z | -| `AuthToken` | *object* | :heavy_minus_sign: | N/A | | +| `AuthToken` | *string* | :heavy_minus_sign: | N/A | gcgzw5rz2xovp84b4vha3a40 | | `NewRegistration` | *object* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetPinRequest.md b/docs/Models/Requests/GetPinRequest.md index 96718af..140b423 100644 --- a/docs/Models/Requests/GetPinRequest.md +++ b/docs/Models/Requests/GetPinRequest.md @@ -6,5 +6,8 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `Strong` | *bool* | :heavy_minus_sign: | Determines the kind of code returned by the API call
Strong codes are used for Pin authentication flows
Non-Strong codes are used for `Plex.tv/link`
| | -| `XPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | -| `XPlexProduct` | *string* | :heavy_minus_sign: | N/A | Plex Web | \ No newline at end of file +| `ClientID` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| 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 | \ No newline at end of file diff --git a/docs/Models/Requests/GetServerResourcesRequest.md b/docs/Models/Requests/GetServerResourcesRequest.md index 739e6be..a0b24c4 100644 --- a/docs/Models/Requests/GetServerResourcesRequest.md +++ b/docs/Models/Requests/GetServerResourcesRequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `XPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | +| `ClientID` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | | `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
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
| 1 | | `IncludeIPv6` | [IncludeIPv6](../../Models/Requests/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/GetTokenByPinIdAuthPinContainer.md b/docs/Models/Requests/GetTokenByPinIdAuthPinContainer.md index d93c96a..de791a6 100644 --- a/docs/Models/Requests/GetTokenByPinIdAuthPinContainer.md +++ b/docs/Models/Requests/GetTokenByPinIdAuthPinContainer.md @@ -9,13 +9,13 @@ The Pin with a non-null authToken when it has been verified by the user | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `Id` | *long* | :heavy_check_mark: | N/A | 308667304 | | `Code` | *string* | :heavy_check_mark: | N/A | 7RQZ | -| `Product` | *string* | :heavy_check_mark: | N/A | 0 | +| `Product` | *string* | :heavy_check_mark: | N/A | Tautulli | | `Trusted` | *bool* | :heavy_minus_sign: | N/A | | | `Qr` | *string* | :heavy_check_mark: | N/A | https://plex.tv/api/v2/pins/qr/7RQZ | -| `ClientIdentifier` | *string* | :heavy_check_mark: | The X-Client-Identifier used in the request | | +| `ClientIdentifier` | *string* | :heavy_check_mark: | The X-Client-Identifier used in the request | Tautulli | | `Location` | [GetTokenByPinIdGeoData](../../Models/Requests/GetTokenByPinIdGeoData.md) | :heavy_check_mark: | Geo location data | {
"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` | *long* | :heavy_minus_sign: | The number of seconds this pin expires, by default 900 seconds | 876 | | `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_check_mark: | N/A | 2024-07-16T17:03:05Z | | `ExpiresAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_check_mark: | N/A | 2024-07-16T17:18:05Z | -| `AuthToken` | *object* | :heavy_minus_sign: | N/A | | +| `AuthToken` | *string* | :heavy_minus_sign: | N/A | gcgzw5rz2xovp84b4vha3a40 | | `NewRegistration` | *object* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetTokenByPinIdGeoData.md b/docs/Models/Requests/GetTokenByPinIdGeoData.md index 1407a8a..a70c299 100644 --- a/docs/Models/Requests/GetTokenByPinIdGeoData.md +++ b/docs/Models/Requests/GetTokenByPinIdGeoData.md @@ -13,7 +13,7 @@ Geo location data | `City` | *string* | :heavy_check_mark: | The name of the city. | Amsterdam | | `EuropeanUnionMember` | *bool* | :heavy_minus_sign: | Indicates if the country is a member of the European Union. | true | | `TimeZone` | *string* | :heavy_check_mark: | The time zone of the country. | America/St_Thomas | -| `PostalCode` | *long* | :heavy_check_mark: | The postal code of the location. | 802 | +| `PostalCode` | *string* | :heavy_check_mark: | The postal code of the location. | 802 | | `InPrivacyRestrictedCountry` | *bool* | :heavy_minus_sign: | Indicates if the country has privacy restrictions. | true | | `InPrivacyRestrictedRegion` | *bool* | :heavy_minus_sign: | Indicates if the region has privacy restrictions. | true | | `Subdivisions` | *string* | :heavy_check_mark: | The name of the primary administrative subdivision. | Saint Thomas | diff --git a/docs/Models/Requests/GetTokenByPinIdRequest.md b/docs/Models/Requests/GetTokenByPinIdRequest.md index 1c9f5cb..841e4c5 100644 --- a/docs/Models/Requests/GetTokenByPinIdRequest.md +++ b/docs/Models/Requests/GetTokenByPinIdRequest.md @@ -6,4 +6,4 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `PinID` | *long* | :heavy_check_mark: | The PinID to retrieve an access token for | | -| `XPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | \ No newline at end of file +| `ClientID` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | \ No newline at end of file diff --git a/docs/Models/Requests/PostUsersSignInDataRequest.md b/docs/Models/Requests/PostUsersSignInDataRequest.md index 8558027..5e22c5d 100644 --- a/docs/Models/Requests/PostUsersSignInDataRequest.md +++ b/docs/Models/Requests/PostUsersSignInDataRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `XPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | +| `ClientID` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | | `RequestBody` | [PostUsersSignInDataRequestBody](../../Models/Requests/PostUsersSignInDataRequestBody.md) | :heavy_minus_sign: | Login credentials | | \ No newline at end of file diff --git a/docs/sdks/activities/README.md b/docs/sdks/activities/README.md index 889e8e3..ea36dc5 100644 --- a/docs/sdks/activities/README.md +++ b/docs/sdks/activities/README.md @@ -29,7 +29,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Activities.GetServerActivitiesAsync(); @@ -63,7 +67,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Activities.CancelServerActivitiesAsync(activityUUID: "25b71ed5-0f9d-461c-baa7-d404e9e10d3e"); diff --git a/docs/sdks/authentication/README.md b/docs/sdks/authentication/README.md index 2f09ccd..cf7990a 100644 --- a/docs/sdks/authentication/README.md +++ b/docs/sdks/authentication/README.md @@ -27,7 +27,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Authentication.GetTransientTokenAsync( @@ -73,7 +77,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Authentication.GetSourceConnectionInformationAsync(source: "server://client-identifier"); @@ -112,7 +120,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Authentication.GetTokenDetailsAsync(); @@ -150,10 +162,16 @@ using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Models.Components; -var sdk = new PlexAPI(xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"); +var sdk = new PlexAPI( + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" +); var res = await sdk.Authentication.PostUsersSignInDataAsync( - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40", + clientID: "gcgzw5rz2xovp84b4vha3a40", requestBody: new PostUsersSignInDataRequestBody() { Login = "username@email.com", Password = "password123", @@ -168,7 +186,7 @@ var res = await sdk.Authentication.PostUsersSignInDataAsync( | Parameter | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `XPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | +| `ClientID` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | | `RequestBody` | [PostUsersSignInDataRequestBody](../../Models/Requests/PostUsersSignInDataRequestBody.md) | :heavy_minus_sign: | Login credentials | | | `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 | diff --git a/docs/sdks/butler/README.md b/docs/sdks/butler/README.md index 37cc94e..91c1e7e 100644 --- a/docs/sdks/butler/README.md +++ b/docs/sdks/butler/README.md @@ -26,7 +26,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Butler.GetButlerTasksAsync(); @@ -64,7 +68,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Butler.StartAllTasksAsync(); @@ -98,7 +106,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Butler.StopAllTasksAsync(); @@ -137,7 +149,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Butler.StartTaskAsync(taskName: LukeHagar.PlexAPI.SDK.Models.Requests.TaskName.CleanOldBundles); @@ -178,7 +194,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Butler.StopTaskAsync(taskName: LukeHagar.PlexAPI.SDK.Models.Requests.PathParamTaskName.BackupDatabase); diff --git a/docs/sdks/hubs/README.md b/docs/sdks/hubs/README.md index d36593f..6d9117c 100644 --- a/docs/sdks/hubs/README.md +++ b/docs/sdks/hubs/README.md @@ -24,7 +24,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Hubs.GetGlobalHubsAsync( @@ -69,7 +73,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Hubs.GetLibraryHubsAsync( diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index 50f8f06..b1b3ca3 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -34,7 +34,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetFileHashAsync( @@ -79,7 +83,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetRecentlyAddedAsync( @@ -128,7 +136,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetAllLibrariesAsync(); @@ -201,7 +213,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetLibraryDetailsAsync( @@ -245,7 +261,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.DeleteLibraryAsync(sectionKey: 9518); @@ -305,7 +325,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); GetLibraryItemsRequest req = new GetLibraryItemsRequest() { @@ -356,7 +380,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetRefreshLibraryMetadataAsync( @@ -418,7 +446,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetSearchLibraryAsync( @@ -463,7 +495,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetMetaDataByRatingKeyAsync(ratingKey: 9518); @@ -504,7 +540,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetMetadataChildrenAsync( @@ -549,7 +589,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetTopWatchedContentAsync( @@ -593,7 +637,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Library.GetOnDeckAsync(); diff --git a/docs/sdks/log/README.md b/docs/sdks/log/README.md index dbeb581..d17229a 100644 --- a/docs/sdks/log/README.md +++ b/docs/sdks/log/README.md @@ -26,7 +26,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Log.LogLineAsync( @@ -92,7 +96,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); string req = "level=4&message=Test%20message%201&source=postman @@ -136,7 +144,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Log.EnablePaperTrailAsync(); diff --git a/docs/sdks/media/README.md b/docs/sdks/media/README.md index 017a625..b12a933 100644 --- a/docs/sdks/media/README.md +++ b/docs/sdks/media/README.md @@ -27,7 +27,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Media.MarkPlayedAsync(key: 59398D); @@ -67,7 +71,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Media.MarkUnplayedAsync(key: 59398D); @@ -108,7 +116,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Media.UpdatePlayProgressAsync( @@ -154,7 +166,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); GetBannerImageRequest req = new GetBannerImageRequest() { @@ -203,7 +219,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); GetThumbImageRequest req = new GetThumbImageRequest() { diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md index 7bac4d5..ff039d7 100644 --- a/docs/sdks/playlists/README.md +++ b/docs/sdks/playlists/README.md @@ -37,7 +37,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); CreatePlaylistRequest req = new CreatePlaylistRequest() { @@ -84,7 +88,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.GetPlaylistsAsync( @@ -130,7 +138,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.GetPlaylistAsync(playlistID: 4109.48D); @@ -171,7 +183,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.DeletePlaylistAsync(playlistID: 216.22D); @@ -212,7 +228,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.UpdatePlaylistAsync( @@ -262,7 +282,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.GetPlaylistContentsAsync( @@ -307,7 +331,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.ClearPlaylistContentsAsync(playlistID: 1893.18D); @@ -349,7 +377,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.AddPlaylistContentsAsync( @@ -396,7 +428,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Playlists.UploadPlaylistAsync( diff --git a/docs/sdks/plex/README.md b/docs/sdks/plex/README.md index c3864d1..967e97a 100644 --- a/docs/sdks/plex/README.md +++ b/docs/sdks/plex/README.md @@ -28,7 +28,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Plex.GetCompanionsDataAsync(); @@ -67,7 +71,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Plex.GetUserFriendsAsync(); @@ -104,7 +112,13 @@ Returns the geolocation and locale data of the caller using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Components; -var sdk = new PlexAPI(xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"); +var sdk = new PlexAPI( + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" +); var res = await sdk.Plex.GetGeoDataAsync(); @@ -142,7 +156,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Plex.GetHomeDataAsync(); @@ -176,11 +194,15 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Plex.GetServerResourcesAsync( - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40", + clientID: "gcgzw5rz2xovp84b4vha3a40", includeHttps: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeHttps.One, includeRelay: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeRelay.One, includeIPv6: LukeHagar.PlexAPI.SDK.Models.Requests.IncludeIPv6.One @@ -193,7 +215,7 @@ var res = await sdk.Plex.GetServerResourcesAsync( | Parameter | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `XPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | +| `ClientID` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | | `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
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
| 1 | | `IncludeIPv6` | [IncludeIPv6](../../Models/Requests/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | @@ -214,7 +236,7 @@ var res = await sdk.Plex.GetServerResourcesAsync( ## GetPin -Retrieve a Pin from Plex.tv for authentication flows +Retrieve a Pin ID from Plex.tv to use for authentication flows ### Example Usage @@ -223,25 +245,27 @@ using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Models.Components; -var sdk = new PlexAPI(xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"); - -var res = await sdk.Plex.GetPinAsync( - strong: false, - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40", - xPlexProduct: "Plex Web" +var sdk = new PlexAPI( + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); +GetPinRequest req = new GetPinRequest() {}; + +var res = await sdk.Plex.GetPinAsync(req); + // handle response ``` ### Parameters -| Parameter | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Strong` | *bool* | :heavy_minus_sign: | Determines the kind of code returned by the API call
Strong codes are used for Pin authentication flows
Non-Strong codes are used for `Plex.tv/link`
| | -| `XPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | -| `XPlexProduct` | *string* | :heavy_minus_sign: | N/A | Plex Web | -| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 | +| Parameter | Type | Required | Description | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `request` | [GetPinRequest](../../Models/Requests/GetPinRequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | ### Response @@ -266,11 +290,17 @@ using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Models.Components; -var sdk = new PlexAPI(xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"); +var sdk = new PlexAPI( + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" +); var res = await sdk.Plex.GetTokenByPinIdAsync( pinID: 408895, - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40" ); // handle response @@ -281,7 +311,7 @@ var res = await sdk.Plex.GetTokenByPinIdAsync( | Parameter | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `PinID` | *long* | :heavy_check_mark: | The PinID to retrieve an access token for | | -| `XPlexClientIdentifier` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | +| `ClientID` | *string* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | | `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 | ### Response diff --git a/docs/sdks/search/README.md b/docs/sdks/search/README.md index 84f3dfc..29362cc 100644 --- a/docs/sdks/search/README.md +++ b/docs/sdks/search/README.md @@ -37,7 +37,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Search.PerformSearchAsync( @@ -87,7 +91,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Search.PerformVoiceSearchAsync( @@ -133,7 +141,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Search.GetSearchResultsAsync(query: "110"); diff --git a/docs/sdks/server/README.md b/docs/sdks/server/README.md index 924dc7d..091cfd8 100644 --- a/docs/sdks/server/README.md +++ b/docs/sdks/server/README.md @@ -30,7 +30,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetServerCapabilitiesAsync(); @@ -63,7 +67,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetServerPreferencesAsync(); @@ -96,7 +104,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetAvailableClientsAsync(); @@ -129,7 +141,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetDevicesAsync(); @@ -160,7 +176,13 @@ This request is useful to determine if the server is online or offline using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Components; -var sdk = new PlexAPI(xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"); +var sdk = new PlexAPI( + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" +); var res = await sdk.Server.GetServerIdentityAsync(); @@ -191,7 +213,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetMyPlexAccountAsync(); @@ -226,7 +252,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); GetResizedPhotoRequest req = new GetResizedPhotoRequest() { @@ -276,7 +306,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetMediaProvidersAsync(xPlexToken: "CV5xoxjTpFKUzBTShsaf"); @@ -315,7 +349,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Server.GetServerListAsync(); diff --git a/docs/sdks/sessions/README.md b/docs/sdks/sessions/README.md index 23fa53e..0f02389 100644 --- a/docs/sdks/sessions/README.md +++ b/docs/sdks/sessions/README.md @@ -25,7 +25,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Sessions.GetSessionsAsync(); @@ -59,7 +63,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Sessions.GetSessionHistoryAsync( @@ -106,7 +114,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Sessions.GetTranscodeSessionsAsync(); @@ -140,7 +152,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Sessions.StopTranscodeSessionAsync(sessionKey: "zz7llzqlx8w9vnrsbnwhbmep"); diff --git a/docs/sdks/statistics/README.md b/docs/sdks/statistics/README.md index 46f04e4..b6677d1 100644 --- a/docs/sdks/statistics/README.md +++ b/docs/sdks/statistics/README.md @@ -25,7 +25,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Statistics.GetStatisticsAsync(timespan: 4); @@ -65,7 +69,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Statistics.GetResourcesStatisticsAsync(timespan: 4); @@ -105,7 +113,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Statistics.GetBandwidthStatisticsAsync(timespan: 4); diff --git a/docs/sdks/updater/README.md b/docs/sdks/updater/README.md index daec506..6afb6ce 100644 --- a/docs/sdks/updater/README.md +++ b/docs/sdks/updater/README.md @@ -25,7 +25,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Updater.GetUpdateStatusAsync(); @@ -59,7 +63,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Updater.CheckForUpdatesAsync(download: LukeHagar.PlexAPI.SDK.Models.Requests.Download.One); @@ -100,7 +108,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); var res = await sdk.Updater.ApplyUpdatesAsync( diff --git a/docs/sdks/video/README.md b/docs/sdks/video/README.md index a53beae..f44fe7a 100644 --- a/docs/sdks/video/README.md +++ b/docs/sdks/video/README.md @@ -24,7 +24,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); GetTimelineRequest req = new GetTimelineRequest() { @@ -77,7 +81,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); StartUniversalTranscodeRequest req = new StartUniversalTranscodeRequest() { diff --git a/docs/sdks/watchlist/README.md b/docs/sdks/watchlist/README.md index 0ee3a8a..e8db5db 100644 --- a/docs/sdks/watchlist/README.md +++ b/docs/sdks/watchlist/README.md @@ -23,7 +23,11 @@ using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( accessToken: "", - xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40" + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" ); GetWatchListRequest req = new GetWatchListRequest() {