deepgram-java-management-api
Use when writing or reviewing Java code in this repo that calls Deepgram Management APIs for projects, project models, API keys, members, invites, usage, and…
npx skills add https://github.com/deepgram/deepgram-java-sdk --skill deepgram-java-management-apiUsing Deepgram Management API (Java SDK)
Administrative REST APIs for project metadata, project-scoped resources, and model discovery.
When to use this product
- List or inspect projects.
- Manage project keys, members, invites, usage, or billing.
- Discover public or project-scoped STT/TTS models.
Use a different skill when:
- You want to run a live agent session →
deepgram-java-voice-agent. - You want speech/text inference rather than project administration → use the product skills for STT, TTS, or Read.
Authentication
import com.deepgram.DeepgramClient;
DeepgramClient client = DeepgramClient.builder()
.apiKey(System.getenv("DEEPGRAM_API_KEY"))
.build();
Management endpoints require API-key auth. Temporary JWTs from auth().v1().tokens().grant() do not work for Manage APIs.
Quick start — projects
import com.deepgram.types.ListProjectsV1Response;
import com.deepgram.types.ListProjectsV1ResponseProjectsItem;
import java.util.Collections;
import java.util.List;
ListProjectsV1Response response = client.manage().v1().projects().list();
List<ListProjectsV1ResponseProjectsItem> projects = response.getProjects().orElse(Collections.emptyList());
for (ListProjectsV1ResponseProjectsItem project : projects) {
System.out.printf("%s (%s)%n",
project.getName().orElse("unnamed"),
project.getProjectId().orElse("unknown"));
}
Quick start — project models / keys
Pick a project from the list above. New accounts may have zero projects — guard against that before indexing.
if (projects.isEmpty()) {
throw new IllegalStateException("No Deepgram projects are visible to this API key.");
}
String projectId = projects.get(0).getProjectId().orElseThrow();
client.manage().v1().projects().models().list(projectId);
client.manage().v1().projects().keys().list(projectId);
client.manage().v1().projects().members().list(projectId);
client.manage().v1().projects().members().invites().list(projectId);
client.manage().v1().projects().usage().get(projectId);
client.manage().v1().projects().billing().balances().list(projectId);
Key parameters / API surface
- Top-level public models:
client.manage().v1().models().list()and.get(modelId) - Projects:
projects().list(),get(projectId),update(projectId, ...),delete(projectId),leave(projectId) - Keys:
projects().keys().list/create/get/delete - Members:
projects().members().list/delete - Invites:
projects().members().invites().list/create/delete - Project models:
projects().models().list(projectId) - Usage:
projects().usage().get(projectId) - Billing:
projects().billing().balances().list(projectId) - Requests:
projects().requests()subtree exists in the generated API surface - Agent think-model discovery:
client.agent().v1().settings().think().models().list() - Most clients expose
withRawResponse()alongside typed methods
API reference (layered)
- In-repo source of truth:
src/main/java/com/deepgram/resources/manage/v1/,src/main/java/com/deepgram/resources/agent/v1/settings/think/models/, andexamples/manage/. There is noreference.mdin this checkout. - Canonical OpenAPI: https://developers.deepgram.com/openapi.yaml
- Context7:
/llmstxt/developers_deepgram_llms_txt - Product docs:
Gotchas
- Use an API key, not a temporary JWT, for Manage APIs. The token-grant endpoint explicitly says those JWTs do not work here.
- Some example files are intentionally excluded from Gradle
compileExamples.manage/ListModels.java,manage/MemberPermissions.java, andmanage/UsageBreakdown.javaare currently excluded inbuild.gradle. - Many manage examples are read-only by default. Create/delete snippets are commented out to avoid destructive calls.
- Project-scoped model discovery and global model discovery are different.
models().list()returns public models;projects().models().list(projectId)returns what a project can use. - This checkout does not expose the Python-style persisted voice-agent configuration client. Do not promise
voice_agent.configurations.*here. - The SDK is highly nested. For invites, the path is
projects().members().invites(), not a top-levelinvites()client.
Example files in this repo
examples/manage/ListProjects.javaexamples/manage/ProjectModels.javaexamples/manage/ManageKeys.javaexamples/manage/ManageMembers.javaexamples/manage/ManageInvites.javaexamples/manage/GetUsage.javaexamples/manage/Billing.javaexamples/agent/ListModels.java
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).