deepgram-rust-management-api
by deepgram
Use when implementing Deepgram project, key, member, scope, billing, invitation, or usage operations from the Rust SDK, including manage feature flags and the…
npx skills add https://github.com/deepgram/deepgram-rust-sdk --skill deepgram-rust-management-apiUsing Deepgram Management API (Rust SDK)
Use this skill for project/account administration against Deepgram's Manage APIs.
When to use this product
- Listing or updating projects.
- Managing project API keys, members, scopes, invitations, balances, and usage.
- Explaining which admin surfaces are available in the current crate.
Authentication
For a management-only install:
[dependencies]
deepgram = { version = "0.10.0", default-features = false, features = ["manage"] }
tokio = { version = "1", features = ["full"] }
let dg = deepgram::Deepgram::new(std::env::var("DEEPGRAM_API_KEY")?)?;
- Manage APIs require a regular API key with
Tokenauth. - Temporary auth tokens created via
auth().grant(...)do not work for Manage APIs.
Quick start
Quick start: projects + usage
use deepgram::{
manage::{projects::options::Options as ProjectOptions, usage::get_usage_options},
Deepgram,
};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let api_key = std::env::var("DEEPGRAM_API_KEY")?;
let project_id = std::env::var("DEEPGRAM_PROJECT_ID")?;
let dg = Deepgram::new(&api_key)?;
let projects = dg.projects().list().await?;
println!("{projects:#?}");
let project = dg.projects().get(&project_id).await?;
println!("{project:#?}");
let update = ProjectOptions::builder()
.name("The Transcribinator")
.company("Doofenshmirtz Evil Incorporated")
.build();
let message = dg.projects().update(&project_id, &update).await?;
println!("{}", message.message);
let usage_options = get_usage_options::Options::builder().build();
let usage = dg.usage().get_usage(&project_id, &usage_options).await?;
println!("{usage:#?}");
Ok(())
}
Key parameters
- Project APIs:
projects().list(),get(project_id),update(project_id, &options),delete(project_id). - Key APIs:
keys().list(project_id),get(project_id, key_id),create(project_id, &options),delete(project_id, key_id). - Member APIs:
members().list_members(project_id),remove_member(project_id, member_id). - Scope APIs:
scopes().get_scope(project_id, member_id),update_scope(project_id, member_id, scope). - Billing APIs:
billing().list_balance(project_id),get_balance(project_id, balance_id). - Usage APIs:
usage().list_requests(...),get_request(...),get_usage(...),get_fields(...). - Invitation API:
invitations().leave_project(project_id).
API reference (layered)
- In-repo
src/manage/projects.rssrc/manage/keys.rssrc/manage/members.rssrc/manage/scopes.rssrc/manage/billing.rssrc/manage/usage.rssrc/manage/invitations.rsexamples/manage/*.rs
- OpenAPI
- Raw spec:
https://developers.deepgram.com/openapi.yaml - Examples:
https://developers.deepgram.com/reference/manage/usage/get,https://developers.deepgram.com/reference/manage/keys/list
- Raw spec:
- AsyncAPI
- Not applicable for the Rust crate's current management surface
- Context7
/llmstxt/developers_deepgram_llms_txt
- Product docs
https://developers.deepgram.com/reference/https://developers.deepgram.com/docs/create-additional-api-keys
Gotchas
- Use API keys, not temp tokens.
auth().grant(...)explicitly does not authorize Manage APIs. - Examples in
examples/manage/are useful, but source files are the source of truth. Prefersrc/manage/*.rswhen you need exact method names and return types. - Admin traffic stays on hosted Deepgram. Even with
with_base_url(...), billing/usage/key-management still targethttps://api.deepgram.com.
Example files in this repo
examples/manage/projects.rsexamples/manage/keys.rsexamples/manage/members.rsexamples/manage/scopes.rsexamples/manage/billing.rsexamples/manage/usage.rsexamples/manage/invitations.rs
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).