deepgram-go-management-api

bởi deepgram

Sử dụng khi viết hoặc xem xét mã Go trong repo này hoạt động với các endpoint quản lý Deepgram cho projects, keys, members, scopes, invitations, usage,…

npx skills add https://github.com/deepgram/deepgram-go-sdk --skill deepgram-go-management-api

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.

export DEEPGRAM_API_KEY="your_api_key"

Quick start

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:

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).