deepgram/deepgram-dotnet-sdk · Archived

deepgram-dotnet-management-api

Use when writing or reviewing C# code in this repo that calls Deepgram Management APIs for projects, models, keys, members, invitations, usage, balances, and auth token grants.

First seen May 31, 2026

Installation

$ npx skills add deepgram/deepgram-dotnet-sdk --skill deepgram-dotnet-management-api

Summary

  • Use when writing or reviewing C# code in this repo that calls Deepgram Management APIs for projects, models, keys, members, invitations, usage, balances, and auth token grants.
  • Covers `ClientFactory.CreateManageClient()` and `ClientFactory.CreateAuthClient()`.
  • Unlike some other SDKs, this repo does not currently expose reusable Voice Agent configuration management endpoints.

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from deepgram/deepgram-dotnet-sdk.

npx skills add deepgram/deepgram-dotnet-sdk

Browse all from deepgram/deepgram-dotnet-sdk

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 54
License LICENSE
Default branch main
Open issues 13
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,548 B
  • docs SUMMARY.md 415 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 8 installs

SKILL.md

Using Deepgram Management API (.NET SDK)

Administrative REST endpoints for projects, models, API keys, members, invites, usage, balances, and auth token grants.

When to use this product

  • List or mutate projects.
  • List models or per-project model availability.
  • Manage keys, members, invites, scopes, usage, balances.
  • Mint short-lived bearer tokens with GrantToken().

Use a different skill when:

  • You want to run a live agent session → deepgram-dotnet-voice-agent.
  • You want STT/TTS rather than project administration.

Authentication

dotnet add package Deepgram
using Deepgram;

Library.Initialize();
var manageClient = ClientFactory.CreateManageClient();
var authClient = ClientFactory.CreateAuthClient();

Both factory calls read credentials from the DEEPGRAMAPIKEY (or DEEPGRAMACCESSTOKEN) environment variable by default. To pass them explicitly: ClientFactory.CreateManageClient(apiKey: "...", options: ...) / ClientFactory.CreateAuthClient(apiKey: "...", options: ...). DeepgramHttpClientOptions throws if neither the env var nor an explicit credential is provided.

Quick start — projects and models

using Deepgram.Models.Manage.v1;

var client = ClientFactory.CreateManageClient();

var projects = await client.GetProjects();
var projectId = projects.Projects[0].ProjectId;

var project = await client.GetProject(projectId);
var models = await client.GetModels(new ModelSchema { IncludeOutdated = true });
var projectModels = await client.GetProjectModels(projectId);

Quick start — keys / invites / members / usage

var client = ClientFactory.CreateManageClient();
var projectId = (await client.GetProjects()).Projects[0].ProjectId;

var key = await client.CreateKey(projectId, new KeySchema()
{
    Comment = "MyTestKey",
    Scopes = new List<string> { "member" },
});

await client.SendInvite(projectId, new InviteSchema()
{
    Email = "[email protected]",
    Scope = "member",
});

var members = await client.GetMembers(projectId);
var usage = await client.GetUsageRequests(projectId, new UsageRequestsSchema());
var balances = await client.GetBalances(projectId);

Quick start — auth token grant

using Deepgram.Models.Auth.v1;
using Deepgram.Models.Authenticate.v1;

var authClient = ClientFactory.CreateAuthClient();
var token = await authClient.GrantToken(new GrantTokenSchema
{
    TtlSeconds = 300,
});

var bearerOptions = new DeepgramHttpClientOptions(accessToken: token.AccessToken);
var prerecordClient = ClientFactory.CreateListenRESTClient(options: bearerOptions);

Key methods

Management:

  • GetProjects, GetProject, UpdateProject, DeleteProject, LeaveProject
  • GetModels, GetModel, GetProjectModels, GetProjectModel
  • GetKeys, GetKey, CreateKey, DeleteKey
  • GetInvites, SendInvite, DeleteInvite
  • GetMembers, GetMemberScopes, UpdateMemberScope, RemoveMember
  • GetUsageRequests, GetUsageRequest, GetUsageFields, GetUsageSummary
  • GetBalances, GetBalance

Auth:

  • GrantToken()
  • GrantToken(GrantTokenSchema)

References

Guard pattern for destructive operations

// 1. Verify the resource exists
var key = await client.GetKey(projectId, keyId);
Console.WriteLine($"Found key: {key.ApiKey.Comment} ({keyId})");

// 2. Delete
await client.DeleteKey(projectId, keyId);

// 3. Verify deletion succeeded
try
{
    await client.GetKey(projectId, keyId);
    Console.Error.WriteLine("ERROR: key still exists after deletion");
}
catch
{
    Console.WriteLine("Key deleted successfully.");
}

Gotchas

  1. This repo does not currently expose Voice Agent configuration CRUD. Do not copy Python client.voice_agent.configurations.* examples into C#.
  2. Destructive methods are irreversible. DeleteProject, DeleteKey, DeleteInvite, and RemoveMember should always use the verify-delete-verify pattern above.
  3. Bearer-token auth is supported. DeepgramHttpClientOptions prefers explicit accessToken over apiKey, then env vars in that order.
  4. Most sub-resources are project-scoped. Fetch a project ID first via GetProjects() before calling key/member/usage methods.

Example files in this repo

  • examples/manage/projects/Program.cs
  • examples/manage/models/Program.cs
  • examples/manage/keys/Program.cs
  • examples/manage/members/Program.cs
  • examples/manage/scopes/Program.cs
  • examples/manage/invitations/Program.cs
  • examples/manage/usage/Program.cs
  • examples/manage/balances/Program.cs
  • examples/auth/grant-token/Program.cs
  • examples/auth/bearer-token-workflow/Program.cs

Cross-language product knowledge (API reference, recipes, MCP setup): npx skills add deepgram/skills.