Skip to main content
PUT

Overview

Update an existing voice agent’s configuration. All request body fields are optional — only the fields you include are modified. Unspecified fields retain their current values. This endpoint is the primary way to configure an agent’s ASR, LLM, TTS, language settings, advance settings, and integrations.

Required Permission

agents

Path Parameters

Top-Level Request Body Fields

advanceSettings Fields

Sending an advanceSettings field that is not supported by the current ASR model returns HTTP 400. Use Get Transcriber Config to verify model compatibility before updating.

ASR Model Compatibility — advanceSettings Reference

Each advanceSettings field is valid only for specific ASR model types. Sending an incompatible field returns HTTP 400.

Example cURL

Update Messages

Full Configuration Update

Response

Success (200)

Error Responses

400 Bad Request - Validation error
403 Forbidden - Insufficient permissions or agent not found
403 Forbidden - Agent does not exist or not accessible
409 Conflict - Agent name already taken

Configuring a Multilingual Agent

Set botDetails.language to an array of up to three language codes. The selected ASR model must support every language in the list — use Get Transcriber Config with multiple language parameters to identify compatible options. The TTS voice must also support all configured languages — use Get TTS Config similarly. LLM models are language-agnostic.

Use Cases

  • Updating agent messages for seasonal campaigns or new use cases
  • Fine-tuning the system prompt based on observed performance
  • Switching ASR, LLM, or TTS providers and models
  • Enabling advanced features like voicemail detection or call transfer
  • Configuring a post-call webhook for CRM updates or analytics pipelines
Always validate your ASR and TTS selections against the Agent Config API before updating. This ensures the selected provider/model combination supports all configured languages.
Save the requestId from every response. You will need it if you contact Inya support to trace a specific request.

Authorizations

x-api-key
string
header
required

API key with 'agents' permission

Path Parameters

botId
string
required

Unique identifier of the agent

Body

application/json
botName
string
description
string
greetingMessage
string
endMessage
string
systemPrompt
string

Supports Jinja2 template variables, e.g. {{ customer_name }}

hasDynamicGreeting
boolean
dynamicInitialMessageConfig
object
botDetails
object
asrParams
object
llmParams
object
ttsParams
object
advanceSettings
object
languageSwitch
boolean
explicitLanguageSwitch
boolean
languageSwitchMode
enum<string>
Available options:
implicit,
explicit
minWordsForLangSwitch
integer
default:2
Required range: x >= 1
callTransferConfig
object
callTransferConfigStatus
boolean
preCall
object
enableVoiceMailDetection
boolean
voiceMailDetectionConfig
object
hasPostCallTrigger
boolean
postCallTriggerAPIConfig
object

Response

Agent updated successfully

status
string
Example:

"success"

requestId
string
Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

message
string
response
object