deepgram-rust-management-api
द्वारा deepgram
डीपग्राम प्रोजेक्ट, कुंजी, सदस्य, स्कोप, बिलिंग, आमंत्रण, या उपयोग संचालन को Rust SDK से लागू करते समय उपयोग करें, जिसमें फीचर फ्लैग प्रबंधित करना और…
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).