Skip to main content
PATCH
Update an agent

Authorizations

X-API-Key
string
header
required

Your AI calling API key (vak_call_…). Authorization: Bearer <key> also works.

Headers

If-Match
string

The agent's updated_at as you last read it, e.g. "2026-10-19T10:15:00.123456Z". Optional.

Path Parameters

id
string
required

Body

application/json

Only the fields you send change. Send null to clear a nullable field.

name
string

Unique in your account, ignoring case.

Maximum string length: 128
enabled
boolean
default:true
direction
enum<string>
default:outbound

outbound places calls, inbound answers your numbers, both does both.

Available options:
outbound,
inbound,
both
language
string | null

hinglish, hindi, english, punjabi, marathi, gujarati, bengali, tamil, telugu, kannada, malayalam, odia, a code (hi) or a tag (hi-IN). null = Hindi or Hinglish.

Example:

"hinglish"

tts_model
string

Voice engine id from GET /voices. Default for a new agent: google.

voice
string

A voice of tts_model (GET /voices). Changing tts_model needs a voice of the new engine.

opening_line
string

The first thing the agent says. {{placeholders}} are filled per call.

Maximum string length: 2000
system_prompt
string

The agent's script and instructions.

Maximum string length: 60000
extraction_questions
string[]

Questions whose answers come back in outcome.answers.

Maximum array length: 50
Maximum string length: 500
dispositions
string[]

Labels the agent may give a call. Empty = your account's defaults.

Maximum array length: 50
Maximum string length: 64
handoff_numbers
string[]

E.164 numbers the agent can transfer a caller to.

Maximum array length: 10
max_call_minutes
integer | null

null = 10 minutes.

Required range: 1 <= x <= 30
pace
number | null

Speaking rate; null = default.

Required range: 0.5 <= x <= 2
temperature
number | null

Voice expressiveness; null = engine default.

Required range: 0.01 <= x <= 2
voice_modulation
number | null

Pitch-range expansion; null = off.

Required range: 1 <= x <= 2.5
booking_page_id
string | null

A booking page of your account the agent books on.

send_rules
object[]

Response

The updated agent.

id
string
object
string
Allowed value: "agent"
name
string

Unique in your account, ignoring case.

Maximum string length: 128
enabled
boolean
default:true
direction
enum<string>
default:outbound

outbound places calls, inbound answers your numbers, both does both.

Available options:
outbound,
inbound,
both
language
string | null

hinglish, hindi, english, punjabi, marathi, gujarati, bengali, tamil, telugu, kannada, malayalam, odia, a code (hi) or a tag (hi-IN). null = Hindi or Hinglish.

Example:

"hinglish"

tts_model
string

Voice engine id from GET /voices. Default for a new agent: google.

voice
string

A voice of tts_model (GET /voices). Changing tts_model needs a voice of the new engine.

opening_line
string

The first thing the agent says. {{placeholders}} are filled per call.

Maximum string length: 2000
system_prompt
string

The agent's script and instructions.

Maximum string length: 60000
extraction_questions
string[]

Questions whose answers come back in outcome.answers.

Maximum array length: 50
Maximum string length: 500
dispositions
string[]

Labels the agent may give a call. Empty = your account's defaults.

Maximum array length: 50
Maximum string length: 64
handoff_numbers
string[]

E.164 numbers the agent can transfer a caller to.

Maximum array length: 10
max_call_minutes
integer | null

null = 10 minutes.

Required range: 1 <= x <= 30
pace
number | null

Speaking rate; null = default.

Required range: 0.5 <= x <= 2
temperature
number | null

Voice expressiveness; null = engine default.

Required range: 0.01 <= x <= 2
voice_modulation
number | null

Pitch-range expansion; null = off.

Required range: 1 <= x <= 2.5
booking_page_id
string | null

A booking page of your account the agent books on.

send_rules
object[]
is_default
boolean

This is your account's default agent (GET /settings/default-agent).

speech_cache_mode
enum<string>

Read-only; set by support.

Available options:
off,
fixed,
full
configuration
enum<string>

summary for a key without agents:manage: system_prompt, handoff_numbers, send_rules and booking_page_id are left out.

Available options:
full,
summary
uses_contact_name
boolean
variables
string[]
created_at
string<date-time> | null
updated_at
string<date-time> | null
waiting_calls_canceled
integer

On disable (and a PATCH of enabled): calls that were waiting for this agent and were canceled.

warnings
object[]

Non-fatal notes about what was (not) done, e.g. mobile_number_missing.

idempotent_replay
boolean