From affe5d5a8c2db09dc9d4b6a19ec25820a6b8583e Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Sat, 28 Sep 2024 00:21:51 +0000 Subject: [PATCH] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.404.5 --- .speakeasy/gen.lock | 21 ++++--- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 12 ++-- LukeHagar/PlexAPI/SDK/Activities.cs | 6 +- LukeHagar/PlexAPI/SDK/Authentication.cs | 10 +-- LukeHagar/PlexAPI/SDK/Butler.cs | 6 +- LukeHagar/PlexAPI/SDK/Hubs.cs | 6 +- LukeHagar/PlexAPI/SDK/Library.cs | 6 +- LukeHagar/PlexAPI/SDK/Log.cs | 6 +- .../PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj | 28 ++++++++- LukeHagar/PlexAPI/SDK/Media.cs | 6 +- .../Models/Requests/GetTokenByPinIdRequest.cs | 24 +++++++ .../GetTokenDetailsUserPlexAccount.cs | 2 +- .../SDK/Models/Requests/MailingListStatus.cs | 2 +- .../PostUsersSignInDataMailingListStatus.cs | 2 +- .../PostUsersSignInDataUserPlexAccount.cs | 2 +- LukeHagar/PlexAPI/SDK/Playlists.cs | 6 +- LukeHagar/PlexAPI/SDK/Plex.cs | 34 +++++----- LukeHagar/PlexAPI/SDK/PlexAPI.cs | 62 ++++++++++++++++++- LukeHagar/PlexAPI/SDK/Search.cs | 6 +- LukeHagar/PlexAPI/SDK/Server.cs | 6 +- LukeHagar/PlexAPI/SDK/Sessions.cs | 6 +- LukeHagar/PlexAPI/SDK/Statistics.cs | 6 +- LukeHagar/PlexAPI/SDK/Updater.cs | 6 +- LukeHagar/PlexAPI/SDK/Video.cs | 6 +- LukeHagar/PlexAPI/SDK/Watchlist.cs | 6 +- NUGET.md | 2 +- README.md | 27 +++++++- RELEASES.md | 12 +++- codeSamples.yaml | 6 +- docs/Models/Requests/Connections.md | 18 +++--- .../Models/Requests/GetTokenByPinIdRequest.md | 11 +++- .../GetTokenDetailsUserPlexAccount.md | 2 +- docs/Models/Requests/MailingListStatus.md | 2 +- .../PostUsersSignInDataMailingListStatus.md | 2 +- .../PostUsersSignInDataUserPlexAccount.md | 2 +- docs/sdks/plex/README.md | 14 +++-- docs/sdks/plexapi/README.md | 25 +++++++- 38 files changed, 297 insertions(+), 111 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 23f97b6..b5adca7 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: 5e039359563b41bbe118fc6701ba22dc + docChecksum: e7673f3f46e5b0bf495c378378aa7ad6 docVersion: 0.0.3 - speakeasyVersion: 1.402.14 - generationVersion: 2.422.22 - releaseVersion: 0.8.1 - configChecksum: 67c2fafca972224c918ba21859003791 + speakeasyVersion: 1.404.5 + generationVersion: 2.426.2 + releaseVersion: 0.8.2 + configChecksum: 1b899ed5e03c8720f1f7f13507ac2519 repoURL: https://github.com/LukeHagar/plexcsharp.git repoSubDirectory: . published: true @@ -14,7 +14,7 @@ features: csharp: additionalDependencies: 0.1.0 constsAndDefaults: 0.0.1 - core: 3.10.1 + core: 3.10.2 deprecations: 2.81.2 enums: 2.82.0 errors: 0.0.2 @@ -1950,7 +1950,12 @@ examples: parameters: path: pinID: 408895 - query: {} + query: + X-Plex-Client-Identifier: "gcgzw5rz2xovp84b4vha3a40" + X-Plex-Product: "Plex Web" + X-Plex-Device: "Linux" + X-Plex-Version: "4.133.0" + X-Plex-Platform: "Chrome" responses: "200": application/json: {"id": 308667304, "code": "7RQZ", "product": "0", "trusted": false, "qr": "https://plex.tv/api/v2/pins/qr/7RQZ", "clientIdentifier": "string", "location": {"code": "VI", "continent_code": "NA", "country": "United States Virgin Islands", "city": "Amsterdam", "european_union_member": true, "time_zone": "America/St_Thomas", "postal_code": 802, "in_privacy_restricted_country": true, "in_privacy_restricted_region": true, "subdivisions": "Saint Thomas", "coordinates": "18.3381, -64.8941"}, "expiresIn": 876, "createdAt": "2024-07-16T17:03:05Z", "expiresAt": "2024-07-16T17:18:05Z", "authToken": null, "newRegistration": null} @@ -2594,7 +2599,7 @@ examples: speakeasy-default-get-token-details: responses: "200": - application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": null, "mailingListActive": false, "mailingListStatus": "unsubscribed", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null} + application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": null, "mailingListActive": false, "mailingListStatus": "active", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null} "400": application/json: {"errors": []} "401": diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 6071fbb..491b4d8 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: true csharp: - version: 0.8.1 + version: 0.8.2 additionalDependencies: [] author: LukeHagar clientServerStatusCodesAsErrors: true diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 2808c4e..3388afd 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.402.14 +speakeasyVersion: 1.404.5 sources: my-source: sourceNamespace: my-source @@ -16,8 +16,8 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:b7081644a59eca24a22b8009506fcf459bf18b07dce0462b39bc36c40d94862e - sourceBlobDigest: sha256:6b822f23afbc630bbc0fc12299316ea03d3671a2c2a81241ad4caa49022b430e + sourceRevisionDigest: sha256:276a31ab98595ebaf2b1fac4b4f5c3c1c7b55e0431f9074c89b8fbcb55b52d3f + sourceBlobDigest: sha256:2bc9e816db669d609d8a5988ebb629578dc5cbbaff191d260b5c63b7ba1bd59b tags: - latest - main @@ -25,10 +25,10 @@ targets: plexcsharp: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:b7081644a59eca24a22b8009506fcf459bf18b07dce0462b39bc36c40d94862e - sourceBlobDigest: sha256:6b822f23afbc630bbc0fc12299316ea03d3671a2c2a81241ad4caa49022b430e + sourceRevisionDigest: sha256:276a31ab98595ebaf2b1fac4b4f5c3c1c7b55e0431f9074c89b8fbcb55b52d3f + sourceBlobDigest: sha256:2bc9e816db669d609d8a5988ebb629578dc5cbbaff191d260b5c63b7ba1bd59b codeSamplesNamespace: code-samples-csharp-plexcsharp - codeSamplesRevisionDigest: sha256:6838159d31ebc591bad7395890ed6d3d9054554b4906bcc7b9d1fb1225379e54 + codeSamplesRevisionDigest: sha256:bc6e1a88628b72f211e33c015c1dbc6badafb295aeebf5a0bdafe1b542483c89 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/LukeHagar/PlexAPI/SDK/Activities.cs b/LukeHagar/PlexAPI/SDK/Activities.cs index 540131e..ece68cb 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 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 73fda85..1e0f653 100644 --- a/LukeHagar/PlexAPI/SDK/Authentication.cs +++ b/LukeHagar/PlexAPI/SDK/Authentication.cs @@ -85,20 +85,20 @@ namespace LukeHagar.PlexAPI.SDK /// List of server URLs available for the getTokenDetails operation. /// public static readonly string[] GetTokenDetailsServerList = { - "https://plex.tv/api/v2/", + "https://plex.tv/api/v2", }; /// /// List of server URLs available for the post-users-sign-in-data operation. /// public static readonly string[] PostUsersSignInDataServerList = { - "https://plex.tv/api/v2/", + "https://plex.tv/api/v2", }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Butler.cs b/LukeHagar/PlexAPI/SDK/Butler.cs index 4d58dd6..0ad4c7d 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 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 df84cf0..e7dedfe 100644 --- a/LukeHagar/PlexAPI/SDK/Hubs.cs +++ b/LukeHagar/PlexAPI/SDK/Hubs.cs @@ -73,10 +73,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Library.cs b/LukeHagar/PlexAPI/SDK/Library.cs index d632e7b..d902e42 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Log.cs b/LukeHagar/PlexAPI/SDK/Log.cs index f0b332b..270677e 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 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 c5acb13..f45d3ab 100644 --- a/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj +++ b/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj @@ -3,14 +3,38 @@ true LukeHagar.PlexAPI.SDK - 0.8.1 + 0.8.2 net8.0 LukeHagar Copyright (c) LukeHagar 2024 https://github.com/LukeHagar/plexcsharp.git git Plex Media Server SDK - Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server + # Plex Media Server OpenAPI Specification + +An Open Source OpenAPI Specification for Plex Media Server + +Automation and SDKs provided by [Speakeasy](https://speakeasyapi.dev/) + +## Documentation + +[API Documentation](https://plexapi.dev) + +## SDKs + +The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the respective repository. + +| Language | Repository | Releases | Other | +| --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- | +| Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) | - | +| JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) | - | +| Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) | +| Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - | +| Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - | +| PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - | +| Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - | +| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | - + diff --git a/LukeHagar/PlexAPI/SDK/Media.cs b/LukeHagar/PlexAPI/SDK/Media.cs index 4f71a93..cde1ee6 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdRequest.cs index c09ba40..52cedd5 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdRequest.cs @@ -19,5 +19,29 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=pinID")] public long PinID { get; set; } = default!; + + /// + /// 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)
+ /// + ///
+ ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier")] + public string? ClientID { get; set; } + + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Product")] + public string? ClientName { get; set; } + + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Device")] + public string? DeviceName { get; set; } + + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Version")] + public string? ClientVersion { get; set; } + + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Platform")] + public string? ClientPlatform { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsUserPlexAccount.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsUserPlexAccount.cs index 9d58525..087a5fe 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsUserPlexAccount.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsUserPlexAccount.cs @@ -154,7 +154,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public bool? MailingListActive { get; set; } = false; /// - /// Your current mailing list status + /// Your current mailing list status (active or unsubscribed) /// [JsonProperty("mailingListStatus")] public MailingListStatus MailingListStatus { get; set; } = default!; diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/MailingListStatus.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/MailingListStatus.cs index 071a9fa..27bd44f 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/MailingListStatus.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/MailingListStatus.cs @@ -14,7 +14,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using System; /// - /// Your current mailing list status + /// Your current mailing list status (active or unsubscribed) /// public enum MailingListStatus { diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataMailingListStatus.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataMailingListStatus.cs index ae6c8c6..7183b3e 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataMailingListStatus.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataMailingListStatus.cs @@ -14,7 +14,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using System; /// - /// Your current mailing list status + /// Your current mailing list status (active or unsubscribed) /// public enum PostUsersSignInDataMailingListStatus { diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataUserPlexAccount.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataUserPlexAccount.cs index b4325fa..ba9bdf6 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataUserPlexAccount.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataUserPlexAccount.cs @@ -154,7 +154,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public bool? MailingListActive { get; set; } = false; /// - /// Your current mailing list status + /// Your current mailing list status (active or unsubscribed) /// [JsonProperty("mailingListStatus")] public PostUsersSignInDataMailingListStatus MailingListStatus { get; set; } = default!; diff --git a/LukeHagar/PlexAPI/SDK/Playlists.cs b/LukeHagar/PlexAPI/SDK/Playlists.cs index 5f7546a..70fce98 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Plex.cs b/LukeHagar/PlexAPI/SDK/Plex.cs index 94cbbed..9615380 100644 --- a/LukeHagar/PlexAPI/SDK/Plex.cs +++ b/LukeHagar/PlexAPI/SDK/Plex.cs @@ -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? serverUrl = null); + Task GetTokenByPinIdAsync(GetTokenByPinIdRequest request, string? serverUrl = null); } /// @@ -109,44 +109,44 @@ namespace LukeHagar.PlexAPI.SDK /// List of server URLs available for the getCompanionsData operation. /// public static readonly string[] GetCompanionsDataServerList = { - "https://plex.tv/api/v2/", + "https://plex.tv/api/v2", }; /// /// List of server URLs available for the getUserFriends operation. /// public static readonly string[] GetUserFriendsServerList = { - "https://plex.tv/api/v2/", + "https://plex.tv/api/v2", }; /// /// List of server URLs available for the getGeoData operation. /// public static readonly string[] GetGeoDataServerList = { - "https://plex.tv/api/v2/", + "https://plex.tv/api/v2", }; /// /// List of server URLs available for the get-server-resources operation. /// public static readonly string[] GetServerResourcesServerList = { - "https://plex.tv/api/v2/", + "https://plex.tv/api/v2", }; /// /// List of server URLs available for the getPin operation. /// public static readonly string[] GetPinServerList = { - "https://plex.tv/api/v2/", + "https://plex.tv/api/v2", }; /// /// List of server URLs available for the getTokenByPinId operation. /// public static readonly string[] GetTokenByPinIdServerList = { - "https://plex.tv/api/v2/", + "https://plex.tv/api/v2", }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -755,12 +755,18 @@ namespace LukeHagar.PlexAPI.SDK throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } - public async Task GetTokenByPinIdAsync(long pinID, string? serverUrl = null) + public async Task GetTokenByPinIdAsync(GetTokenByPinIdRequest request, string? serverUrl = null) { - var request = new GetTokenByPinIdRequest() + if (request == null) { - PinID = pinID, - }; + request = new GetTokenByPinIdRequest(); + } + request.ClientID ??= SDKConfiguration.ClientID; + request.ClientName ??= SDKConfiguration.ClientName; + request.ClientVersion ??= SDKConfiguration.ClientVersion; + request.ClientPlatform ??= SDKConfiguration.ClientPlatform; + request.DeviceName ??= SDKConfiguration.DeviceName; + string baseUrl = Utilities.TemplateUrl(GetTokenByPinIdServerList[0], new Dictionary(){ }); if (serverUrl != null) diff --git a/LukeHagar/PlexAPI/SDK/PlexAPI.cs b/LukeHagar/PlexAPI/SDK/PlexAPI.cs index b591614..fa5c6a4 100644 --- a/LukeHagar/PlexAPI/SDK/PlexAPI.cs +++ b/LukeHagar/PlexAPI/SDK/PlexAPI.cs @@ -67,6 +67,34 @@ namespace LukeHagar.PlexAPI.SDK /// /// Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server + /// + /// + /// # Plex Media Server OpenAPI Specification
+ ///
+ /// An Open Source OpenAPI Specification for Plex Media Server
+ ///
+ /// Automation and SDKs provided by Speakeasy
+ ///
+ /// ## Documentation
+ ///
+ /// API Documentation
+ ///
+ /// ## SDKs
+ ///
+ /// The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the respective repository.
+ ///
+ /// | Language | Repository | Releases | Other |
+ /// | --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
+ /// | Python | GitHub | PyPI | - |
+ /// | JavaScript/TypeScript | GitHub | NPM \ JSR | - |
+ /// | Go | GitHub | Releases | GoDoc |
+ /// | Ruby | GitHub | Releases | - |
+ /// | Swift | GitHub | Releases | - |
+ /// | PHP | GitHub | Releases | - |
+ /// | Java | GitHub | Releases | - |
+ /// | C# | GitHub | Releases | -
+ /// + ///
///
public interface IPlexAPI { @@ -269,16 +297,44 @@ namespace LukeHagar.PlexAPI.SDK /// /// Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server + /// + /// + /// # Plex Media Server OpenAPI Specification
+ ///
+ /// An Open Source OpenAPI Specification for Plex Media Server
+ ///
+ /// Automation and SDKs provided by Speakeasy
+ ///
+ /// ## Documentation
+ ///
+ /// API Documentation
+ ///
+ /// ## SDKs
+ ///
+ /// The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the respective repository.
+ ///
+ /// | Language | Repository | Releases | Other |
+ /// | --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
+ /// | Python | GitHub | PyPI | - |
+ /// | JavaScript/TypeScript | GitHub | NPM \ JSR | - |
+ /// | Go | GitHub | Releases | GoDoc |
+ /// | Ruby | GitHub | Releases | - |
+ /// | Swift | GitHub | Releases | - |
+ /// | PHP | GitHub | Releases | - |
+ /// | Java | GitHub | Releases | - |
+ /// | C# | GitHub | Releases | -
+ /// + ///
///
public class PlexAPI: IPlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private int _serverIndex = 0; private ISpeakeasyHttpClient _client; diff --git a/LukeHagar/PlexAPI/SDK/Search.cs b/LukeHagar/PlexAPI/SDK/Search.cs index b1e0710..1350d0a 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 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 d65733b..42e7fac 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 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 3e43181..120e8cb 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Statistics.cs b/LukeHagar/PlexAPI/SDK/Statistics.cs index dded735..6f7de55 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Updater.cs b/LukeHagar/PlexAPI/SDK/Updater.cs index 2c290ac..2c416f4 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Video.cs b/LukeHagar/PlexAPI/SDK/Video.cs index 0c9887e..3ced40a 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 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 2ec0aeb..9591b30 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.8.1"; - private const string _sdkGenVersion = "2.422.22"; + private const string _sdkVersion = "0.8.2"; + private const string _sdkGenVersion = "2.426.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.8.1 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.2 2.426.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/NUGET.md b/NUGET.md index 58385ca..cd5d267 100644 --- a/NUGET.md +++ b/NUGET.md @@ -170,7 +170,7 @@ var sdk = new PlexAPI( deviceName: "Linux" ); -var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2/"); +var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2"); // handle response ``` diff --git a/README.md b/README.md index b730c8f..2db3ffd 100644 --- a/README.md +++ b/README.md @@ -223,7 +223,7 @@ var sdk = new PlexAPI( deviceName: "Linux" ); -var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2/"); +var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2"); // handle response ``` @@ -368,6 +368,31 @@ catch (Exception ex) ## Summary Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server + +# Plex Media Server OpenAPI Specification + +An Open Source OpenAPI Specification for Plex Media Server + +Automation and SDKs provided by [Speakeasy](https://speakeasyapi.dev/) + +## Documentation + +[API Documentation](https://plexapi.dev) + +## SDKs + +The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the respective repository. + +| Language | Repository | Releases | Other | +| --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- | +| Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) | - | +| JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) | - | +| Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) | +| Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - | +| Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - | +| PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - | +| Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - | +| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | - diff --git a/RELEASES.md b/RELEASES.md index 6c36d8a..115dbf2 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -274,4 +274,14 @@ Based on: ### Generated - [csharp v0.8.1] . ### Releases -- [NuGet v0.8.1] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.8.1 - . \ No newline at end of file +- [NuGet v0.8.1] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.8.1 - . + +## 2024-09-28 00:20:26 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.404.5 (2.426.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [csharp v0.8.2] . +### Releases +- [NuGet v0.8.2] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.8.2 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 4b54049..90c66d9 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -1172,7 +1172,11 @@ actions: deviceName: "Linux" ); - var res = await sdk.Plex.GetTokenByPinIdAsync(pinID: 408895); + GetTokenByPinIdRequest req = new GetTokenByPinIdRequest() { + PinID = 408895, + }; + + var res = await sdk.Plex.GetTokenByPinIdAsync(req); // handle response - target: $["paths"]["/playlists"]["get"] diff --git a/docs/Models/Requests/Connections.md b/docs/Models/Requests/Connections.md index 43c71ac..b8c8319 100644 --- a/docs/Models/Requests/Connections.md +++ b/docs/Models/Requests/Connections.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `Protocol` | [Protocol](../../Models/Requests/Protocol.md) | :heavy_check_mark: | The protocol used for the connection (http, https, etc) | -| `Address` | *string* | :heavy_check_mark: | The (ip) address or domain name used for the connection | -| `Port` | *int* | :heavy_check_mark: | The port used for the connection | -| `Uri` | *string* | :heavy_check_mark: | The full URI of the connection | -| `Local` | *bool* | :heavy_check_mark: | If the connection is local address | -| `Relay` | *bool* | :heavy_check_mark: | If the connection is relayed through plex.direct | -| `IPv6` | *bool* | :heavy_check_mark: | If the connection is using IPv6 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `Protocol` | [Protocol](../../Models/Requests/Protocol.md) | :heavy_check_mark: | The protocol used for the connection (http, https, etc) | http | +| `Address` | *string* | :heavy_check_mark: | The (ip) address or domain name used for the connection | | +| `Port` | *int* | :heavy_check_mark: | The port used for the connection | | +| `Uri` | *string* | :heavy_check_mark: | The full URI of the connection | | +| `Local` | *bool* | :heavy_check_mark: | If the connection is local address | | +| `Relay` | *bool* | :heavy_check_mark: | If the connection is relayed through plex.direct | | +| `IPv6` | *bool* | :heavy_check_mark: | If the connection is using IPv6 | | \ No newline at end of file diff --git a/docs/Models/Requests/GetTokenByPinIdRequest.md b/docs/Models/Requests/GetTokenByPinIdRequest.md index d2d03e9..f2a3a08 100644 --- a/docs/Models/Requests/GetTokenByPinIdRequest.md +++ b/docs/Models/Requests/GetTokenByPinIdRequest.md @@ -3,6 +3,11 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | -| `PinID` | *long* | :heavy_check_mark: | The PinID to retrieve an access token for | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `PinID` | *long* | :heavy_check_mark: | The PinID to retrieve an access token for | | +| `ClientID` | *string* | :heavy_minus_sign: | The unique identifier for the client application
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/GetTokenDetailsUserPlexAccount.md b/docs/Models/Requests/GetTokenDetailsUserPlexAccount.md index 2221ce5..020e2b9 100644 --- a/docs/Models/Requests/GetTokenDetailsUserPlexAccount.md +++ b/docs/Models/Requests/GetTokenDetailsUserPlexAccount.md @@ -29,7 +29,7 @@ Logged in user details | `JoinedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `Locale` | *string* | :heavy_check_mark: | The account locale | | | `MailingListActive` | *bool* | :heavy_minus_sign: | If you are subscribed to the Plex newsletter | | -| `MailingListStatus` | [MailingListStatus](../../Models/Requests/MailingListStatus.md) | :heavy_check_mark: | Your current mailing list status | | +| `MailingListStatus` | [MailingListStatus](../../Models/Requests/MailingListStatus.md) | :heavy_check_mark: | Your current mailing list status (active or unsubscribed) | active | | `MaxHomeSize` | *int* | :heavy_check_mark: | The maximum number of accounts allowed in the Plex Home | 15 | | ~~`Pin`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

[Might be removed] The hashed Plex Home PIN | | | `Profile` | [UserProfile](../../Models/Requests/UserProfile.md) | :heavy_check_mark: | N/A | | diff --git a/docs/Models/Requests/MailingListStatus.md b/docs/Models/Requests/MailingListStatus.md index be5eab4..9b13c47 100644 --- a/docs/Models/Requests/MailingListStatus.md +++ b/docs/Models/Requests/MailingListStatus.md @@ -1,6 +1,6 @@ # MailingListStatus -Your current mailing list status +Your current mailing list status (active or unsubscribed) ## Values diff --git a/docs/Models/Requests/PostUsersSignInDataMailingListStatus.md b/docs/Models/Requests/PostUsersSignInDataMailingListStatus.md index a0a2def..d969cd9 100644 --- a/docs/Models/Requests/PostUsersSignInDataMailingListStatus.md +++ b/docs/Models/Requests/PostUsersSignInDataMailingListStatus.md @@ -1,6 +1,6 @@ # PostUsersSignInDataMailingListStatus -Your current mailing list status +Your current mailing list status (active or unsubscribed) ## Values diff --git a/docs/Models/Requests/PostUsersSignInDataUserPlexAccount.md b/docs/Models/Requests/PostUsersSignInDataUserPlexAccount.md index 2d22269..22dd3e4 100644 --- a/docs/Models/Requests/PostUsersSignInDataUserPlexAccount.md +++ b/docs/Models/Requests/PostUsersSignInDataUserPlexAccount.md @@ -29,7 +29,7 @@ Returns the user account data with a valid auth token | `JoinedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `Locale` | *string* | :heavy_check_mark: | The account locale | | | `MailingListActive` | *bool* | :heavy_minus_sign: | If you are subscribed to the Plex newsletter | | -| `MailingListStatus` | [PostUsersSignInDataMailingListStatus](../../Models/Requests/PostUsersSignInDataMailingListStatus.md) | :heavy_check_mark: | Your current mailing list status | | +| `MailingListStatus` | [PostUsersSignInDataMailingListStatus](../../Models/Requests/PostUsersSignInDataMailingListStatus.md) | :heavy_check_mark: | Your current mailing list status (active or unsubscribed) | active | | `MaxHomeSize` | *int* | :heavy_check_mark: | The maximum number of accounts allowed in the Plex Home | 15 | | ~~`Pin`~~ | *string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

