Skip to main content

deepgram-go-management-api

Use when writing or reviewing Go code in this repo that works with Deepgram management endpoints for projects, keys, members, scopes, invitations, usage, balances, models, reusable agent configurations, or agent variables. Route live voice runtime to deepgram-go-voice-agent and repo workflow questions to deepgram-go-maintaining-sdk.

Source facts

Repository
deepgram/deepgram-go-sdk
Last source activity
September 28, 2026 at 10:59
Detected SKILL.md language
English
Stars
92
Forks
61

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
deepgram-go-management-api
description
Use when writing or reviewing Go code in this repo that works with Deepgram management endpoints for projects, keys, members, scopes, invitations, usage, balances, models, reusable agent configurations, or agent variables. Route live voice runtime to deepgram-go-voice-agent and repo workflow questions to deepgram-go-maintaining-sdk.
# Using Deepgram Management API from the Go SDK ## When to use this product Use this skill for admin and account operations in `pkg/client/manage` and `pkg/api/manage/v1`. - projects - API keys - members and scopes - invitations - usage and request history - balances - model discovery - reusable agent configurations and their template variables Use a different skill when: - you need live voice sessions (`deepgram-go-voice-agent`) - you need SDK maintenance workflow (`deepgram-go-maintaining-sdk`) ## Authentication Set `DEEPGRAM_API_KEY` before constructing the management client. ```bash export DEEPGRAM_API_KEY="your_api_key" ``` ## Quick start ```go package main import ( "context" "fmt" "log" api "github.com/deepgram/deepgram-go-sdk/v3/pkg/api/manage/v1" manage "github.com/deepgram/deepgram-go-sdk/v3/pkg/client/manage" ) func main() { if err := run(); err != nil { log.Fatal(err) } } func run() error { ctx := context.Background() client := manage.NewWithDefaults() mg := api.New(client) projects, err := mg.ListProjects(ctx) if err != nil { return err } fmt.Println(projects) return nil } ``` ## Key parameters - constructors - `manage.NewWithDefaults()` - `manage.New(apiKey, options)` - common API groups in `pkg/api/manage/v1`, usually via `api.New(client)` - projects: `ListProjects`, `GetProject`, `UpdateProject`, `DeleteProject` - keys: `ListKeys`, `GetKey`, `CreateKey`, `DeleteKey` - members: `ListMembers`, `RemoveMember` - scopes: `GetMemberScopes`, `UpdateMemberScopes` - invitations: `ListInvitations`, `SendInvitation`, `DeleteInvitation`, `LeaveProject` - usage: `ListRequests`, `GetRequest`, `GetFields`, `GetUsage` - balances: `ListBalances`, `GetBalance` - models: `ListModels`, `GetModels`, `GetModel`, `ListProjectModels`, `GetProjectModels`, `GetProjectModel` - low-level escape hatch - `managev1.Client.APIRequest(...)` ## API reference (layered) 1. In-repo reference - `README.md` - `docs.go` - `pkg/client/manage/client.go` - `pkg/client/manage/v1/client.go` - `pkg/api/manage/v1/projects.go` - `pkg/api/manage/v1/keys.go` - `pkg/api/manage/v1/members.go` - `pkg/api/manage/v1/scopes.go` - `pkg/api/manage/v1/invitations.go` - `pkg/api/manage/v1/usage.go` - `pkg/api/manage/v1/balances.go` - `pkg/api/manage/v1/models.go` - `pkg/api/manage/v1/agents.go` - `pkg/api/manage/v1/agent-variables.go` 2. OpenAPI - `https://developers.deepgram.com/openapi.yaml` - Exception: for `agents.go` and `agent-variables.go`, the in-repo models are the source of truth, not the spec. The spec and the published API reference disagree with production on field names (`agent_uuid` / `agent_variable_uuid`, not `agent_id` / `variable_id`), on list responses (a bare JSON array, not `{"agents": [...]}`), and on the type of `config` (a JSON string, not an object). Agent `metadata` values are arbitrary JSON, so `Metadata` is `map[string]interface{}`, not `map[string]string` — narrowing it fails the decode of the entire response. The models here were captured from live responses; do not "correct" them back toward the spec. 3. AsyncAPI - `https://developers.deepgram.com/asyncapi.yaml` 4. Context7 - `/llmstxt/developers_deepgram_llms_txt` 5. Product docs - `https://developers.deepgram.com/reference/manage/projects/list` - `https://developers.deepgram.com/reference/manage/models/list` ## Gotchas 1. The management client is for account/admin APIs, not live Voice Agent runtime. 2. The repo exposes management operations from `pkg/api/manage/v1`; use `api.New(client)` before calling helpers like `ListProjects`. 3. For unsupported convenience helpers, fall back to `APIRequest(...)` rather than inventing a new transport layer. ## Example files in this repo - `examples/manage/projects/main.go` - `examples/manage/keys/main.go` - `examples/manage/models/main.go` - `examples/manage/usage/main.go` - `examples/manage/agents/main.go` ## Central product skills For cross-language Deepgram product knowledge — the consolidated API reference, documentation finder, focused runnable recipes, third-party integration examples, and MCP setup — install the central skills: ```bash npx skills add deepgram/skills ``` This SDK ships language-idiomatic code skills; `deepgram/skills` ships cross-language product knowledge (see `api`, `docs`, `recipes`, `examples`, `starters`, `setup-mcp`).
View on GitHub