diff --git a/Deepgram/AuthClient.cs b/Deepgram/AuthClient.cs
new file mode 100644
index 00000000..3bf7a268
--- /dev/null
+++ b/Deepgram/AuthClient.cs
@@ -0,0 +1,19 @@
+// Copyright 2021-2024 Deepgram .NET SDK contributors. All Rights Reserved.
+// Use of this source code is governed by a MIT license that can be found in the LICENSE file.
+// SPDX-License-Identifier: MIT
+
+using Deepgram.Clients.Auth.v1;
+using Deepgram.Models.Authenticate.v1;
+
+namespace Deepgram;
+
+///
+/// Implements the latest supported version of the Auth Client.
+///
+public class AuthClient : Client
+{
+ public AuthClient(string apiKey = "", DeepgramHttpClientOptions? deepgramClientOptions = null,
+ string? httpId = null) : base(apiKey, deepgramClientOptions, httpId)
+ {
+ }
+}
diff --git a/Deepgram/ClientFactory.cs b/Deepgram/ClientFactory.cs
index 18c5bb65..a5f0b684 100644
--- a/Deepgram/ClientFactory.cs
+++ b/Deepgram/ClientFactory.cs
@@ -49,6 +49,18 @@ public static V2.IListenWebSocketClient CreateListenWebSocketClient(string apiKe
return new ListenWebSocketClient(apiKey, options);
}
+ ///
+ /// Create a new AuthClient
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static V1.IAuthClient CreateAuthClient(string apiKey = "", DeepgramHttpClientOptions? options = null, string? httpId = null)
+ {
+ return new AuthClient(apiKey, options, httpId);
+ }
+
///
/// Create a new ManageClient
///
diff --git a/Deepgram/Clients/Auth/v1/Client.cs b/Deepgram/Clients/Auth/v1/Client.cs
new file mode 100644
index 00000000..d6424e2a
--- /dev/null
+++ b/Deepgram/Clients/Auth/v1/Client.cs
@@ -0,0 +1,38 @@
+// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved.
+// Use of this source code is governed by a MIT license that can be found in the LICENSE file.
+// SPDX-License-Identifier: MIT
+
+using Deepgram.Models.Authenticate.v1;
+using Deepgram.Models.Auth.v1;
+using Deepgram.Clients.Interfaces.v1;
+using Deepgram.Abstractions.v1;
+
+namespace Deepgram.Clients.Auth.v1;
+
+///
+/// Implements version 1 of the Models Client.
+///
+/// Required DeepgramApiKey
+/// for HttpClient Configuration
+public class Client(string? apiKey = null, IDeepgramClientOptions? deepgramClientOptions = null, string? httpId = null)
+ : AbstractRestClient(apiKey, deepgramClientOptions, httpId), IAuthClient
+{
+ ///
+ /// Gets a temporary JWT for the Deepgram API.
+ ///
+ ///
+ public async Task GrantToken(CancellationTokenSource? cancellationToken = default,
+ Dictionary? addons = null, Dictionary? headers = null)
+ {
+ Log.Verbose("AuthClient.GrantToken", "ENTER");
+
+ var uri = GetUri(_options, $"auth/{UriSegments.GRANTTOKEN}");
+ var result = await PostAsync