dialogbrain-com · Schema

AgentUpdateRequest

CompanyAICustomer SupportMessagingVoice

Properties

Name Type Description
name object New name for the agent
description object New description for the agent
prompt_id object Prompt ID to assign (null to detach)
send_mode object Default send mode: 'auto' or 'draft'. OMIT to leave the send-mode unchanged.
knowledge_collection_ids object Replace all knowledge collections with these IDs (empty list = clear all)
status object Agent status: 'active', 'paused', or 'archived'. OMIT to leave the status unchanged.
text_engine object Text-execution engine: 'agentic', 'ai_assisted', 'rule_based', or 'claude_channels'. Replaces the legacy execution_mode field (20260523_002). Voice is now derived from triggers, not engine. OMIT to le
remote_tool object For an external_agent: the integration action that starts the remote agent.
target_session object For a Claude Code agent: the desktop session that answers questions from the AI panel.
model object The model the agent runs on; omit for the platform default.
max_iterations object Hard cap on loop turns per run; omit to leave it unchanged.
output_text_filters object Post-processing rules for agent responses.
api_surface object OpenAI endpoint routing setting.
native_web_search object Whether the agent may use the model provider's built-in web search.
prompt_text object The agent's system prompt.
auto_reply_rules object Plain-English rules injected into the fast model's prompt.
priority object Agent priority for trigger matching. LOWER number = HIGHER priority (wins tiebreaks). Typical range 1-100. Fallback auto-reply agents use 10; specialised/topical agents use 100. When two agents match
vision_enabled object Per-agent opt-in for vision content.
allowed_tools object Names of the capabilities this agent may use; replaces the current list. Omit to leave it unchanged; an empty list leaves the agent with none.
denied_tools object Block-list of capabilities the agent must not call.
include_situation object Include situation context (channel, sender info, trigger type) in the agent's prompt. OMIT to leave this flag unchanged.
include_learned_style object Include learned communication style (per-contact tone, dormancy state) in the agent's prompt. OMIT to leave this flag unchanged.
include_job_state object Include current job state (active job context, tasks, notes) in the agent's prompt. OMIT to leave this flag unchanged.
include_conversation_history object Include recent messages from this thread (up to 20) in the agent's prompt. A voice call follows it too: true (default) starts the call with the earlier messages and calls with this caller, false start
include_thread_summary object Include condensed summary of older thread messages in the agent's prompt. OMIT to leave this flag unchanged.
include_tool_call_history object Include the agent's own past calls and results from recent runs.
include_safety_guidelines object Inject the generic Safety Guidelines block (~80 tokens) into the system prompt. Default OFF — enable only if you don't already write safety rules in your Instructions. Agentic mode only. OMIT to leave
include_data_confidentiality object Inject the Data Confidentiality block (~250 tokens, cross-contact PII isolation + prompt-injection defense) into the system prompt. Default OFF. Agentic mode only. OMIT to leave this flag unchanged.
include_factual_accuracy object Inject the Factual Accuracy block (~100 tokens, generic anti-hallucination rules) into the system prompt. Default OFF — skip if you write domain-specific accuracy rules in Instructions. Agentic mode o
include_specialists object Inject a [SPECIALISTS] block (~50–200 tokens) listing the workspace's delegation-capable agents so a router-style agent can pick a handoff target without first calling agents.list. Default OFF for new
fast_model object Model for the fast-path responder (voice, text auto-reply, agent executor). Defaults to deepseek-v4-flash-nothink when unset. Non-Anthropic models (deepseek-v4-flash-nothink, gpt-4.1-nano, kimi-k2.6)
fast_prompt_override object Full fast-path prompt override; placeholders are substituted.
script object rule_based Python code run in the workbench sandbox on each matched event.
voice_primary_model object Primary model for voice turns.
voice_realtime_model object Realtime (v2v) model for the agent's voice_engine. openai_realtime: 'gpt-realtime' (~18c/min on short calls) or 'gpt-realtime-mini' (~75% cheaper). gemini_realtime: a Gemini Live model, newest first '
voice_realtime_voice object The voice a realtime (v2v) engine speaks in. gemini_realtime: Puck (male, upbeat), Charon (male, informative), Fenrir (male, excitable), Orus (male, firm), Kore (female, firm), Aoede (female, breezy),
voice_endpointing_max_delay object LiveKit endpointing.max_delay (0.5-10.0s, default 3.0). Ceiling on how long the agent waits for a turn to end. voice_endpointing_min_delay is the floor after silence; this is what stops a thinking pau
voice_endpointing_mode object LiveKit endpointing mode. 'fixed' (default) waits voice_endpointing_min_delay every turn; 'dynamic' adapts the wait from the conversation's own rhythm. OMIT to leave unchanged.
voice_max_call_duration_s object Wall-clock cap for a voice call in seconds, clamped to 60-14400; the worker ends the call at it regardless of what the conversation is doing. OMIT to leave unchanged (default is no cap — a call ends w
voice_output_gain_db object Output attenuation in dB applied to the agent's WhatsApp call audio before the codec (-12.0 to 0.0, default 0 = unchanged). Use a negative value (e.g. -3.5) when a hot voice engine (OpenAI Realtime ri
voice_max_tokens object Max tokens per voice reply.
voice_max_tool_calls object Maximum calls per voice turn.
voice_stt_provider object Speech-to-text provider. 'deepgram' (default) runs Nova-3 / Flux and preserves existing behaviour. 'gladia' routes to Gladia streaming STT (solaria-1), which is Deepgram-class latency and covers ~115
voice_stt_model object Speech-to-text model for voice.
voice_stt_language object STT language code, validated against the SELECTED voice_stt_provider. 'multi' (default) enables autodetect / code-switching on either provider; a singleton like 'en', 'ru', 'uz' gives higher accuracy
voice_stt_keyterms object Domain-vocab bias for STT — names, product SKUs, etc. Passed verbatim as repeated `&keyterm=` query params. Works on both Nova-3 and Flux. Prefer short phrases over full sentences. Empty list [] =
voice_transfer_numbers object Phone numbers (E.164, e.g. '+15551234567') the agent may cold-transfer a live call to ('let me put you through to a manager'). Any destination not on this list is refused; an empty list [] means the a
voice_tts_provider object Text-to-speech provider: 'deepgram' (default, Aura-2 EN-only), 'openai' (multilingual), 'cartesia' (Sonic-3, ultra-low TTFB, multilingual), 'alibaba' (CosyVoice v3-flash, multilingual, ~95ms TTFB), 'q
voice_tts_voice object TTS voice id — provider-specific (e.g. 'aura-2-thalia-en' for Deepgram, 'alloy' for OpenAI, Cartesia voice UUID). Pass null to revert to provider default.
voice_tts_language object TTS language code, BCP-47 lite e.g. 'en', 'es', 'pt-BR' (Cartesia only, default 'en').
voice_tts_speed object TTS playback speed multiplier (0.5-2.0, default 1.0). OpenAI/Cartesia only — ignored for Deepgram.
voice_endpointing_min_delay object Silence after end-of-utterance before agent replies (0.1-2.0s, default 0.3). Higher = fewer false interrupts; lower = snappier.
voice_interruption_min_duration object Min caller speech duration to interrupt the agent (0.1-1.5s, default 0.25). Higher = ignore short fillers like 'uh-huh'.
voice_group_interim_barge_in object GROUP/Meet barge-in: interrupt the agent AS SOON AS a participant starts speaking (on the interim transcript), instead of waiting for the finished utterance. Default true. Set true to make a presenter
voice_group_barge_in_min_words object GROUP/Meet barge-in word gate (1-6, default 1): a participant line must have at least this many words to interrupt the agent. 1 = any word interrupts (most responsive); raise to ignore short cross-tal
voice_group_barge_in_stop_words object GROUP/Meet barge-in stop-words: any of these words/phrases ALWAYS interrupts the agent, even below voice_group_barge_in_min_words (e.g. ['стоп','подожди','вопрос','stop','wait','question']). Empty lis
voice_group_barge_in_requires_address object GROUP/Meet barge-in: when true, only lines that ADDRESS the agent (by name/keyword) interrupt it — two humans talking to each other won't break the walk. Default false. OMIT to leave unchanged.
voice_greeting object Opening line the agent speaks when the call connects. Pass an empty string "" to clear. Omit or null leaves unchanged.
voice_greeting_returning object Greeting variant for RETURNING callers (thread has prior history or a resolved name). Supports '{name}' — replaced with the caller's name when known, stripped when not. Pass an empty string "" to clea
voice_filler_enabled object Emit thinking filler audio while working.
voice_denoise object Server-side noise suppression (DeepFilterNet) on the INBOUND caller audio before STT — cleans background noise so the agent hears callers in loud/public places and gets fewer false barge-ins. Channel-
voice_filler_audio_preset object Which bundled clip plays as thinking filler.
voice_greeting_interruptible object Allow the caller to barge in during the opener TTS. Default true (trial-friendly — long greetings can be interrupted). Set false on outbound-call agents whose configured opener would otherwise get pre
voice_silence_reprompt_s object Re-prompt a silent caller after N seconds.
voice_greeting_prerender object Pre-synthesize the greeting in the agent's voice.
voice_speak_first object Greet immediately, or listen first and answer.
voice_preemptive_generation object Speculatively start the model on speech-to-text partials.
voice_hold_ready_reply object Keep a ready reply the caller talked over and say it at the next pause.
voice_record_calls object Record voice calls handled by this agent (stereo audio: caller and agent on separate channels), stored with the call for later playback. Default false. Ensure callers are informed of recording where c
voice_record_announce object On recorded calls, prepend a short 'this call may be recorded' notice to the agent's greeting. Only takes effect when voice_record_calls is enabled. Default false. OMIT to leave unchanged.
voice_call_analysis object Run post-call analysis after each answered call.
voice_thinking_texts object Phrases spoken while the agent sets up the turn.
voice_turn_detector object Voice end-of-turn detector: 'vad' (default — sharp, low-latency) or 'multilingual' (semantic model, ~1s slower per turn, fewer mid-pause cuts). OMIT to leave unchanged.
voice_engine object Voice execution engine.
voice_v2v_transcripts object Enable live transcripts for voice-to-voice engines (default true). OMIT to leave unchanged.
pause_on_human_reply object Pause the agent on a thread the moment a human operator replies there. Default true. OMIT to leave unchanged.
require_explicit_send object When true, the agent answers a customer only by sending a message explicitly (or stays silent); its closing text is never delivered. Requires the agent to be allowed to stay silent. Default false.
resume_policy object When a human-paused thread hands control back to the agent: 'manual' (stays paused until an operator resumes it from the thread header), 'next_incoming_from_guest' (default — resumes on the contact's
debounce_seconds object Seconds to wait after the last inbound message before generating, so rapid-fire messages coalesce into one reply (0-120, default 5). OMIT to leave unchanged.
voice_flux_eot_threshold object Flux STT end-of-turn confidence threshold (0.1-1.0). Higher = wait for more certainty before finalizing the turn. Flux STT only (ignored on nova-3). OMIT to keep the worker default (0.7).
voice_flux_eager_eot_threshold object Flux eager end-of-turn threshold.
voice_flux_eot_timeout_ms object Flux end-of-turn hard timeout in ms (500-15000). Flux STT only. OMIT to keep the worker default (5000).
voice_early_finalize_confidence object Flux early-finalize confidence (0.1-1.0, worker default 0.65). Lower = finalize sooner on trailing silence (snappier, small mid-word clip risk). Flux STT only. OMIT to leave unchanged.
voice_mip_opt_out object Opt out of Deepgram's model-improvement program (privacy) for Flux STT. Default false. OMIT to leave unchanged.
voice_tools object The exact set of capabilities exposed to the live voice runner.
default_calendar_id object Default Google calendar for this agent's calendar operations.
View JSON Schema on GitHub

JSON Schema

dialogbrain-com-agent-update-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/dialogbrain-com/json-schema/dialogbrain-com-agent-update-request-schema.json",
  "title": "AgentUpdateRequest",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/dialogbrain-com-openapi.json#/components/schemas/AgentUpdateRequest",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Name",
      "description": "New name for the agent"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Description",
      "description": "New description for the agent"
    },
    "prompt_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Prompt Id",
      "description": "Prompt ID to assign (null to detach)"
    },
    "send_mode": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "auto",
            "draft"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Send Mode",
      "description": "Default send mode: 'auto' or 'draft'. OMIT to leave the send-mode unchanged."
    },
    "knowledge_collection_ids": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Knowledge Collection Ids",
      "description": "Replace all knowledge collections with these IDs (empty list = clear all)"
    },
    "status": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "active",
            "paused",
            "archived"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Status",
      "description": "Agent status: 'active', 'paused', or 'archived'. OMIT to leave the status unchanged."
    },
    "text_engine": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "rule_based",
            "agentic",
            "claude_channels",
            "external_agent"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Text Engine",
      "description": "Text-execution engine: 'agentic', 'ai_assisted', 'rule_based', or 'claude_channels'. Replaces the legacy execution_mode field (20260523_002). Voice is now derived from triggers, not engine. OMIT to leave unchanged."
    },
    "remote_tool": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Remote Tool",
      "description": "For an external_agent: the integration action that starts the remote agent."
    },
    "target_session": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Target Session",
      "description": "For a Claude Code agent: the desktop session that answers questions from the AI panel."
    },
    "model": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "claude-haiku-4-5-20251001",
            "claude-opus-4-6",
            "claude-sonnet-4-6",
            "claude-sonnet-5",
            "dashscope-glm-5.2",
            "dashscope-glm-5.2-nothink",
            "deepseek-v4-flash",
            "deepseek-v4-flash-nothink",
            "gpt-4.1",
            "gpt-4.1-mini",
            "gpt-4.1-nano",
            "gpt-4o",
            "kimi-k2.6",
            "qwen-flash",
            "qwen-plus",
            "qwen3-vl-plus",
            "qwen3.6-flash",
            "qwen3.6-plus"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Model",
      "description": "The model the agent runs on; omit for the platform default."
    },
    "max_iterations": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 50.0,
          "minimum": 1.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Max Iterations",
      "description": "Hard cap on loop turns per run; omit to leave it unchanged."
    },
    "output_text_filters": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Output Text Filters",
      "description": "Post-processing rules for agent responses."
    },
    "api_surface": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "chat_completions",
            "responses"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Api Surface",
      "description": "OpenAI endpoint routing setting."
    },
    "native_web_search": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Native Web Search",
      "description": "Whether the agent may use the model provider's built-in web search."
    },
    "prompt_text": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Prompt Text",
      "description": "The agent's system prompt."
    },
    "auto_reply_rules": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Auto Reply Rules",
      "description": "Plain-English rules injected into the fast model's prompt."
    },
    "priority": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Priority",
      "description": "Agent priority for trigger matching. LOWER number = HIGHER priority (wins tiebreaks). Typical range 1-100. Fallback auto-reply agents use 10; specialised/topical agents use 100. When two agents match the same incoming message, the one with the lower priority number fires."
    },
    "vision_enabled": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Vision Enabled",
      "description": "Per-agent opt-in for vision content."
    },
    "allowed_tools": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Allowed Tools",
      "description": "Names of the capabilities this agent may use; replaces the current list. Omit to leave it unchanged; an empty list leaves the agent with none."
    },
    "denied_tools": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Denied Tools",
      "description": "Block-list of capabilities the agent must not call."
    },
    "include_situation": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Include Situation",
      "description": "Include situation context (channel, sender info, trigger type) in the agent's prompt. OMIT to leave this flag unchanged."
    },
    "include_learned_style": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Include Learned Style",
      "description": "Include learned communication style (per-contact tone, dormancy state) in the agent's prompt. OMIT to leave this flag unchanged."
    },
    "include_job_state": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Include Job State",
      "description": "Include current job state (active job context, tasks, notes) in the agent's prompt. OMIT to leave this flag unchanged."
    },
    "include_conversation_history": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Include Conversation History",
      "description": "Include recent messages from this thread (up to 20) in the agent's prompt. A voice call follows it too: true (default) starts the call with the earlier messages and calls with this caller, false starts every call from zero (for an agent that takes a new order each call). OMIT to leave this flag unchanged."
    },
    "include_thread_summary": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Include Thread Summary",
      "description": "Include condensed summary of older thread messages in the agent's prompt. OMIT to leave this flag unchanged."
    },
    "include_tool_call_history": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Include Tool Call History",
      "description": "Include the agent's own past calls and results from recent runs."
    },
    "include_safety_guidelines": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Include Safety Guidelines",
      "description": "Inject the generic Safety Guidelines block (~80 tokens) into the system prompt. Default OFF — enable only if you don't already write safety rules in your Instructions. Agentic mode only. OMIT to leave this flag unchanged."
    },
    "include_data_confidentiality": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Include Data Confidentiality",
      "description": "Inject the Data Confidentiality block (~250 tokens, cross-contact PII isolation + prompt-injection defense) into the system prompt. Default OFF. Agentic mode only. OMIT to leave this flag unchanged."
    },
    "include_factual_accuracy": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Include Factual Accuracy",
      "description": "Inject the Factual Accuracy block (~100 tokens, generic anti-hallucination rules) into the system prompt. Default OFF — skip if you write domain-specific accuracy rules in Instructions. Agentic mode only. OMIT to leave this flag unchanged."
    },
    "include_specialists": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Include Specialists",
      "description": "Inject a [SPECIALISTS] block (~50–200 tokens) listing the workspace's delegation-capable agents so a router-style agent can pick a handoff target without first calling agents.list. Default OFF for new agents; the Router template ships with this ON. Agentic mode only. OMIT to leave this flag unchanged."
    },
    "fast_model": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Fast Model",
      "description": "Model for the fast-path responder (voice, text auto-reply, agent executor). Defaults to deepseek-v4-flash-nothink when unset. Non-Anthropic models (deepseek-v4-flash-nothink, gpt-4.1-nano, kimi-k2.6) do NOT use BYOK today — they use the system API key + credits. Pass null to revert to default."
    },
    "fast_prompt_override": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Fast Prompt Override",
      "description": "Full fast-path prompt override; placeholders are substituted."
    },
    "script": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Script",
      "description": "rule_based Python code run in the workbench sandbox on each matched event."
    },
    "voice_primary_model": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Primary Model",
      "description": "Primary model for voice turns."
    },
    "voice_realtime_model": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "gpt-realtime",
            "gpt-realtime-mini",
            "gemini-3.8-live",
            "gemini-3.1-flash-live-preview",
            "gemini-2.5-flash-native-audio-latest",
            "gemini-2.5-flash-native-audio-preview-12-2025",
            "default"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Realtime Model",
      "description": "Realtime (v2v) model for the agent's voice_engine. openai_realtime: 'gpt-realtime' (~18c/min on short calls) or 'gpt-realtime-mini' (~75% cheaper). gemini_realtime: a Gemini Live model, newest first 'gemini-3.8-live' (the default), 'gemini-3.1-flash-live-preview', 'gemini-2.5-flash-native-audio-latest', 'gemini-2.5-flash-native-audio-preview-12-2025'. 'default' = back to the engine's default. OMIT to leave unchanged."
    },
    "voice_realtime_voice": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "Puck",
            "Charon",
            "Fenrir",
            "Orus",
            "Kore",
            "Aoede",
            "Leda",
            "Zephyr",
            "default"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Realtime Voice",
      "description": "The voice a realtime (v2v) engine speaks in. gemini_realtime: Puck (male, upbeat), Charon (male, informative), Fenrir (male, excitable), Orus (male, firm), Kore (female, firm), Aoede (female, breezy), Leda (female, youthful), Zephyr (female, bright); default Puck. An engine not named here has a fixed voice. Separate from voice_tts_voice, which is the pipeline engine's TTS voice. 'default' = back to the engine's default. OMIT to leave unchanged."
    },
    "voice_endpointing_max_delay": {
      "anyOf": [
        {
          "type": "number",
          "maximum": 10.0,
          "minimum": 0.5
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Endpointing Max Delay",
      "description": "LiveKit endpointing.max_delay (0.5-10.0s, default 3.0). Ceiling on how long the agent waits for a turn to end. voice_endpointing_min_delay is the floor after silence; this is what stops a thinking pause from holding the turn open, and it is the knob to raise when an agent talks over someone who pauses mid-thought."
    },
    "voice_endpointing_mode": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "fixed",
            "dynamic"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Endpointing Mode",
      "description": "LiveKit endpointing mode. 'fixed' (default) waits voice_endpointing_min_delay every turn; 'dynamic' adapts the wait from the conversation's own rhythm. OMIT to leave unchanged."
    },
    "voice_max_call_duration_s": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 14400.0,
          "minimum": 1.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Max Call Duration S",
      "description": "Wall-clock cap for a voice call in seconds, clamped to 60-14400; the worker ends the call at it regardless of what the conversation is doing. OMIT to leave unchanged (default is no cap — a call ends when the conversation ends). To REMOVE an existing cap, clear the field in the agent's Voice settings UI (0 there = no limit). Two agents talking to each other are capped separately by calls.agent_duel's own max_duration_s."
    },
    "voice_output_gain_db": {
      "anyOf": [
        {
          "type": "number",
          "maximum": 0.0,
          "minimum": -12.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Output Gain Db",
      "description": "Output attenuation in dB applied to the agent's WhatsApp call audio before the codec (-12.0 to 0.0, default 0 = unchanged). Use a negative value (e.g. -3.5) when a hot voice engine (OpenAI Realtime rides near 0 dBFS) causes blown-speaker distortion on loud words: the 24 kbps call codec needs headroom, and this restores it. Applied on the next call, no deploy needed."
    },
    "voice_max_tokens": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 200.0,
          "minimum": 40.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Max Tokens",
      "description": "Max tokens per voice reply."
    },
    "voice_max_tool_calls": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 10.0,
          "minimum": 1.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Max Tool Calls",
      "description": "Maximum calls per voice turn."
    },
    "voice_stt_provider": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "deepgram",
            "gladia"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Stt Provider",
      "description": "Speech-to-text provider. 'deepgram' (default) runs Nova-3 / Flux and preserves existing behaviour. 'gladia' routes to Gladia streaming STT (solaria-1), which is Deepgram-class latency and covers ~115 languages Deepgram does NOT — including Uzbek ('uz'), Kazakh ('kk'), Azerbaijani ('az'), Tajik ('tg'). Pick 'gladia' when the caller's language is outside Deepgram's coverage, then set voice_stt_language to that language's code. The provider also decides which language codes voice_stt_language accepts. OMIT to leave the STT provider unchanged."
    },
    "voice_stt_model": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "flux",
            "flux-general-en",
            "flux-general-multi",
            "nova-3"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Stt Model",
      "description": "Speech-to-text model for voice."
    },
    "voice_stt_language": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "af",
            "am",
            "ar",
            "ar-AE",
            "ar-DZ",
            "ar-EG",
            "ar-IQ",
            "ar-IR",
            "ar-JO",
            "ar-KW",
            "ar-LB",
            "ar-MA",
            "ar-PS",
            "ar-QA",
            "ar-SA",
            "ar-SD",
            "ar-SY",
            "ar-TD",
            "ar-TN",
            "as",
            "ast",
            "az",
            "ba",
            "be",
            "bg",
            "bn",
            "bo",
            "br",
            "bs",
            "ca",
            "ceb",
            "cs",
            "cy",
            "da",
            "da-DK",
            "de",
            "de-CH",
            "el",
            "en",
            "en-AU",
            "en-GB",
            "en-IN",
            "en-NZ",
            "en-US",
            "es",
            "es-419",
            "et",
            "eu",
            "fa",
            "ff",
            "fi",
            "fo",
            "fr",
            "fr-CA",
            "fy",
            "ga",
            "gd",
            "gl",
            "gu",
            "ha",
            "haw",
            "he",
            "hi",
            "hr",
            "ht",
            "hu",
            "hy",
            "id",
            "ig",
            "ilo",
            "is",
            "it",
            "ja",
            "jv",
            "ka",
            "kk",
            "km",
            "kn",
            "ko",
            "ko-KR",
            "la",
            "lb",
            "lg",
            "ln",
            "lo",
            "lt",
            "lv",
            "mg",
            "mi",
            "mk",
            "ml",
            "mn",
            "mo",
            "mr",
            "ms",
            "mt",
            "multi",
            "my",
            "ne",
            "nl",
            "nl-BE",
            "nn",
            "no",
            "oc",
            "or",
            "pa",
            "pl",
            "ps",
            "pt",
            "pt-BR",
            "pt-PT",
            "ro",
            "ru",
            "sa",
            "sd",
            "si",
            "sk",
            "sl",
            "sn",
            "so",
            "sq",
            "sr",
            "ss",
            "su",
            "sv",
            "sv-SE",
            "sw",
            "ta",
            "te",
            "tg",
            "th",
            "th-TH",
            "tk",
            "tl",
            "tn",
            "tr",
            "tt",
            "uk",
            "ur",
            "uz",
            "vi",
            "wo",
            "xh",
            "yi",
            "yo",
            "zh",
            "zh-CN",
            "zh-HK",
            "zh-Hans",
            "zh-Hant",
            "zh-TW",
            "zu"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Stt Language",
      "description": "STT language code, validated against the SELECTED voice_stt_provider. 'multi' (default) enables autodetect / code-switching on either provider; a singleton like 'en', 'ru', 'uz' gives higher accuracy when the caller language is known. Deepgram provider: 'en' runs on Flux (fastest, eager end-of-turn); 'multi' and every other language run on Nova-3. Some languages — notably Thai ('th'), Vietnamese ('vi'), Indonesian ('id'), Tagalog ('tl') — are NOT in Nova-3's 'multi' auto-detect set, so those callers MUST be given an explicit code. Gladia provider: use its codes (e.g. 'uz' Uzbek, 'kk' Kazakh, 'az' Azerbaijani, 'tg' Tajik) — these are NOT valid under Deepgram. The enum below lists the union of both providers' codes; a code invalid for the chosen provider is rejected on save. OMIT to leave the STT language unchanged."
    },
    "voice_stt_keyterms": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Stt Keyterms",
      "description": "Domain-vocab bias for STT — names, product SKUs, etc. Passed verbatim as repeated `&keyterm=<w>` query params. Works on both Nova-3 and Flux. Prefer short phrases over full sentences. Empty list [] = no bias. Omit leaves unchanged."
    },
    "voice_transfer_numbers": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Transfer Numbers",
      "description": "Phone numbers (E.164, e.g. '+15551234567') the agent may cold-transfer a live call to ('let me put you through to a manager'). Any destination not on this list is refused; an empty list [] means the agent cannot transfer at all. Omit leaves unchanged."
    },
    "voice_tts_provider": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "alibaba",
            "cartesia",
            "deepgram",
            "openai",
            "qwen",
            "xai"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Tts Provider",
      "description": "Text-to-speech provider: 'deepgram' (default, Aura-2 EN-only), 'openai' (multilingual), 'cartesia' (Sonic-3, ultra-low TTFB, multilingual), 'alibaba' (CosyVoice v3-flash, multilingual, ~95ms TTFB), 'qwen' (Qwen3-TTS, self-hosted), or 'xai' (Grok, ~20 langs). OMIT to leave the TTS provider unchanged."
    },
    "voice_tts_voice": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Tts Voice",
      "description": "TTS voice id — provider-specific (e.g. 'aura-2-thalia-en' for Deepgram, 'alloy' for OpenAI, Cartesia voice UUID). Pass null to revert to provider default."
    },
    "voice_tts_language": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[a-z]{2}(-[A-Z]{2})?$"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Tts Language",
      "description": "TTS language code, BCP-47 lite e.g. 'en', 'es', 'pt-BR' (Cartesia only, default 'en')."
    },
    "voice_tts_speed": {
      "anyOf": [
        {
          "type": "number",
          "maximum": 2.0,
          "minimum": 0.5
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Tts Speed",
      "description": "TTS playback speed multiplier (0.5-2.0, default 1.0). OpenAI/Cartesia only — ignored for Deepgram."
    },
    "voice_endpointing_min_delay": {
      "anyOf": [
        {
          "type": "number",
          "maximum": 2.0,
          "minimum": 0.1
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Endpointing Min Delay",
      "description": "Silence after end-of-utterance before agent replies (0.1-2.0s, default 0.3). Higher = fewer false interrupts; lower = snappier."
    },
    "voice_interruption_min_duration": {
      "anyOf": [
        {
          "type": "number",
          "maximum": 1.5,
          "minimum": 0.1
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Interruption Min Duration",
      "description": "Min caller speech duration to interrupt the agent (0.1-1.5s, default 0.25). Higher = ignore short fillers like 'uh-huh'."
    },
    "voice_group_interim_barge_in": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Group Interim Barge In",
      "description": "GROUP/Meet barge-in: interrupt the agent AS SOON AS a participant starts speaking (on the interim transcript), instead of waiting for the finished utterance. Default true. Set true to make a presenter/group agent easy to interrupt mid-sentence (word-gated by voice_group_barge_in_min_words so ambient noise can't trip it); false = only a completed utterance interrupts. OMIT to leave unchanged."
    },
    "voice_group_barge_in_min_words": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 6.0,
          "minimum": 1.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Group Barge In Min Words",
      "description": "GROUP/Meet barge-in word gate (1-6, default 1): a participant line must have at least this many words to interrupt the agent. 1 = any word interrupts (most responsive); raise to ignore short cross-talk. OMIT to leave unchanged."
    },
    "voice_group_barge_in_stop_words": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Group Barge In Stop Words",
      "description": "GROUP/Meet barge-in stop-words: any of these words/phrases ALWAYS interrupts the agent, even below voice_group_barge_in_min_words (e.g. ['стоп','подожди','вопрос','stop','wait','question']). Empty list [] clears. OMIT to leave unchanged."
    },
    "voice_group_barge_in_requires_address": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Group Barge In Requires Address",
      "description": "GROUP/Meet barge-in: when true, only lines that ADDRESS the agent (by name/keyword) interrupt it — two humans talking to each other won't break the walk. Default false. OMIT to leave unchanged."
    },
    "voice_greeting": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Greeting",
      "description": "Opening line the agent speaks when the call connects. Pass an empty string \"\" to clear. Omit or null leaves unchanged."
    },
    "voice_greeting_returning": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Greeting Returning",
      "description": "Greeting variant for RETURNING callers (thread has prior history or a resolved name). Supports '{name}' — replaced with the caller's name when known, stripped when not. Pass an empty string \"\" to clear (always use voice_greeting). Omit or null leaves unchanged."
    },
    "voice_filler_enabled": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Filler Enabled",
      "description": "Emit thinking filler audio while working."
    },
    "voice_denoise": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Denoise",
      "description": "Server-side noise suppression (DeepFilterNet) on the INBOUND caller audio before STT — cleans background noise so the agent hears callers in loud/public places and gets fewer false barge-ins. Channel-agnostic: applies to every voice channel the agent answers on. Default false (unset). OMIT to leave unchanged."
    },
    "voice_filler_audio_preset": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Filler Audio Preset",
      "description": "Which bundled clip plays as thinking filler."
    },
    "voice_greeting_interruptible": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Greeting Interruptible",
      "description": "Allow the caller to barge in during the opener TTS. Default true (trial-friendly — long greetings can be interrupted). Set false on outbound-call agents whose configured opener would otherwise get preempted by the caller's 'Hello?' triggering an off-script auto-turn. OMIT to leave this flag unchanged."
    },
    "voice_silence_reprompt_s": {
      "anyOf": [
        {
          "type": "number",
          "maximum": 30.0,
          "minimum": 0.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Silence Reprompt S",
      "description": "Re-prompt a silent caller after N seconds."
    },
    "voice_greeting_prerender": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Greeting Prerender",
      "description": "Pre-synthesize the greeting in the agent's voice."
    },
    "voice_speak_first": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Speak First",
      "description": "Greet immediately, or listen first and answer."
    },
    "voice_preemptive_generation": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Preemptive Generation",
      "description": "Speculatively start the model on speech-to-text partials."
    },
    "voice_hold_ready_reply": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Hold Ready Reply",
      "description": "Keep a ready reply the caller talked over and say it at the next pause."
    },
    "voice_record_calls": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Record Calls",
      "description": "Record voice calls handled by this agent (stereo audio: caller and agent on separate channels), stored with the call for later playback. Default false. Ensure callers are informed of recording where consent rules apply. OMIT to leave this flag unchanged."
    },
    "voice_record_announce": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Record Announce",
      "description": "On recorded calls, prepend a short 'this call may be recorded' not

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://artifacts.apis.io/dialogbrain-com/json-schema/dialogbrain-com-agent-update-request-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/dialogbrain-com-agent-update-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.