curl --request POST \
--url https://api.zeroruntime.ai/v1/agents \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Support Agent",
"defaultLanguage": "english",
"languages": {
"english": {
"prompt": "You are a support agent for an online store. Keep replies to one or two sentences.",
"greeting": {
"text": "Hi! How can I help you today?",
"interruptible": false
},
"stt": [
{
"model": "deepgram/nova-3-general"
}
],
"llm": [
{
"model": "google/gemini-3.5-flash"
}
],
"tts": [
{
"model": "cartesia/sonic-3",
"voice": "faf0731e-dfb9-4cfc-8119-259a79b27e12"
}
],
"turnDetection": {
"model": "videosdk/echo-large",
"mode": "adaptive",
"minWaitSeconds": 0.5,
"maxWaitSeconds": 3
},
"wakeUp": {
"enabled": true,
"afterSeconds": 10,
"message": "Are you still there?"
},
"endCall": {
"enabled": true,
"when": "the customer says goodbye or confirms the issue is resolved",
"message": "Thanks for calling. Have a great day!"
}
}
},
"voiceProcessing": {
"vad": {
"sensitivity": "medium",
"minSilenceDuration": 0.4
},
"interruption": {
"mode": "hybrid",
"minDuration": 0.3,
"minWords": 2
},
"noiseCancellation": {
"model": "aicoustics/quail-l-16khz"
}
},
"callSummary": {
"enabled": true,
"llm": {
"model": "google/gemini-3.5-flash"
},
"instruction": "Summarise the call in three bullets.",
"webhook": {
"url": "https://example.com/hooks/call-summary"
}
}
}
'{
"agentId": "ag_7f2c91",
"name": "Support Agent",
"status": "active",
"deploymentId": "dp_44b1e0",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"versionId": "cm_31d0ba",
"config": {
"name": "Support Agent",
"languages": {
"english": {
"prompt": "You are a support agent for an online store. Keep replies to one or two sentences.",
"greeting": {
"text": "Hi! How can I help you today?",
"interruptible": false
},
"stt": [
{
"model": "deepgram/nova-3-general",
"language": "en"
}
],
"llm": [
{
"model": "openai/gpt-4o",
"apiKey": "••••••••••••••••AbCd"
}
],
"tts": [
{
"model": "cartesia/sonic-3",
"voice": "faf0731e-dfb9-4cfc-8119-259a79b27e12"
}
]
}
},
"defaultLanguage": "english",
"voiceProcessing": {
"vad": {
"sensitivity": "low",
"threshold": 0.5,
"minSpeechDuration": 1,
"minSilenceDuration": 1
},
"interruption": {
"mode": "hybrid",
"minDuration": 1,
"minWords": 1
},
"noiseCancellation": {
"model": "aicoustics/quail-l-16khz",
"provider": "<string>"
}
},
"knowledgeBaseIds": [
"<string>"
],
"callSummary": {
"enabled": true,
"llm": {
"model": "cartesia/sonic-3",
"voice": "<string>",
"language": "<string>",
"apiKey": "sk-proj-…"
},
"instruction": "<string>",
"webhook": {
"url": "<string>"
}
},
"tools": [
"<string>"
],
"advanced": {}
},
"playgroundUrl": "https://playground.videosdk.live/cli?token=eyJhbGciOi…&agentId=ag_7f2c91"
}{
"status": "error",
"errors": [
{
"path": "languages.english.tts[0].voice",
"code": "UNKNOWN_VOICE",
"message": "Sonic 3 has no voice called \"jacqueline\". Pick one from its voice list."
}
]
}{
"error": "<string>"
}Create agent
Creates an agent with its first version and deploys it to the default region. The whole config is validated first, so every problem comes back at once.
Open playgroundUrl from the response to talk to your agent in the browser. The link carries your API token, so don’t share it.
curl --request POST \
--url https://api.zeroruntime.ai/v1/agents \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Support Agent",
"defaultLanguage": "english",
"languages": {
"english": {
"prompt": "You are a support agent for an online store. Keep replies to one or two sentences.",
"greeting": {
"text": "Hi! How can I help you today?",
"interruptible": false
},
"stt": [
{
"model": "deepgram/nova-3-general"
}
],
"llm": [
{
"model": "google/gemini-3.5-flash"
}
],
"tts": [
{
"model": "cartesia/sonic-3",
"voice": "faf0731e-dfb9-4cfc-8119-259a79b27e12"
}
],
"turnDetection": {
"model": "videosdk/echo-large",
"mode": "adaptive",
"minWaitSeconds": 0.5,
"maxWaitSeconds": 3
},
"wakeUp": {
"enabled": true,
"afterSeconds": 10,
"message": "Are you still there?"
},
"endCall": {
"enabled": true,
"when": "the customer says goodbye or confirms the issue is resolved",
"message": "Thanks for calling. Have a great day!"
}
}
},
"voiceProcessing": {
"vad": {
"sensitivity": "medium",
"minSilenceDuration": 0.4
},
"interruption": {
"mode": "hybrid",
"minDuration": 0.3,
"minWords": 2
},
"noiseCancellation": {
"model": "aicoustics/quail-l-16khz"
}
},
"callSummary": {
"enabled": true,
"llm": {
"model": "google/gemini-3.5-flash"
},
"instruction": "Summarise the call in three bullets.",
"webhook": {
"url": "https://example.com/hooks/call-summary"
}
}
}
'{
"agentId": "ag_7f2c91",
"name": "Support Agent",
"status": "active",
"deploymentId": "dp_44b1e0",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"versionId": "cm_31d0ba",
"config": {
"name": "Support Agent",
"languages": {
"english": {
"prompt": "You are a support agent for an online store. Keep replies to one or two sentences.",
"greeting": {
"text": "Hi! How can I help you today?",
"interruptible": false
},
"stt": [
{
"model": "deepgram/nova-3-general",
"language": "en"
}
],
"llm": [
{
"model": "openai/gpt-4o",
"apiKey": "••••••••••••••••AbCd"
}
],
"tts": [
{
"model": "cartesia/sonic-3",
"voice": "faf0731e-dfb9-4cfc-8119-259a79b27e12"
}
]
}
},
"defaultLanguage": "english",
"voiceProcessing": {
"vad": {
"sensitivity": "low",
"threshold": 0.5,
"minSpeechDuration": 1,
"minSilenceDuration": 1
},
"interruption": {
"mode": "hybrid",
"minDuration": 1,
"minWords": 1
},
"noiseCancellation": {
"model": "aicoustics/quail-l-16khz",
"provider": "<string>"
}
},
"knowledgeBaseIds": [
"<string>"
],
"callSummary": {
"enabled": true,
"llm": {
"model": "cartesia/sonic-3",
"voice": "<string>",
"language": "<string>",
"apiKey": "sk-proj-…"
},
"instruction": "<string>",
"webhook": {
"url": "<string>"
}
},
"tools": [
"<string>"
],
"advanced": {}
},
"playgroundUrl": "https://playground.videosdk.live/cli?token=eyJhbGciOi…&agentId=ag_7f2c91"
}{
"status": "error",
"errors": [
{
"path": "languages.english.tts[0].voice",
"code": "UNKNOWN_VOICE",
"message": "Sonic 3 has no voice called \"jacqueline\". Pick one from its voice list."
}
]
}{
"error": "<string>"
}Authorizations
Your API token, sent raw (no Bearer prefix).
Body
"Support Agent"
Keyed by language name (english, hindi, …). Holds everything that varies by language.
Show child attributes
Show child attributes
{
"english": {
"prompt": "You are a support agent for an online store. Keep replies to one or two sentences.",
"greeting": {
"text": "Hi! How can I help you today?",
"interruptible": false
},
"stt": [
{
"model": "deepgram/nova-3-general",
"language": "en"
}
],
"llm": [
{
"model": "openai/gpt-4o",
"apiKey": "••••••••••••••••AbCd"
}
],
"tts": [
{
"model": "cartesia/sonic-3",
"voice": "faf0731e-dfb9-4cfc-8119-259a79b27e12"
}
]
}
}
A language name, any casing.
"english"
Shared by every language.
Show child attributes
Show child attributes
Ids of the knowledge bases the agent answers from. An update replaces the list, so leaving it out removes them all.
Show child attributes
Show child attributes
Ids of the tools the agent can call. An update replaces the list, so leaving it out removes them all.
Response
Agent created and its first version deployed.
"ag_7f2c91"
"Support Agent"
active once deployed. A new agent stays inactive only if its first deploy couldn't run, for example when the account has no active API key. Call Deploy agent yourself then.
inactive, active "active"
"dp_44b1e0"
"cm_31d0ba"
The config as stored, with names resolved.
Show child attributes
Show child attributes
Opens the new agent in the playground, signed in with the token you called with. Returned on create only.
"https://playground.videosdk.live/cli?token=eyJhbGciOi…&agentId=ag_7f2c91"