Skip to main content
PUT
Replace a voice agent

Authorizations

Authorization
string
header
required

HTTP Basic Authentication. Use your API Access Key ID as the username and your API Access Key Secret as the password. Generate keys in the CloudTalk Dashboard under Account -> Settings -> API Keys (https://dashboard.cloudtalk.io/menu/account/settings/API-keys).

Path Parameters

voiceAgentId
string
required

Voice agent identifier

Body

application/json
agentName
string
required

Name of the agent

Maximum string length: 255
Example:

"Receptionist"

defaultOutboundNumberId
integer<int64> | null
required

Outbound caller id; null selects Automatic Outbound and then requires failoverOutboundNumberId

Example:

73836

direction
enum<string>
required

Call direction the agent serves

Available options:
inbound,
outbound
Example:

"inbound"

goalPrompt
string
required

What the agent is supposed to achieve

Maximum string length: 20000
language
string
required

Primary language code; rejected with 422 and the detail code LANGUAGE_NOT_SUPPORTED when no provider serves it or the agent's provider (the sent one, or the stored one on replace) does not

Maximum string length: 16
Example:

"en"

maxCallDurationMinutes
integer<int64>
required

Hard cap on one call

Required range: 1 <= x <= 180
Example:

30

optimizeStreamingLatency
integer<int64>
required

Latency optimisation level

Required range: 0 <= x <= 4
similarity
number<double>
required

Voice similarity boost

Required range: 0 <= x <= 1
stability
number<double>
required

Voice stability

Required range: 0 <= x <= 1
temperature
number<double>
required

Creativity of the agent's replies

Required range: 0 <= x <= 1
voiceId
string
required

Voice the agent speaks with

Maximum string length: 64
Example:

"cgSgspJ2msm6clMCkdW9"

dialTimeoutSeconds
integer<int64> | null

Ring timeout; null uses the provider default

Required range: 5 <= x <= 120
elevenLabsSettings
object | null

Provider turn-taking and audio tuning

failoverOutboundNumberId
integer<int64> | null

Number used when Automatic Outbound cannot pick one; required with, and only allowed with, Automatic Outbound (defaultOutboundNumberId null)

Example:

73836

greeting
string

Opening line; required for inbound agents

Maximum string length: 2000
guardrails
object[] | null

Topics the agent must avoid

Maximum array length: 50
isAgentSpeakingFirst
boolean | null

Whether the agent speaks first; omitted means true for inbound and false for outbound

knowledgeBaseIds
string[] | null

Knowledge bases the agent answers from

Maximum array length: 100
llm
enum<string> | null

Model the agent runs on, by canonical id; null on a read when the agent has none set. Omitted on create means the optimized one; omitted on replace keeps the stored value. A model the provider does not offer is rejected with 422 and the detail code LLM_OVERRIDE_NOT_AVAILABLE_FOR_PROVIDER at target llm

Available options:
openai - gpt-4o-mini,
openai - gpt-4o,
openai - gpt-4.1,
openai - gpt-4.1-mini,
openai - gpt-4.1-nano,
openai - gpt-5,
openai - gpt-5-mini,
openai - gpt-5-nano,
openai - gpt-5.1,
openai - gpt-5.2,
openai - gpt-5.4,
openai - gpt-5.4-mini,
openai - gpt-5.4-nano,
openai - gpt-5.5,
anthropic - claude-haiku-4-5,
anthropic - claude-sonnet-4-5,
anthropic - claude-sonnet-4-6,
google - gemini-2.5-flash,
google - gemini-2.5-flash-lite,
google - gemini-3-flash-preview,
google - gemini-3.1-flash-lite,
google - gemini-3.5-flash,
google - gemini-3.6-flash,
qwen - qwen36-35b-a3b,
qwen - qwen35-397b-a17b,
null
Maximum string length: 100
Example:

"openai - gpt-4o-mini"

llmOverride
enum<string> | null
deprecated

Deprecated alias of llm. On a read, the agent's legacy pinned model until its next save moves it into llm, else null. On a write it wins over llm when both are sent

Available options:
openai - gpt-4o-mini,
openai - gpt-4o,
openai - gpt-4.1,
openai - gpt-4.1-mini,
openai - gpt-4.1-nano,
openai - gpt-5,
openai - gpt-5-mini,
openai - gpt-5-nano,
openai - gpt-5.1,
openai - gpt-5.2,
openai - gpt-5.4,
openai - gpt-5.4-mini,
openai - gpt-5.4-nano,
openai - gpt-5.5,
anthropic - claude-haiku-4-5,
anthropic - claude-sonnet-4-5,
anthropic - claude-sonnet-4-6,
google - gemini-2.5-flash,
google - gemini-2.5-flash-lite,
google - gemini-3-flash-preview,
google - gemini-3.1-flash-lite,
google - gemini-3.5-flash,
google - gemini-3.6-flash,
qwen - qwen36-35b-a3b,
qwen - qwen35-397b-a17b,
null
Maximum string length: 100
minorVersion
integer<int64>

Generation of the agent's tuned defaults. Omitted on create means the latest; omitted on replace keeps the stored value. A create takes 0 to the latest (send the source's value when duplicating an agent); a replace takes the stored value or the latest, and any other value is rejected with 422. Moving it to the latest applies the minorVersion change optimizedSettings lists

provider
enum<string> | null

Speech provider the agent runs on; null on a read when the agent has none set. Omitted on create means the optimized one; omitted on replace keeps the stored value

Available options:
elevenlabs,
deepgram,
null
Example:

"elevenlabs"

providerOverride
enum<string> | null
deprecated

Deprecated alias of provider. On a read, the agent's legacy pinned provider until its next save moves it into provider, else null. On a write it wins over provider when both are sent

Available options:
elevenlabs,
deepgram,
null
scenarios
object[] | null

Situational instructions

Maximum array length: 50
secondaryLanguages
string[] | null

Additional languages; the write is rejected with 422 and the detail code LANGUAGE_NOT_SUPPORTED, never trimmed, when the agent's provider does not serve a code, Deepgram included. A blank or repeated code is dropped. A Deepgram agent with secondary languages Deepgram serves is saved, and optimizedSettings then proposes ElevenLabs

Maximum array length: 20
skills
object

Capabilities the agent may use

status
enum<string>

Whether the agent may run; omitted on write means enabled

Available options:
enabled,
disabled
Example:

"enabled"

tone
enum<string>[] | null

Tone presets the agent blends

Maximum array length: 6
Available options:
professional,
friendly,
casual,
calm,
empathetic,
direct
verbosity
enum<string>

How much the agent elaborates; omitted means standard

Available options:
concise,
standard,
thorough

Response

OK

data
object
required
requestId
string
required