Update a Voice Agent

Replaces a voice agent in full. The payload must be a complete, valid agent for its engine — the same required/forbidden rules as POST. A field that doesn't apply to the request's engine must be left out — omitting it or sending null are equivalent, and both mean the resulting agent has no such field (MSG-873). This is also how an agent's engine is changed: a PUT with a different engine object (and that engine's own fields) converts the agent in place, in a single request. If action_id is provided it must reference an existing voice action for the client. There is no DELETE endpoint for voice agents.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
uuid
required

Voice agent ID (UUID).

Body Params

Full replacement of the agent's state (PUT semantics) — same required/forbidden fields per engine as creating an agent from scratch. A field omitted here — or sent as null, which is treated as omitted — is simply absent from the resulting agent; this is also how an existing agent's engine is changed in place (e.g. send engine: { version: 'prisma-1', voice_id: 'leimag' } without any of the other engines' voice-tuning fields, in a single request).

string
required
length ≤ 100

Agent name (1–100 characters).

string
required
length ≤ 35000

Behavior instructions for the AI. Limit depends on engine.version: 2000 characters for lumen-mini, 25000 for lumen-1, 35000 for prisma-1.

string | null

Opening line spoken when the call connects. Optional — up to 600 characters when set; omit for no greeting. Sending null is treated as omitting the field.

engine
object
required

Engine that drives the call and the voice it speaks with. Required — there is no default engine. Each version accepts only its own voices: pick voice_id from the list GET /voice-agent/voices returns for the chosen version (422 otherwise).

string
deprecated

Legacy alias of engine.voice_id, from the pre-engine contract. Considered only when engine.voice_id is omitted; sending both with different values returns 422. Prefer engine.voice_id.

number | null
0 to 1
Defaults to 0.7

Voice tuning parameter: emotional consistency (0.0–1.0). Defaults to 0.7 when omitted, for engine.version lumen-mini/lumen-1. Forbidden for prisma-1 (422). Sending null is treated as omitting the field.

number | null
0 to 1
Defaults to 0.75

Voice tuning parameter: fidelity to the original voice sample (0.0–1.0). Defaults to 0.75 when omitted, for engine.version lumen-mini/lumen-1. Forbidden for prisma-1 (422). Sending null is treated as omitting the field.

number | null
0.7 to 1.2
Defaults to 1

Voice tuning parameter: speech speed (0.7–1.2, 1.0 = normal). Defaults to 1.0 when omitted, for engine.version lumen-mini/lumen-1. Forbidden for prisma-1 (422). Sending null is treated as omitting the field.

string | null

Optional free-text description (max 500 characters). Sending null is treated as omitting the field.

uuid | null

Optional ID of an existing voice action to attach. Not available when engine.version is lumen-mini — that engine ignores actions, so combining the two returns 422. Sending null is treated as omitting the field.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json