[Might be removed] The hashed Plex Home PIN | | | `Profile` | [PostUsersSignInDataUserProfile](../../Models/Requests/PostUsersSignInDataUserProfile.md) | :heavy_check_mark: | N/A | | diff --git a/docs/sdks/plex/README.md b/docs/sdks/plex/README.md index 53f732b..6643d71 100644 --- a/docs/sdks/plex/README.md +++ b/docs/sdks/plex/README.md @@ -296,17 +296,21 @@ var sdk = new PlexAPI( deviceName: "Linux" ); -var res = await sdk.Plex.GetTokenByPinIdAsync(pinID: 408895); +GetTokenByPinIdRequest req = new GetTokenByPinIdRequest() { + PinID = 408895, +}; + +var res = await sdk.Plex.GetTokenByPinIdAsync(req); // handle response ``` ### Parameters -| Parameter | Type | Required | Description | -| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | -| `PinID` | *long* | :heavy_check_mark: | The PinID to retrieve an access token for | -| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `request` | [GetTokenByPinIdRequest](../../Models/Requests/GetTokenByPinIdRequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | ### Response diff --git a/docs/sdks/plexapi/README.md b/docs/sdks/plexapi/README.md index 2fd26ab..0821a84 100644 --- a/docs/sdks/plexapi/README.md +++ b/docs/sdks/plexapi/README.md @@ -2,4 +2,27 @@ ## Overview -Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server \ No newline at end of file +# Plex Media Server OpenAPI Specification + +An Open Source OpenAPI Specification for Plex Media Server + +Automation and SDKs provided by [Speakeasy](https://speakeasyapi.dev/) + +## Documentation + +[API Documentation](https://plexapi.dev) + +## SDKs + +The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the respective repository. + +| Language | Repository | Releases | Other | +| --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- | +| Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) | - | +| JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) | - | +| Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) | +| Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - | +| Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - | +| PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - | +| Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - | +| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | -