Voice Agents

Update Voice Agent

Update Agent

Requires the OWNER or ADMIN role. Partial update — send only the fields you want to change; fields left out of the body are left untouched, including avatar. companyId, agentId, and other immutable fields are silently dropped if sent.

If the body sets avatar.avatarId, the server re-resolves avatarUrl/provider/Tavus ids from the catalog row and overwrites the agent's whole avatar sub-object with that resolved value; an unresolvable avatarId is rejected with 400 rather than saved.

put/voice/agents/{agentId}

Request

  • Base URL: https://api.speakai.co/v1
  • URL: https://api.speakai.co/v1/voice/agents/{agentId}
  • Auth: API key in header x-speakai-key and API key in header x-access-token

Path parameters

agentIdstring required

Request body

_idstring

MongoDB document id, included because every document has one; use agentId to identify it.

agentIdstring

Server-generated UUID. Immutable — sent in the body on create or update is silently dropped.

companyIdstring

Stamped from the caller's authenticated company. Sending your own value on create or update is silently dropped; you cannot re-parent an agent.

userIdstring

Id of the user who created the agent.

namestring

Required on create. Trimmed, non-empty.

personalitystring

Required on create. Free text describing the agent's tone. Can be cleared to an empty string on update.

instructionsstring

Required on create. The agent's system instructions. Can be cleared to an empty string on update.

sttobject

Speech-to-text provider config. Shape is not validated beyond being an object.

liveVoicestring nullable

The voice id used when llm.model is a Live (speech-to-speech) model. Rejected with a 400 listing the valid ids if it is not one of the voices the resolved Live model offers. Cleared by sending an empty string or null.

conversationMode'voice' | 'avatar'
statusstring

One of the agent status values.

websiteUrlstring
enableWebSearchboolean
creativityLevelnumber
folderIdstring
isDeletedboolean

DELETE soft-deletes: this flips to true and the agent stops appearing in list/get, but the document is not removed.

deletedAtstring date-time nullable
createdAtstring date-time
updatedAtstring date-time

Response

OK

status'success'

Changes

No recorded changes to this operation across all 2 revisions of this API.