diff --git a/src/libs/SoundCloud/Generated/SoundCloud.IOauthClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.IOauthClient.Authorizations.OAuth.g.cs
new file mode 100644
index 0000000..baa4dbf
--- /dev/null
+++ b/src/libs/SoundCloud/Generated/SoundCloud.IOauthClient.Authorizations.OAuth.g.cs
@@ -0,0 +1,16 @@
+
+#nullable enable
+
+namespace SoundCloud
+{
+ public partial interface IOauthClient
+ {
+ ///
+ /// Authorize using OAuth authentication.
+ ///
+ ///
+
+ public void AuthorizeUsingOAuth(
+ string apiKey);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/SoundCloud/Generated/SoundCloud.IOauthClient.RevokesOAuthAccessForTheCallingApplication.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.IOauthClient.RevokesOAuthAccessForTheCallingApplication.g.cs
new file mode 100644
index 0000000..7e97326
--- /dev/null
+++ b/src/libs/SoundCloud/Generated/SoundCloud.IOauthClient.RevokesOAuthAccessForTheCallingApplication.g.cs
@@ -0,0 +1,30 @@
+#nullable enable
+
+namespace SoundCloud
+{
+ public partial interface IOauthClient
+ {
+ ///
+ /// Revokes OAuth access for the calling application.
+ /// Invalidates access tokens for the client application that issued the current access token.
+ /// Returns 400 if disconnect is not supported for the current token.
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task RevokesOAuthAccessForTheCallingApplicationAsync(
+ global::SoundCloud.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ ///
+ /// Revokes OAuth access for the calling application.
+ /// Invalidates access tokens for the client application that issued the current access token.
+ /// Returns 400 if disconnect is not supported for the current token.
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task RevokesOAuthAccessForTheCallingApplicationAsResponseAsync(
+ global::SoundCloud.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/SoundCloud/Generated/SoundCloud.IOauthClient.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.IOauthClient.g.cs
new file mode 100644
index 0000000..b6db90b
--- /dev/null
+++ b/src/libs/SoundCloud/Generated/SoundCloud.IOauthClient.g.cs
@@ -0,0 +1,49 @@
+
+#nullable enable
+
+namespace SoundCloud
+{
+ ///
+ /// Authentication and Authorization Endpoints.
+ /// If no httpClient is provided, a new one will be created.
+ /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used.
+ ///
+ public partial interface IOauthClient : global::System.IDisposable
+ {
+ ///
+ /// The HttpClient instance.
+ ///
+ public global::System.Net.Http.HttpClient HttpClient { get; }
+
+ ///
+ /// The base URL for the API.
+ ///
+ public System.Uri? BaseUri { get; }
+
+ ///
+ /// The authorizations to use for the requests.
+ ///
+ public global::System.Collections.Generic.List Authorizations { get; }
+
+ ///
+ /// Gets or sets a value indicating whether the response content should be read as a string.
+ /// True by default in debug builds, false otherwise.
+ /// When false, successful responses are deserialized directly from the response stream for better performance.
+ /// Error responses are always read as strings regardless of this setting,
+ /// ensuring is populated.
+ ///
+ public bool ReadResponseAsString { get; set; }
+ ///
+ /// Client-wide request defaults such as headers, query parameters, retries, and timeout.
+ ///
+ public global::SoundCloud.AutoSDKClientOptions Options { get; }
+
+
+ ///
+ ///
+ ///
+ global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; }
+
+
+ }
+}
\ No newline at end of file
diff --git a/src/libs/SoundCloud/Generated/SoundCloud.ISoundCloudClient.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.ISoundCloudClient.g.cs
index fd2a64c..c4cffe7 100644
--- a/src/libs/SoundCloud/Generated/SoundCloud.ISoundCloudClient.g.cs
+++ b/src/libs/SoundCloud/Generated/SoundCloud.ISoundCloudClient.g.cs
@@ -61,6 +61,11 @@ public partial interface ISoundCloudClient : global::System.IDisposable
///
public MiscellaneousClient Miscellaneous { get; }
+ ///
+ /// Authentication and Authorization Endpoints.
+ ///
+ public OauthClient Oauth { get; }
+
///
/// Playlists Endpoints.
///
@@ -76,6 +81,11 @@ public partial interface ISoundCloudClient : global::System.IDisposable
///
public SearchClient Search { get; }
+ ///
+ /// System Playlists Endpoints (e.g. track stations, artist stations).
+ ///
+ public SystemPlaylistsClient SystemPlaylists { get; }
+
///
/// Tracks Endpoints.
///
diff --git a/src/libs/SoundCloud/Generated/SoundCloud.ISystemPlaylistsClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.ISystemPlaylistsClient.Authorizations.OAuth.g.cs
new file mode 100644
index 0000000..987cb43
--- /dev/null
+++ b/src/libs/SoundCloud/Generated/SoundCloud.ISystemPlaylistsClient.Authorizations.OAuth.g.cs
@@ -0,0 +1,16 @@
+
+#nullable enable
+
+namespace SoundCloud
+{
+ public partial interface ISystemPlaylistsClient
+ {
+ ///
+ /// Authorize using OAuth authentication.
+ ///
+ ///
+
+ public void AuthorizeUsingOAuth(
+ string apiKey);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/SoundCloud/Generated/SoundCloud.ISystemPlaylistsClient.ReturnsASystemPlaylist.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.ISystemPlaylistsClient.ReturnsASystemPlaylist.g.cs
new file mode 100644
index 0000000..e75a073
--- /dev/null
+++ b/src/libs/SoundCloud/Generated/SoundCloud.ISystemPlaylistsClient.ReturnsASystemPlaylist.g.cs
@@ -0,0 +1,38 @@
+#nullable enable
+
+namespace SoundCloud
+{
+ public partial interface ISystemPlaylistsClient
+ {
+ ///
+ /// Returns a system playlist.
+ ///
+ ///
+ ///
+ /// Default Value: playable,preview
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task ReturnsASystemPlaylistAsync(
+ string id,
+ global::System.Collections.Generic.IList? access = default,
+ global::SoundCloud.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ ///
+ /// Returns a system playlist.
+ ///
+ ///
+ ///
+ /// Default Value: playable,preview
+ ///
+ /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.
+ /// The token to cancel the operation with
+ ///
+ global::System.Threading.Tasks.Task> ReturnsASystemPlaylistAsResponseAsync(
+ string id,
+ global::System.Collections.Generic.IList? access = default,
+ global::SoundCloud.AutoSDKRequestOptions? requestOptions = default,
+ global::System.Threading.CancellationToken cancellationToken = default);
+ }
+}
\ No newline at end of file
diff --git a/src/libs/SoundCloud/Generated/SoundCloud.ISystemPlaylistsClient.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.ISystemPlaylistsClient.g.cs
new file mode 100644
index 0000000..ac01bb7
--- /dev/null
+++ b/src/libs/SoundCloud/Generated/SoundCloud.ISystemPlaylistsClient.g.cs
@@ -0,0 +1,49 @@
+
+#nullable enable
+
+namespace SoundCloud
+{
+ ///
+ /// System Playlists Endpoints (e.g. track stations, artist stations).
+ /// If no httpClient is provided, a new one will be created.
+ /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used.
+ ///
+ public partial interface ISystemPlaylistsClient : global::System.IDisposable
+ {
+ ///
+ /// The HttpClient instance.
+ ///
+ public global::System.Net.Http.HttpClient HttpClient { get; }
+
+ ///
+ /// The base URL for the API.
+ ///
+ public System.Uri? BaseUri { get; }
+
+ ///
+ /// The authorizations to use for the requests.
+ ///
+ public global::System.Collections.Generic.List Authorizations { get; }
+
+ ///
+ /// Gets or sets a value indicating whether the response content should be read as a string.
+ /// True by default in debug builds, false otherwise.
+ /// When false, successful responses are deserialized directly from the response stream for better performance.
+ /// Error responses are always read as strings regardless of this setting,
+ /// ensuring is populated.
+ ///
+ public bool ReadResponseAsString { get; set; }
+ ///
+ /// Client-wide request defaults such as headers, query parameters, retries, and timeout.
+ ///
+ public global::SoundCloud.AutoSDKClientOptions Options { get; }
+
+
+ ///
+ ///
+ ///
+ global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; }
+
+
+ }
+}
\ No newline at end of file
diff --git a/src/libs/SoundCloud/Generated/SoundCloud.JsonConverters.GetSystemPlaylistsAcces.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.JsonConverters.GetSystemPlaylistsAcces.g.cs
new file mode 100644
index 0000000..42fc219
--- /dev/null
+++ b/src/libs/SoundCloud/Generated/SoundCloud.JsonConverters.GetSystemPlaylistsAcces.g.cs
@@ -0,0 +1,53 @@
+#nullable enable
+
+namespace SoundCloud.JsonConverters
+{
+ ///
+ public sealed class GetSystemPlaylistsAccesJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::SoundCloud.GetSystemPlaylistsAcces Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::SoundCloud.GetSystemPlaylistsAccesExtensions.ToEnum(stringValue) ?? default;
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::SoundCloud.GetSystemPlaylistsAcces)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::SoundCloud.GetSystemPlaylistsAcces);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::SoundCloud.GetSystemPlaylistsAcces value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ writer.WriteStringValue(global::SoundCloud.GetSystemPlaylistsAccesExtensions.ToValueString(value));
+ }
+ }
+}
diff --git a/src/libs/SoundCloud/Generated/SoundCloud.JsonConverters.GetSystemPlaylistsAccesNullable.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.JsonConverters.GetSystemPlaylistsAccesNullable.g.cs
new file mode 100644
index 0000000..7cbcf23
--- /dev/null
+++ b/src/libs/SoundCloud/Generated/SoundCloud.JsonConverters.GetSystemPlaylistsAccesNullable.g.cs
@@ -0,0 +1,60 @@
+#nullable enable
+
+namespace SoundCloud.JsonConverters
+{
+ ///
+ public sealed class GetSystemPlaylistsAccesNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter
+ {
+ ///
+ public override global::SoundCloud.GetSystemPlaylistsAcces? Read(
+ ref global::System.Text.Json.Utf8JsonReader reader,
+ global::System.Type typeToConvert,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ switch (reader.TokenType)
+ {
+ case global::System.Text.Json.JsonTokenType.String:
+ {
+ var stringValue = reader.GetString();
+ if (stringValue != null)
+ {
+ return global::SoundCloud.GetSystemPlaylistsAccesExtensions.ToEnum(stringValue);
+ }
+
+ break;
+ }
+ case global::System.Text.Json.JsonTokenType.Number:
+ {
+ var numValue = reader.GetInt32();
+ return (global::SoundCloud.GetSystemPlaylistsAcces)numValue;
+ }
+ case global::System.Text.Json.JsonTokenType.Null:
+ {
+ return default(global::SoundCloud.GetSystemPlaylistsAcces?);
+ }
+ default:
+ throw new global::System.ArgumentOutOfRangeException(nameof(reader));
+ }
+
+ return default;
+ }
+
+ ///
+ public override void Write(
+ global::System.Text.Json.Utf8JsonWriter writer,
+ global::SoundCloud.GetSystemPlaylistsAcces? value,
+ global::System.Text.Json.JsonSerializerOptions options)
+ {
+ writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer));
+
+ if (value == null)
+ {
+ writer.WriteNullValue();
+ }
+ else
+ {
+ writer.WriteStringValue(global::SoundCloud.GetSystemPlaylistsAccesExtensions.ToValueString(value.Value));
+ }
+ }
+ }
+}
diff --git a/src/libs/SoundCloud/Generated/SoundCloud.JsonSerializerContext.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.JsonSerializerContext.g.cs
index 2919455..cab7c1a 100644
--- a/src/libs/SoundCloud/Generated/SoundCloud.JsonSerializerContext.g.cs
+++ b/src/libs/SoundCloud/Generated/SoundCloud.JsonSerializerContext.g.cs
@@ -141,6 +141,10 @@ namespace SoundCloud
typeof(global::SoundCloud.JsonConverters.GetTracksRelatedAccesNullableJsonConverter),
+ typeof(global::SoundCloud.JsonConverters.GetSystemPlaylistsAccesJsonConverter),
+
+ typeof(global::SoundCloud.JsonConverters.GetSystemPlaylistsAccesNullableJsonConverter),
+
typeof(global::SoundCloud.JsonConverters.GetUsersPlaylistsAccesJsonConverter),
typeof(global::SoundCloud.JsonConverters.GetUsersPlaylistsAccesNullableJsonConverter),
@@ -276,6 +280,7 @@ namespace SoundCloud
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Playlist), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf