Skip to main content
PUT
Update Agent

Authorizations

X-API-KEY
string
header
required

Your API key for authentication.

x-org-id
string
header
required

Org impersonation via x-org-id. Superadmins may impersonate any org; admins may impersonate their direct sub-organizations. Enter the target organization ID to act as that org.

Path Parameters

agent_id
string
required
Required string length: 24

Body

application/json

A set of optional updates to be made to a document in the database. The router applies only the fields the client actually sent (exclude_unset), so omitted fields keep their stored value even though they carry non-None defaults on the create-request schema (e.g. type, action_ids, language).

name
string | null

The name of the agent. Agent may use this name in the conversation.

Example:

"Liz"

type
enum<string>
default:primary

primary (default agent that drives the conversation) or helper (listen-only assistant)

Available options:
primary,
helper
description
string | null

The description of the agent. Only used for your own reference.

Example:

"An agent that the sales team is testing."

language
enum<string>
default:en

The langauge Agent speaks in.

Available options:
multi,
bg,
ca,
cs,
da,
da-DK,
de,
de-CH,
el,
en,
en-US,
en-AU,
en-GB,
en-NZ,
en-IN,
es,
et,
fi,
fr,
fr-CA,
hi,
hu,
id,
it,
ja,
lt,
lv,
no,
nl,
pl,
pt,
pt-BR,
pt-PT,
ro,
ru,
sk,
th,
th-TH,
tr,
uk,
vi,
zh,
zh-CN,
zh-TW,
zh-HK
Example:

"EN"

avatar
enum<string> | null

The avatar of the agent used in the UI and widget.

Available options:
MAN,
WOMAN
voice_audio_id
string | null

Identifier of the voice that will be used by Agent, you can query them using GET /v1/voices

role_ids
string[] | null

The roles your agent will have, you can query them using GET /v1/roles. When multiple roles are provided, each role will be added to the LLM prompt using Eqho's proprietary prompt structure.

action_ids
string[] | null

The list of Action IDs Agent will have access to, you can query them using GET /v1/actions.

action_flows
string[][] | null

Action flows allow you to define sequences of actions that an agent must follow in a strict, ordered manner.

Each element in the action_flows array is a list of action ids. Within each list, the agent executes the actions in the order they are listed. Each action on the list should be an action ID listed in action_ids.

If not provided, the agent can execute actions from action_ids in any order.

Use case: appointment booking, where the agent must first check availability, create a calendar entry, and finally confirm the booking with the user.

script_ids
string[] | null

A list of script IDs that the agent will have access to; you can query them using GET /v1/scripts.

Assigning multiple scripts to an Agent is usually not recommended. When multiple scripts are provided, each script will be added to the LLM prompt using Eqho's proprietary prompt structure.

knowledge_base_ids
string[] | null

A list of Knowledge Base IDs that the agent will have access to, you can query them using GET /v1/knowledge-bases. Agent can use content from provided Knowledge Bases to enrich responses.

kb_strict_mode
boolean | null

When true, the agent is instructed to only answer from knowledge base content and decline questions the attached knowledge bases cannot answer. Has no effect when the agent has no knowledge bases attached.

personality
PersonalityModel · object | null

Describes the personality of an agent. These values will be injected into the agent's prompt. LLM might use them to adjust the agent's responses.

disable_greeting
boolean | null
deprecated

Deprecated. This field is no longer recommended for use and will be removed in future versions. Use greeting_type with value 'none' instead.

system_prompt
EmbeddedSystemPromptModel · object | null

Advanced setting to override the Eqho default system prompt. In most cases, you should not need to use this.

Example:

null

end_conversation_on_goodbye
boolean | null

If true, the agent will end the conversation if the user or agent says 'goodbye' or a similar phrase.

enable_user_idle_timeout
boolean | null
default:false

If true, the agent will end the conversation if the user is idle (not talking, not typing) for a certain period of time. The agent will ask the user if they are still there up to 3 times before ending the conversation.

Amount of time agent waits for user to respond is set by Eqho and can not be changed.

enable_parallel_tool_calls
boolean | null
default:false

If true, the agent can execute multiple tools at the same time.

ai_settings
AiSettingsModel · object | null

Settings for the Agent's LLM model.

greeting_type_inbound
enum<string> | null
default:static
Available options:
static,
ai,
none
greeting_type_outbound
enum<string> | null
default:static
Available options:
static,
ai,
none
structured_greetings
StructuredGreetingInputModel · object[] | null
tts_settings
TTSSettings · object | null
stt_settings
SttSettingsModel · object | null

Per-agent STT provider config. Absent -> Deepgram defaults (legacy tts_settings still apply). Consumed by the agent runtime config service.

smart_turn_detection
boolean | null
default:false

If true, the agent will use ML to detect turns changes in the conversation.

voice_settings
VoiceSettingsModel · object | null

Advanced setting to override the Eqho default voice settings. In most cases, you should not need to use this. If not provided, the agent will use the default Eqho voice settings.

Example:

null

noise_cancellation
AgentNoiseCancellation · object | null

Optional per-agent call noise cancellation settings. If omitted, noise cancellation is off. ai_coustics supports model, enhancement level, and VAD parameters. bvc, bvc_telephony, and nc ignore those parameters.

Example:
background_audio
AgentBackgroundAudio · object | null

Optional per-agent background ambience settings. If omitted, background audio is off. If clip or volume is omitted, the voice runtime uses its default clip or volume.

Example:
amd
AgentAMD · object | null

Optional per-agent answering machine detection settings for outbound calls. If omitted, AMD is off. actions supports only machine-ivr, machine-vm, and machine-unavailable keys; absent keys default to continue. wait_until_finished is not configurable here; the voice runtime derives it from machine-vm leave_message.

Example:
user_idle
AgentUserIdle · object | null

Optional per-agent inactivity handling settings for voice calls. If omitted, user idle handling is off. If user_away_timeout or max_consecutive_events is omitted, the voice runtime uses its default value.

Example:
endpointing
AgentEndpointing · object | null

Optional per-agent turn-taking (endpointing) delays for voice calls. If omitted, the voice runtime uses its default delays. min_delay must be between 0.1 and 2.0, max_delay between 0.5 and 6.0, and max_delay must be greater than or equal to min_delay when both are set.

Example:
feature_flags
string[] | null
Example:

null

script_id
string | null
deprecated

Deprecated. Use script_ids instead.

Response

Successful Response

name
string | null
type
enum<string>
default:primary

primary (default) or listen-only helper

Available options:
primary,
helper
language
enum<string>
default:en

Language codes that are supported by Eqho Agents.

Available options:
multi,
bg,
ca,
cs,
da,
da-DK,
de,
de-CH,
el,
en,
en-US,
en-AU,
en-GB,
en-NZ,
en-IN,
es,
et,
fi,
fr,
fr-CA,
hi,
hu,
id,
it,
ja,
lt,
lv,
no,
nl,
pl,
pt,
pt-BR,
pt-PT,
ro,
ru,
sk,
th,
th-TH,
tr,
uk,
vi,
zh,
zh-CN,
zh-TW,
zh-HK
description
string | null
avatar
string | null
voice_audio_id
string | null
role_ids
string[] | null
action_ids
string[] | null
action_flows
string[][] | null
script_id
string | null
deprecated

Deprecated. Use script_ids instead.

script_ids
string[] | null
knowledge_base_ids
string[] | null
kb_strict_mode
boolean | null

When set, the agent only answers from knowledge base content

personality
PersonalityModel · object | null

Describes the personality of an agent. These values will be injected into the agent's prompt. LLM might use them to adjust the agent's responses.

disable_greeting
boolean | null
deprecated

Deprecated. This field is no longer recommended for use and will be removed in future versions. Use greeting_type with value 'none' instead.

rag_collection
string | null
system_prompt
EmbeddedSystemPromptModel · object | null
enable_parallel_tool_calls
boolean | null
default:false
end_conversation_on_goodbye
boolean | null
enable_user_idle_timeout
boolean | null
default:false
max_concurrent_background_actions
integer
default:5
ai_settings
AiSettingsModel · object | null

Settings for the Agent's LLM model.

tts_settings
TTSSettings · object | null
stt_settings
SttSettingsModel · object | null

Per-agent STT provider config. Absent -> Deepgram defaults (legacy tts_settings still apply). Consumed by the agent runtime config service.

voice_settings
VoiceSettingsModel · object | null
noise_cancellation
AgentNoiseCancellation · object | null
background_audio
AgentBackgroundAudio · object | null
amd
AgentAMD · object | null
user_idle
AgentUserIdle · object | null
endpointing
AgentEndpointing · object | null
greeting_type_inbound
enum<string> | null
default:static
Available options:
static,
ai,
none
greeting_type_outbound
enum<string> | null
default:static
Available options:
static,
ai,
none
structured_greetings
StructuredGreetingModel · object[] | null
greetings
string[] | null
deprecated

Deprecated. Use structured_greetings instead.

alias
string | null
smart_turn_detection
boolean | null
default:false
feature_flags
string[] | null
Example:

"CHAT_HISTORY"

id
string | null
account_id
string | null
enabled
boolean | null
default:true
history
HistoryModel · object | null
source
AgentSourceModel · object | null

Tracks the source agent this was imported from.