MCPBundler Docs
MCPBundler Docs
Back to marketplaceGetting StartedAuthenticationTutorial - Bundle to Connected Agent
API Reference
Agent A2A Tools
Agent Channels
Agent Configuration (Staging)
Create Agent Custom ToolCreate Agent GuardrailRemove Agent System ToolDelete Agent Custom ToolDelete Agent GuardrailDiscard Staged ChangesDiff Stage Against Latest PublishedGet Stage WorkflowList Agent System ToolsList Agent Custom ToolsList Agent GuardrailsUpdate Staged Voice SettingsUpdate Staged Agent SettingsPatch Stage WorkflowRegenerate Widget Embed KeyUpdate Agent Custom ToolEnable or Configure Agent System Tool
Agent Configuration (Versions)
Agent Tools
agents
Agents
Attachments
Auth
Billing
bundler
Bundler
Bundler Tool
Bundles
Call Campaigns
Catalog
Conversations
Credentials
Deployments
Discover
Fleet
Genesys
Insights
internal
Knowledge Base Website Sources
Knowledge Bases
MCP Listings
Media
OAuth Clients
OAuth2
Observability
Organisation roles
Organisations
Providers
Reviews
Roadmap
SCIM
Simulation Tests
Suppression
Triggers
TTS
Users
Utils
Visitors
Voices
Webhooks
Workflows
API ReferenceAgent Configuration (Staging)

Update Staged Voice Settings

PATCH
/v1/agents/{agent_id}/stage/voice

Update this agent's staged voice pipeline configuration. Reflects unpublished staged state - see GET /agents/{agent_id}/versions/latest for what's actually live.

Authorization

OAuth2AuthorizationCodeBearer
AuthorizationBearer <token>

In: header

Path Parameters

agent_id*Agent Id
Formatuuid

Query Parameters

verify_locally?Verify Locally
Defaulttrue

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

The agent's voice configuration as one optional nested object.

pipeline_mode/language/silence_end_call_timeout_secs are independently optional, matching the rest of this file's omitted-means-don't-touch fields. There is no key choice here: each leg runs on the route its org's binding gives the leg's provider. cascade and s2s are each an independently optional sub-object - patching one never requires or disturbs the other, since an agent can carry configuration for a mode it has since switched away from.

extra="forbid" so a mistyped wire key 422s instead of being silently dropped and returning a 200 that changed nothing.

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/v1/agents/497f6eca-6276-4993-bfeb-53cbbbba6f08/stage/voice" \  -H "Content-Type: application/json" \  -d '{}'
{  "pipeline_mode": "string",  "language": "string",  "silence_end_call_timeout_secs": 0,  "cascade": {    "stt_provider_id": "d4a67d44-bb59-4313-9013-67e80ee06719",    "stt_model": "string",    "tts_provider_id": "548bbff5-1048-4ad8-a0df-cd333e015434",    "tts_model": "string",    "tts_voice_id": "11bfaa1c-5a0e-4a01-aa9f-9c79a298dae1",    "enable_interruptions": true,    "min_words_before_interruption": 0,    "vad_confidence": 0,    "vad_start_secs": 0,    "vad_stop_secs": 0,    "vad_min_volume": 0,    "turn_model": "string",    "eagerness": "string",    "turn_timeout_secs": 0,    "asr_keywords": [      "string"    ],    "filter_background_speech": true,    "input_audio_format": "string",    "interruption_ignore_terms": [      "string"    ],    "transcribe_on_disabled_interruptions": true  },  "s2s": {    "realtime_provider_id": "15347105-df5d-4c64-b3e4-5148a8ebb81c",    "realtime_model": "string",    "decision_provider_id": "c9798dc0-90d8-4341-8778-6ff2649d592b",    "decision_model": "string",    "voice_id": "2235c634-e4db-4ad6-aa15-066fb69b1c8f",    "turn_detection_type": "string",    "turn_threshold": 0,    "prefix_padding_ms": 0,    "silence_duration_ms": 0,    "eagerness": "string"  },  "model_warnings": []}
{  "detail": "string",  "code": "string"}
{  "detail": "string",  "code": "string"}

List Agent Guardrails

Previous Page

Update Staged Agent Settings

Next Page

pipeline_mode?|null
language?|null
silence_end_call_timeout_secs?number|null
cascade?|null
s2s?|null