| Method | Endpoint | Description |
|---|---|---|
| GET | /byok | Get BYOK configurations |
| POST | /byok | Add BYOK configuration |
| DELETE | /byok | Delete BYOK configuration |
| GET | /byok/config | Get provider configurations |
| Provider | Category | Description |
|---|---|---|
deepgram | STT | Speech-to-Text (transcription) |
openai | LLM | Large Language Model (GPT) |
elevenlabs | TTS | Text-to-Speech |
xai | Realtime Voice | xAI Realtime Voice API |
resend | Email notifications |
GET /byok{
"byok_keys": {
"deepgram_secret_id": "vault-secret-id-1",
"openai_secret_id": "vault-secret-id-2",
"elevenlabs_secret_id": null,
"xai_secret_id": null,
"resend_secret_id": null
}
}byok_keys - Object containing vault secret IDs for each providerPOST /byok| Field | Type | Required | Description |
|---|---|---|---|
provider | string | Yes | Provider ID: deepgram, openai, elevenlabs, xai, or resend |
api_key | string | Yes | API key for the provider |
{
"success": true,
"byok_keys": {
"deepgram_secret_id": "vault-secret-id-1",
"openai_secret_id": "vault-secret-id-new",
"elevenlabs_secret_id": null,
"xai_secret_id": null,
"resend_secret_id": null
}
}DELETE /byok| Field | Type | Required | Description |
|---|---|---|---|
provider | string | Yes | Provider to remove |
{
"success": true,
"byok_keys": {
"deepgram_secret_id": "vault-secret-id-1",
"openai_secret_id": null,
"elevenlabs_secret_id": null,
"xai_secret_id": null,
"resend_secret_id": null
}
}GET /byok/config{
"providers": [
{
"id": "deepgram",
"name": "Deepgram",
"category": "stt",
"docsUrl": "https://developers.deepgram.com/",
"models": [
{
"id": "nova-3-general",
"name": "Nova 3 General",
"default": true
}
]
},
{
"id": "openai",
"name": "OpenAI",
"category": "llm",
"docsUrl": "https://platform.openai.com/docs",
"models": [
{
"id": "gpt-4o-mini",
"name": "GPT-4o Mini",
"default": true
},
{
"id": "gpt-4o",
"name": "GPT-4o",
"default": false
}
]
},
{
"id": "elevenlabs",
"name": "ElevenLabs",
"category": "tts",
"docsUrl": "https://elevenlabs.io/docs",
"models": [
{
"id": "eleven_flash_v2_5",
"name": "Flash v2.5",
"default": true
}
]
},
{
"id": "xai",
"name": "xAI",
"category": "realtime",
"docsUrl": "https://docs.x.ai/docs",
"models": [
{
"id": "grok-beta-realtime",
"name": "Grok Beta Realtime",
"default": true
}
],
"voices": [
{ "id": "alloy", "name": "Alloy" },
{ "id": "echo", "name": "Echo" },
{ "id": "shimmer", "name": "Shimmer" }
]
},
{
"id": "resend",
"name": "Resend",
"category": "email",
"docsUrl": "https://resend.com/docs",
"models": []
}
]
}providers - Array of available BYOK providersid - Provider identifier used in API callscategory - Provider category (stt, llm, tts, realtime, email)docsUrl - Link to provider's official documentationmodels - Available models for the provider (if applicable)voices - Available voices (only for xAI Realtime){
"name": "My Agent",
"llm_provider": "openai",
"model": "gpt-4o",
"tts_provider": "elevenlabs",
"tts_model": "eleven_flash_v2_5"
}