{
"status": "success",
"message": "Agent retrieved successfully",
"data": {
"ai_agent_id": "3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42",
"agent_name": "Customer Support Agent",
"agent_status": "ACTIVE",
"language_code": "en-US",
"llm": {
"llm_id": "9d259647-d5ec-423d-96a9-2750980e8ecb",
"llm_type": "simple",
"model_provider": "openai",
"model_name": "gpt-4o-mini",
"model_display_name": "GPT-4o mini",
"model_temperature": 0.1,
"max_tokens": 4096,
"system_prompt": "You are a helpful customer support assistant."
},
"stt": {
"provider_id": "6a5c45808d2d94e9d0e255d3",
"provider": "deepgram",
"model_id": "af97a5f7-0f10-4eb3-a915-f7fe95a050f8",
"model": "nova-3-general"
},
"tts": {
"provider_id": "6a5c079f814b8ed08b15172b",
"provider": "elevenlabs",
"voice_id": "IKne3meq5aSn9XLyUdCD",
"voice_name": "Charlie",
"model_name": "eleven_flash_v2_5",
"voice_temperature": 1
},
"speech_speed": 0.9,
"vad_activation_threshold": 0.4,
"knowledge_base_id": "kb-123456",
"enable_user_interruptions": true,
"minimum_speech_duration_for_interruptions": 0.5,
"minimum_words_before_interruption": 2,
"interruption_mode": "vad",
"ambient_sound": "office",
"ambient_sound_volume": 1,
"webhook_url": "https://api.example.com/webhooks/call-events",
"end_call_after_silence_seconds": 20,
"max_call_duration_seconds": 600,
"welcome_message": "Hello! Thanks for calling. How can I help you today?",
"end_call_instruction": "End the call politely once the issue is resolved.",
"amd_voicemail_message": "Sorry we missed you. Please call us back.",
"voicemail_detection_timeout_seconds": 5,
"agent_ended_call_delay_seconds": 1,
"welcome_message_delay_in_seconds": 0.5,
"enable_amd": true,
"silence_reminder_enabled": true,
"silence_reminder_duration_seconds": 15,
"max_number_of_silence_reminders": 3,
"interval_between_silence_reminders_seconds": 10,
"enable_noise_cancellation": true,
"dynamic_data_config": [
{
"name": "customer_data",
"url": "https://api.example.com/customer-data",
"method": "GET",
"timeout": 2000,
"cache": true,
"response_data": [
{
"name": "customer_name",
"data": "$.customer.name",
"context": "Customer's full name for personalization"
}
]
}
],
"post_call_analysis": [
{
"type": "string",
"name": "call_summary",
"description": "A brief summary of the call and key points.",
"examples": [
"Customer asked about billing; issue resolved."
]
}
],
"pronunciations": [
{
"id": "r1",
"term": "API",
"replacement": "ay pee eye"
}
],
"organization_id": "org_7f3a9c",
"agent_owner_id": "usr_12ab34",
"created_by_user_id": "usr_12ab34",
"created_at": "2026-10-15T09:30:12.481Z",
"modified_at": "2026-10-15T10:02:47.115Z",
"current_version": 2,
"operation_type": "GET"
}
}
AI Agents v3
Get AI Agent
Retrieve one agent by id, with every catalog reference resolved to names.
The shape depends on the agent type. A simple agent has root llm, stt and tts. A flow agent has the root llm with graph_data, filled from the flow-default model, and no root stt or tts. See the two 200 examples.
The API key resolves to neither a workspace nor an organization.
403
The agent exists but belongs to another organization or workspace.
404
No such agent, or the agent is INACTIVE or DELETED.
Errors use the envelope too, so 403 and 404 carry a body:
{ "status": "error", "message": "Agent not found with ID: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42"}
To see agents that are not ACTIVE, use List AI Agents with agent_status.
Response envelope
Every v3 response uses the same envelope:
Field
Meaning
status
success or error. Always lowercase.
message
A human-readable summary.
data
The result. Absent on errors.
error_details
A map from field path to message. Present only on some errors.
Fields with no value are omitted rather than returned as null. List items behave differently; see List AI Agents.
The response message is Agent retrieved successfully and operation_type is GET.
data.llm includes the resolved model_provider, model_name and model_display_name. Update AI Agent rejects those three fields with 400. Do not send data.llm back unchanged: remove those fields, or send only the fields you change.
GET
/
v3
/
ai-agents
/
{agent_id}
Get AI Agent
curl --request GET \
--url https://api.example.com/v3/ai-agents/{agent_id}
Field path to message, for validation failures. Omitted when there are none.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Verbex Docs","colors":{"primary":"#0D9373","light":"#07C983","dark":"#0D9373"},"logo":{"light":"https://mintcdn.com/hishabsingaporepteltd/hKDJJlbuwj-_7GRI/light.png?fit=max\u0026auto=format\u0026n=hKDJJlbuwj-_7GRI\u0026q=85\u0026s=8e51283f8c4e5daa2b06e4c7b010036a","dark":"https://mintcdn.com/hishabsingaporepteltd/Bd-nkhA8cT0nKgAS/dark.png?fit=max\u0026auto=format\u0026n=Bd-nkhA8cT0nKgAS\u0026q=85\u0026s=c7eab5a32b4f7a91d7d0a702fa7aa1d1"},"favicon":"https://mintcdn.com/hishabsingaporepteltd/Bd-nkhA8cT0nKgAS/favicon.png?fit=max\u0026auto=format\u0026n=Bd-nkhA8cT0nKgAS\u0026q=85\u0026s=b848ae01a88c70cb541c5bf4ba708435","navbar":{"primary":{"type":"button","label":"Dashboard","href":"https://console.verbex.ai/dashboard"}},"footer":{"socials":{"discord":"https://discord.gg/9c6b2GAq5t","youtube":"https://www.youtube.com/@verbexadmin","facebook":"https://web.facebook.com/hishabltd","linkedin":"https://www.linkedin.com/company/hishab"}},"fonts":{"heading":{"family":"Poppins-Thin 100"},"body":{"family":"Poppins-Thin 100"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hishabsingaporepteltd","hasAudioNarration":false,"actualSubdomain":"hishabsingaporepteltd","customDomains":["docs.verbex.ai"],"gitSource":{"type":"github","owner":"verbex-ai","repo":"verbex-platform-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ac4dccaa04ae9340921a186","collectionId":"0c147a9b-11cc-45fe-a0a7-0361e52421ef","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ac4dccaa04ae9340921a186"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae7c703706f6ab40243f401","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":74},{"language":"default","tag":"Documentation","count":39},{"language":"default","tag":"Build Your AI Agent - Step by Step","count":24},{"language":"default","tag":"Knowledge Bases","count":13},{"language":"default","tag":" Connect Tools","count":11},{"language":"default","tag":"Webhook Subscriptions","count":6},{"language":"default","tag":" Create Your AI Agent","count":5},{"language":"default","tag":" Configure Your AI Agent","count":5},{"language":"default","tag":"AI Agents v2","count":5},{"language":"default","tag":"AI Agents v3","count":5}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/ai-agents-v3/get-ai-agent","slug":"/api-reference/ai-agents-v3/get-ai-agent","pageMetadata":{"title":"Get AI Agent","description":"Retrieve one agent by id, with every catalog reference resolved to names.\n\nThe shape depends on the agent type. A `simple` agent has root `llm`, `stt` and `tts`. A `flow` agent has the root `llm` with `graph_data`, filled from the flow-default model, and no root `stt` or `tts`. See the two `200` examples.\n\n\u003cWarning>\n**The v2 equivalent, [`GET /v2/ai-agents/{agent_id}`](/api-reference/ai-agents-v2/get-ai-agent), is deprecated and stops working on November 30, 2026.** This is the v3 endpoint. [Migrate from v2 to v3](/api-reference/ai-agents-v3/migrate-from-v2) before that date.\n\u003c/Warning>\n\n## Status codes\n\n| Code | When |\n| --- | --- |\n| `200` | The agent exists, is `ACTIVE` and is in your scope. |\n| `400` | The API key resolves to neither a workspace nor an organization. |\n| `403` | The agent exists but belongs to another organization or workspace. |\n| `404` | No such agent, **or** the agent is `INACTIVE` or `DELETED`. |\n\nErrors use the envelope too, so `403` and `404` carry a body:\n\n```json\n{\n \"status\": \"error\",\n \"message\": \"Agent not found with ID: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42\"\n}\n```\n\nTo see agents that are not `ACTIVE`, use [List AI Agents](/api-reference/ai-agents-v3/list-ai-agents) with `agent_status`.\n\n## Response envelope\n\nEvery v3 response uses the same envelope:\n\n| Field | Meaning |\n| --- | --- |\n| `status` | `success` or `error`. Always lowercase. |\n| `message` | A human-readable summary. |\n| `data` | The result. Absent on errors. |\n| `error_details` | A map from field path to message. Present only on some errors. |\n\nFields with no value are omitted rather than returned as `null`. List items behave differently; see [List AI Agents](/api-reference/ai-agents-v3/list-ai-agents).\n\nThe response message is `Agent retrieved successfully` and `operation_type` is `GET`.\n\n\u003cWarning>\n`data.llm` includes the resolved `model_provider`, `model_name` and `model_display_name`. [Update AI Agent](/api-reference/ai-agents-v3/update-ai-agent) rejects those three fields with `400`. Do not send `data.llm` back unchanged: remove those fields, or send only the fields you change.\n\u003c/Warning>","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v3/ai-agents/{agent_id}","href":"/api-reference/ai-agents-v3/get-ai-agent","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n h2: \"h2\",\n p: \"p\",\n pre: \"pre\",\n span: \"span\",\n strong: \"strong\",\n table: \"table\",\n tbody: \"tbody\",\n td: \"td\",\n th: \"th\",\n thead: \"thead\",\n tr: \"tr\",\n ..._provideComponents(),\n ...props.components\n }, {CodeBlock, Warning} = _components;\n if (!CodeBlock) _missingMdxReference(\"CodeBlock\", true);\n if (!Warning) _missingMdxReference(\"Warning\", true);\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Retrieve one agent by id, with every catalog reference resolved to names.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The shape depends on the agent type. A \", _jsx(_components.code, {\n children: \"simple\"\n }), \" agent has root \", _jsx(_components.code, {\n children: \"llm\"\n }), \", \", _jsx(_components.code, {\n children: \"stt\"\n }), \" and \", _jsx(_components.code, {\n children: \"tts\"\n }), \". A \", _jsx(_components.code, {\n children: \"flow\"\n }), \" agent has the root \", _jsx(_components.code, {\n children: \"llm\"\n }), \" with \", _jsx(_components.code, {\n children: \"graph_data\"\n }), \", filled from the flow-default model, and no root \", _jsx(_components.code, {\n children: \"stt\"\n }), \" or \", _jsx(_components.code, {\n children: \"tts\"\n }), \". See the two \", _jsx(_components.code, {\n children: \"200\"\n }), \" examples.\"]\n }), \"\\n\", _jsx(Warning, {\n children: _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [\"The v2 equivalent, \", _jsx(_components.a, {\n href: \"/api-reference/ai-agents-v2/get-ai-agent\",\n children: _jsx(_components.code, {\n children: \"GET /v2/ai-agents/{agent_id}\"\n })\n }), \", is deprecated and stops working on November 30, 2026.\"]\n }), \" This is the v3 endpoint. \", _jsx(_components.a, {\n href: \"/api-reference/ai-agents-v3/migrate-from-v2\",\n children: \"Migrate from v2 to v3\"\n }), \" before that date.\"]\n })\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Status codes\"\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n children: \"Code\"\n }), _jsx(_components.th, {\n children: \"When\"\n })]\n })\n }), _jsxs(_components.tbody, {\n children: [_jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"200\"\n })\n }), _jsxs(_components.td, {\n children: [\"The agent exists, is \", _jsx(_components.code, {\n children: \"ACTIVE\"\n }), \" and is in your scope.\"]\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"400\"\n })\n }), _jsx(_components.td, {\n children: \"The API key resolves to neither a workspace nor an organization.\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"403\"\n })\n }), _jsx(_components.td, {\n children: \"The agent exists but belongs to another organization or workspace.\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"404\"\n })\n }), _jsxs(_components.td, {\n children: [\"No such agent, \", _jsx(_components.strong, {\n children: \"or\"\n }), \" the agent is \", _jsx(_components.code, {\n children: \"INACTIVE\"\n }), \" or \", _jsx(_components.code, {\n children: \"DELETED\"\n }), \".\"]\n })]\n })]\n })]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Errors use the envelope too, so \", _jsx(_components.code, {\n children: \"403\"\n }), \" and \", _jsx(_components.code, {\n children: \"404\"\n }), \" carry a body:\"]\n }), \"\\n\", _jsx(CodeBlock, {\n numberOfLines: \"4\",\n language: \"json\",\n children: _jsx(_components.pre, {\n className: \"shiki shiki-themes github-light-default dark-plus\",\n style: {\n backgroundColor: \"#ffffff\",\n \"--shiki-dark-bg\": \"#0B0C0E\",\n color: \"#1f2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n language: \"json\",\n children: _jsxs(_components.code, {\n language: \"json\",\n numberOfLines: \"4\",\n children: [_jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \"{\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"status\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0A3069\",\n \"--shiki-dark\": \"#CE9178\"\n },\n children: \"\\\"error\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"message\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0A3069\",\n \"--shiki-dark\": \"#CE9178\"\n },\n children: \"\\\"Agent not found with ID: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42\\\"\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \"}\"\n })\n }), \"\\n\"]\n })\n })\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"To see agents that are not \", _jsx(_components.code, {\n children: \"ACTIVE\"\n }), \", use \", _jsx(_components.a, {\n href: \"/api-reference/ai-agents-v3/list-ai-agents\",\n children: \"List AI Agents\"\n }), \" with \", _jsx(_components.code, {\n children: \"agent_status\"\n }), \".\"]\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Response envelope\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Every v3 response uses the same envelope:\"\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n children: \"Field\"\n }), _jsx(_components.th, {\n children: \"Meaning\"\n })]\n })\n }), _jsxs(_components.tbody, {\n children: [_jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"status\"\n })\n }), _jsxs(_components.td, {\n children: [_jsx(_components.code, {\n children: \"success\"\n }), \" or \", _jsx(_components.code, {\n children: \"error\"\n }), \". Always lowercase.\"]\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"message\"\n })\n }), _jsx(_components.td, {\n children: \"A human-readable summary.\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"data\"\n })\n }), _jsx(_components.td, {\n children: \"The result. Absent on errors.\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: _jsx(_components.code, {\n children: \"error_details\"\n })\n }), _jsx(_components.td, {\n children: \"A map from field path to message. Present only on some errors.\"\n })]\n })]\n })]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Fields with no value are omitted rather than returned as \", _jsx(_components.code, {\n children: \"null\"\n }), \". List items behave differently; see \", _jsx(_components.a, {\n href: \"/api-reference/ai-agents-v3/list-ai-agents\",\n children: \"List AI Agents\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The response message is \", _jsx(_components.code, {\n children: \"Agent retrieved successfully\"\n }), \" and \", _jsx(_components.code, {\n children: \"operation_type\"\n }), \" is \", _jsx(_components.code, {\n children: \"GET\"\n }), \".\"]\n }), \"\\n\", _jsx(Warning, {\n children: _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"data.llm\"\n }), \" includes the resolved \", _jsx(_components.code, {\n children: \"model_provider\"\n }), \", \", _jsx(_components.code, {\n children: \"model_name\"\n }), \" and \", _jsx(_components.code, {\n children: \"model_display_name\"\n }), \". \", _jsx(_components.a, {\n href: \"/api-reference/ai-agents-v3/update-ai-agent\",\n children: \"Update AI Agent\"\n }), \" rejects those three fields with \", _jsx(_components.code, {\n children: \"400\"\n }), \". Do not send \", _jsx(_components.code, {\n children: \"data.llm\"\n }), \" back unchanged: remove those fields, or send only the fields you change.\"]\n })\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get AI Agent","description":"Retrieve one agent by id, with every catalog reference resolved to names.\n\nThe shape depends on the agent type. A `simple` agent has root `llm`, `stt` and `tts`. A `flow` agent has the root `llm` with `graph_data`, filled from the flow-default model, and no root `stt` or `tts`. See the two `200` examples.\n\n\u003cWarning>\n**The v2 equivalent, [`GET /v2/ai-agents/{agent_id}`](/api-reference/ai-agents-v2/get-ai-agent), is deprecated and stops working on November 30, 2026.** This is the v3 endpoint. [Migrate from v2 to v3](/api-reference/ai-agents-v3/migrate-from-v2) before that date.\n\u003c/Warning>\n\n## Status codes\n\n| Code | When |\n| --- | --- |\n| `200` | The agent exists, is `ACTIVE` and is in your scope. |\n| `400` | The API key resolves to neither a workspace nor an organization. |\n| `403` | The agent exists but belongs to another organization or workspace. |\n| `404` | No such agent, **or** the agent is `INACTIVE` or `DELETED`. |\n\nErrors use the envelope too, so `403` and `404` carry a body:\n\n```json\n{\n \"status\": \"error\",\n \"message\": \"Agent not found with ID: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42\"\n}\n```\n\nTo see agents that are not `ACTIVE`, use [List AI Agents](/api-reference/ai-agents-v3/list-ai-agents) with `agent_status`.\n\n## Response envelope\n\nEvery v3 response uses the same envelope:\n\n| Field | Meaning |\n| --- | --- |\n| `status` | `success` or `error`. Always lowercase. |\n| `message` | A human-readable summary. |\n| `data` | The result. Absent on errors. |\n| `error_details` | A map from field path to message. Present only on some errors. |\n\nFields with no value are omitted rather than returned as `null`. List items behave differently; see [List AI Agents](/api-reference/ai-agents-v3/list-ai-agents).\n\nThe response message is `Agent retrieved successfully` and `operation_type` is `GET`.\n\n\u003cWarning>\n`data.llm` includes the resolved `model_provider`, `model_name` and `model_display_name`. [Update AI Agent](/api-reference/ai-agents-v3/update-ai-agent) rejects those three fields with `400`. Do not send `data.llm` back unchanged: remove those fields, or send only the fields you change.\n\u003c/Warning>","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v3/ai-agents/{agent_id}","href":"/api-reference/ai-agents-v3/get-ai-agent","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["AI Agents v3"],"summary":"Get AI Agent","description":"Retrieve one agent by id, with every catalog reference resolved to names.\n\nThe shape depends on the agent type. A `simple` agent has root `llm`, `stt` and `tts`. A `flow` agent has the root `llm` with `graph_data`, filled from the flow-default model, and no root `stt` or `tts`. See the two `200` examples.\n\n\u003cWarning>\n**The v2 equivalent, [`GET /v2/ai-agents/{agent_id}`](/api-reference/ai-agents-v2/get-ai-agent), is deprecated and stops working on November 30, 2026.** This is the v3 endpoint. [Migrate from v2 to v3](/api-reference/ai-agents-v3/migrate-from-v2) before that date.\n\u003c/Warning>\n\n## Status codes\n\n| Code | When |\n| --- | --- |\n| `200` | The agent exists, is `ACTIVE` and is in your scope. |\n| `400` | The API key resolves to neither a workspace nor an organization. |\n| `403` | The agent exists but belongs to another organization or workspace. |\n| `404` | No such agent, **or** the agent is `INACTIVE` or `DELETED`. |\n\nErrors use the envelope too, so `403` and `404` carry a body:\n\n```json\n{\n \"status\": \"error\",\n \"message\": \"Agent not found with ID: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42\"\n}\n```\n\nTo see agents that are not `ACTIVE`, use [List AI Agents](/api-reference/ai-agents-v3/list-ai-agents) with `agent_status`.\n\n## Response envelope\n\nEvery v3 response uses the same envelope:\n\n| Field | Meaning |\n| --- | --- |\n| `status` | `success` or `error`. Always lowercase. |\n| `message` | A human-readable summary. |\n| `data` | The result. Absent on errors. |\n| `error_details` | A map from field path to message. Present only on some errors. |\n\nFields with no value are omitted rather than returned as `null`. List items behave differently; see [List AI Agents](/api-reference/ai-agents-v3/list-ai-agents).\n\nThe response message is `Agent retrieved successfully` and `operation_type` is `GET`.\n\n\u003cWarning>\n`data.llm` includes the resolved `model_provider`, `model_name` and `model_display_name`. [Update AI Agent](/api-reference/ai-agents-v3/update-ai-agent) rejects those three fields with `400`. Do not send `data.llm` back unchanged: remove those fields, or send only the fields you change.\n\u003c/Warning>","operationId":"get_ai_agent_v3","parameters":["20eafb39-a743-4786-9194-de48adf23680"],"responses":{"200":"f204344b-c5c8-4197-937a-3f9753a6b75e","400":"3d74f083-15d4-4e24-8763-3fa1a55db4b1","403":"509aefa8-f32b-4b3c-be4f-4cdc7e1f579b","404":"7e6e706a-cfac-4a8f-ace4-56f42d1c10a7"},"method":"get","type":"path","servers":[],"security":[],"path":"/v3/ai-agents/{agent_id}","baseUrlOptions":[],"title":"Get AI Agent","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"20eafb39-a743-4786-9194-de48adf23680":{"name":"agent_id","in":"path","required":true,"description":"Unique identifier of the AI agent (`ai_agent_id`).","schema":{"type":"string","title":"Agent Id","isRequired":true,"description":"Unique identifier of the AI agent (`ai_agent_id`).","uniqueKey":"","typeLabel":"string"}}},"responses":{"f204344b-c5c8-4197-937a-3f9753a6b75e":{"description":"The agent","content":{"application/json":{"schema":{"type":"object","title":"ApiResponse\u003cAIAgent>","description":"Standard v3 envelope. `error_details` is present only on failures; null fields are omitted.","properties":{"status":{"type":"string","enum":["success","error"],"title":"Status","description":"Outcome of the request: `success` or `error`, in lowercase.","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","description":"Human-readable message about the result.","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","title":"AIAgentV3Response","description":"The agent. Omitted on errors.","required":["ai_agent_id"],"properties":{"ai_agent_id":{"type":"string","title":"Ai Agent Id","description":"Unique identifier for the AI agent.","isRequired":true,"uniqueKey":"data.ai_agent_id","typeLabel":"string"},"language_code":{"oneOf":[{"type":"string","title":"Language Code","description":"BCP-47 language code for the agent, for example `en-US`.","uniqueKey":"data.language_code.oneOf.0","typeLabel":"string"},{"type":"null","title":"Language Code","description":"BCP-47 language code for the agent, for example `en-US`.","uniqueKey":"data.language_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.language_code","typeLabel":"string | null"},"timezone":{"oneOf":[{"type":"string","title":"Timezone","description":"Canonical IANA time zone the agent reads its clock in, e.g. 'Asia/Tokyo'. Rejected if it is not a tzdb name: abbreviations (JST), UTC offsets (+09:00) and city-only strings (Tokyo) are not accepted. Omitted or null leaves the agent without a timezone; there is no default.","uniqueKey":"data.timezone.oneOf.0","typeLabel":"string"},{"type":"null","title":"Timezone","description":"Canonical IANA time zone the agent reads its clock in, e.g. 'Asia/Tokyo'. Rejected if it is not a tzdb name: abbreviations (JST), UTC offsets (+09:00) and city-only strings (Tokyo) are not accepted. Omitted or null leaves the agent without a timezone; there is no default.","uniqueKey":"data.timezone.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.timezone","typeLabel":"string | null"},"speech_speed":{"oneOf":[{"type":"number","title":"Speech Speed","description":"Speaking-rate multiplier for the agent's audio: 1.0 is normal, below 1.0 slower, above 1.0 faster.","default":1,"maximum":2,"minimum":0.5,"uniqueKey":"data.speech_speed.oneOf.0","typeLabel":"number"},{"type":"null","title":"Speech Speed","description":"Speaking-rate multiplier for the agent's audio: 1.0 is normal, below 1.0 slower, above 1.0 faster.","default":1,"uniqueKey":"data.speech_speed.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.speech_speed","typeLabel":"number | null"},"knowledge_base_id":{"oneOf":[{"type":"string","title":"Knowledge Base Id","description":"Knowledge base the agent retrieves from.","uniqueKey":"data.knowledge_base_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Knowledge Base Id","description":"Knowledge base the agent retrieves from.","uniqueKey":"data.knowledge_base_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.knowledge_base_id","typeLabel":"string | null"},"welcome_message":{"oneOf":[{"type":"string","title":"Welcome Message","description":"Custom message the agent speaks when the call begins.","example":"Hello! Thanks for calling. How can I help you today?","uniqueKey":"data.welcome_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Welcome Message","description":"Custom message the agent speaks when the call begins.","example":"Hello! Thanks for calling. How can I help you today?","uniqueKey":"data.welcome_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.welcome_message","typeLabel":"string | null"},"welcome_message_delay_in_seconds":{"oneOf":[{"type":"number","title":"Welcome Message Delay In Seconds","description":"Delay in seconds, `0`–`10`, before the agent speaks the welcome message.","default":2,"maximum":10,"minimum":0,"uniqueKey":"data.welcome_message_delay_in_seconds.oneOf.0","typeLabel":"number"},{"type":"null","title":"Welcome Message Delay In Seconds","description":"Delay in seconds, `0`–`10`, before the agent speaks the welcome message.","default":2,"uniqueKey":"data.welcome_message_delay_in_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.welcome_message_delay_in_seconds","typeLabel":"number | null"},"enable_user_interruptions":{"oneOf":[{"type":"boolean","title":"Enable User Interruptions","description":"Whether the caller can interrupt the agent while it is speaking.","default":true,"uniqueKey":"data.enable_user_interruptions.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enable User Interruptions","description":"Whether the caller can interrupt the agent while it is speaking.","default":true,"uniqueKey":"data.enable_user_interruptions.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.enable_user_interruptions","typeLabel":"boolean | null"},"interruption_mode":{"oneOf":[{"type":"string","title":"Interruption Mode","description":"Interruption detection strategy. Null when unset.","enum":["vad","adaptive"],"uniqueKey":"data.interruption_mode.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Interruption Mode","description":"Interruption detection strategy. Null when unset.","uniqueKey":"data.interruption_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.interruption_mode","typeLabel":"enum\u003cstring> | null"},"minimum_speech_duration_for_interruptions":{"oneOf":[{"type":"number","title":"Minimum Speech Duration For Interruptions","description":"Seconds of speech before an interruption is accepted. Minimum 0.5 on create; 0.0 is accepted on update.","default":0.5,"maximum":15,"minimum":0.5,"uniqueKey":"data.minimum_speech_duration_for_interruptions.oneOf.0","typeLabel":"number"},{"type":"null","title":"Minimum Speech Duration For Interruptions","description":"Seconds of speech before an interruption is accepted. Minimum 0.5 on create; 0.0 is accepted on update.","default":0.5,"uniqueKey":"data.minimum_speech_duration_for_interruptions.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.minimum_speech_duration_for_interruptions","typeLabel":"number | null"},"minimum_words_before_interruption":{"oneOf":[{"type":"integer","title":"Minimum Words Before Interruption","description":"Minimum number of words, `0`–`10`, the caller must say before the agent treats the speech as an interruption. Used when `enable_user_interruptions` is `true`.","default":2,"maximum":10,"minimum":0,"uniqueKey":"data.minimum_words_before_interruption.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Minimum Words Before Interruption","description":"Minimum number of words, `0`–`10`, the caller must say before the agent treats the speech as an interruption. Used when `enable_user_interruptions` is `true`.","default":2,"uniqueKey":"data.minimum_words_before_interruption.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.minimum_words_before_interruption","typeLabel":"integer | null"},"vad_activation_threshold":{"oneOf":[{"type":"number","title":"Vad Activation Threshold","description":"Voice activity detection sensitivity, `0.10`–`0.90`. There is no service-side default: when unset, the call handler uses its own per-language default, and the key is omitted from create, get and update responses. On update, omitting the key keeps the stored value.","maximum":0.9,"minimum":0.1,"uniqueKey":"data.vad_activation_threshold.oneOf.0","typeLabel":"number"},{"type":"null","title":"Vad Activation Threshold","description":"Voice activity detection sensitivity, `0.10`–`0.90`. There is no service-side default: when unset, the call handler uses its own per-language default, and the key is omitted from create, get and update responses. On update, omitting the key keeps the stored value.","uniqueKey":"data.vad_activation_threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.vad_activation_threshold","typeLabel":"number | null"},"wait_time_before_detecting_end_of_speech":{"oneOf":[{"type":"number","title":"Wait Time Before Detecting End Of Speech","description":"Seconds of silence before the caller's turn is treated as finished. **Flow agents only**: when omitted on create, a flow agent gets `0.2`. Other agent types ignore the value: create stores nothing and update keeps whatever was stored.","maximum":15,"minimum":0,"uniqueKey":"data.wait_time_before_detecting_end_of_speech.oneOf.0","typeLabel":"number"},{"type":"null","title":"Wait Time Before Detecting End Of Speech","description":"Seconds of silence before the caller's turn is treated as finished. **Flow agents only**: when omitted on create, a flow agent gets `0.2`. Other agent types ignore the value: create stores nothing and update keeps whatever was stored.","uniqueKey":"data.wait_time_before_detecting_end_of_speech.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.wait_time_before_detecting_end_of_speech","typeLabel":"number | null"},"max_endpointing_delay":{"oneOf":[{"type":"number","title":"Max Endpointing Delay","description":"Upper bound, in seconds, on how long end-of-speech detection may wait. **Flow agents only**: when omitted on create, a flow agent gets `2.0`. It must be greater than `wait_time_before_detecting_end_of_speech`, otherwise the request returns `422`. Other agent types ignore the value.","maximum":15,"minimum":0,"uniqueKey":"data.max_endpointing_delay.oneOf.0","typeLabel":"number"},{"type":"null","title":"Max Endpointing Delay","description":"Upper bound, in seconds, on how long end-of-speech detection may wait. **Flow agents only**: when omitted on create, a flow agent gets `2.0`. It must be greater than `wait_time_before_detecting_end_of_speech`, otherwise the request returns `422`. Other agent types ignore the value.","uniqueKey":"data.max_endpointing_delay.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.max_endpointing_delay","typeLabel":"number | null"},"ambient_sound":{"oneOf":[{"type":"string","title":"Ambient Sound","description":"Background sound mixed into the call audio. `none` adds no sound.","default":"none","enum":["office","cafe","restaurant","park","street","home","library","airport","train_station","beach","none"],"uniqueKey":"data.ambient_sound.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Ambient Sound","description":"Background sound mixed into the call audio. `none` adds no sound.","default":"none","uniqueKey":"data.ambient_sound.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ambient_sound","typeLabel":"enum\u003cstring> | null"},"ambient_sound_volume":{"oneOf":[{"type":"number","title":"Ambient Sound Volume","description":"Volume of the ambient sound, `0`–`2`, where `1` is normal volume.","default":1,"maximum":2,"minimum":0,"uniqueKey":"data.ambient_sound_volume.oneOf.0","typeLabel":"number"},{"type":"null","title":"Ambient Sound Volume","description":"Volume of the ambient sound, `0`–`2`, where `1` is normal volume.","default":1,"uniqueKey":"data.ambient_sound_volume.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.ambient_sound_volume","typeLabel":"number | null"},"enable_noise_cancellation":{"oneOf":[{"type":"boolean","title":"Enable Noise Cancellation","description":"Whether to apply noise cancellation to the caller's audio before speech recognition.","default":true,"uniqueKey":"data.enable_noise_cancellation.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enable Noise Cancellation","description":"Whether to apply noise cancellation to the caller's audio before speech recognition.","default":true,"uniqueKey":"data.enable_noise_cancellation.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.enable_noise_cancellation","typeLabel":"boolean | null"},"webhook_url":{"oneOf":[{"type":"string","title":"Webhook Url","description":"Receives webhook notifications about call events.","uniqueKey":"data.webhook_url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Webhook Url","description":"Receives webhook notifications about call events.","uniqueKey":"data.webhook_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.webhook_url","typeLabel":"string | null"},"end_call_after_silence_seconds":{"oneOf":[{"type":"integer","title":"End Call After Silence Seconds","description":"Seconds of caller silence, `10`–`30`, after which the call ends automatically.","default":10,"maximum":30,"minimum":10,"uniqueKey":"data.end_call_after_silence_seconds.oneOf.0","typeLabel":"integer"},{"type":"null","title":"End Call After Silence Seconds","description":"Seconds of caller silence, `10`–`30`, after which the call ends automatically.","default":10,"uniqueKey":"data.end_call_after_silence_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.end_call_after_silence_seconds","typeLabel":"integer | null"},"max_call_duration_seconds":{"oneOf":[{"type":"integer","title":"Max Call Duration Seconds","description":"Maximum duration of the call in seconds, `30`–`3600`.","default":1800,"maximum":3600,"minimum":30,"uniqueKey":"data.max_call_duration_seconds.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Call Duration Seconds","description":"Maximum duration of the call in seconds, `30`–`3600`.","default":1800,"uniqueKey":"data.max_call_duration_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.max_call_duration_seconds","typeLabel":"integer | null"},"end_call_instruction":{"oneOf":[{"type":"string","title":"End Call Instruction","description":"Instruction given to the LLM governing how and when to end the call.","uniqueKey":"data.end_call_instruction.oneOf.0","typeLabel":"string"},{"type":"null","title":"End Call Instruction","description":"Instruction given to the LLM governing how and when to end the call.","uniqueKey":"data.end_call_instruction.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.end_call_instruction","typeLabel":"string | null"},"agent_ended_call_delay_seconds":{"oneOf":[{"type":"number","title":"Agent Ended Call Delay Seconds","description":"Delay in seconds, `0`–`10`, before the call ends when the agent decides to end it.","default":2,"maximum":10,"minimum":0,"uniqueKey":"data.agent_ended_call_delay_seconds.oneOf.0","typeLabel":"number"},{"type":"null","title":"Agent Ended Call Delay Seconds","description":"Delay in seconds, `0`–`10`, before the call ends when the agent decides to end it.","default":2,"uniqueKey":"data.agent_ended_call_delay_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.agent_ended_call_delay_seconds","typeLabel":"number | null"},"enable_amd":{"oneOf":[{"type":"boolean","title":"Enable Amd","description":"Enable answering-machine detection.","default":false,"uniqueKey":"data.enable_amd.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enable Amd","description":"Enable answering-machine detection.","default":false,"uniqueKey":"data.enable_amd.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.enable_amd","typeLabel":"boolean | null"},"amd_voicemail_message":{"oneOf":[{"type":"string","title":"Amd Voicemail Message","description":"Played when answering-machine detection identifies a voicemail.","uniqueKey":"data.amd_voicemail_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Amd Voicemail Message","description":"Played when answering-machine detection identifies a voicemail.","uniqueKey":"data.amd_voicemail_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.amd_voicemail_message","typeLabel":"string | null"},"voicemail_detection_timeout_seconds":{"oneOf":[{"type":"integer","title":"Voicemail Detection Timeout Seconds","description":"Seconds to wait for voicemail detection before taking action. Used when `enable_amd` is `true`.","default":90,"minimum":0,"uniqueKey":"data.voicemail_detection_timeout_seconds.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Voicemail Detection Timeout Seconds","description":"Seconds to wait for voicemail detection before taking action. Used when `enable_amd` is `true`.","default":90,"uniqueKey":"data.voicemail_detection_timeout_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.voicemail_detection_timeout_seconds","typeLabel":"integer | null"},"silence_reminder_enabled":{"oneOf":[{"type":"boolean","title":"Silence Reminder Enabled","description":"Whether the agent reminds the caller to speak after a period of silence.","default":false,"uniqueKey":"data.silence_reminder_enabled.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Silence Reminder Enabled","description":"Whether the agent reminds the caller to speak after a period of silence.","default":false,"uniqueKey":"data.silence_reminder_enabled.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.silence_reminder_enabled","typeLabel":"boolean | null"},"silence_reminder_duration_seconds":{"oneOf":[{"type":"number","title":"Silence Reminder Duration Seconds","description":"Seconds of silence, `10`–`30`, before the agent reminds the caller to speak. Used when `silence_reminder_enabled` is `true`.","default":10,"maximum":30,"minimum":10,"uniqueKey":"data.silence_reminder_duration_seconds.oneOf.0","typeLabel":"number"},{"type":"null","title":"Silence Reminder Duration Seconds","description":"Seconds of silence, `10`–`30`, before the agent reminds the caller to speak. Used when `silence_reminder_enabled` is `true`.","default":10,"uniqueKey":"data.silence_reminder_duration_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.silence_reminder_duration_seconds","typeLabel":"number | null"},"max_number_of_silence_reminders":{"oneOf":[{"type":"integer","title":"Max Number Of Silence Reminders","description":"Maximum number of silence reminders, `1`–`10`. Used when `silence_reminder_enabled` is `true`.","default":3,"maximum":10,"minimum":1,"uniqueKey":"data.max_number_of_silence_reminders.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Number Of Silence Reminders","description":"Maximum number of silence reminders, `1`–`10`. Used when `silence_reminder_enabled` is `true`.","default":3,"uniqueKey":"data.max_number_of_silence_reminders.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.max_number_of_silence_reminders","typeLabel":"integer | null"},"interval_between_silence_reminders_seconds":{"oneOf":[{"type":"number","title":"Interval Between Silence Reminders Seconds","description":"Seconds between two consecutive silence reminders, `3`–`30`. Used when `silence_reminder_enabled` is `true`.","default":10,"maximum":30,"minimum":3,"uniqueKey":"data.interval_between_silence_reminders_seconds.oneOf.0","typeLabel":"number"},{"type":"null","title":"Interval Between Silence Reminders Seconds","description":"Seconds between two consecutive silence reminders, `3`–`30`. Used when `silence_reminder_enabled` is `true`.","default":10,"uniqueKey":"data.interval_between_silence_reminders_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.interval_between_silence_reminders_seconds","typeLabel":"number | null"},"dynamic_data_config":{"oneOf":[{"type":"array","items":{"type":"object","title":"DynamicDataConfigItem","description":"An external HTTP call the agent makes to fetch data during a call.","properties":{"name":{"oneOf":[{"type":"string","title":"Name","description":"Name of the data source. Legacy field, kept for older agents.","example":"customer_data","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Name","description":"Name of the data source. Legacy field, kept for older agents.","example":"customer_data","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].name","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","title":"Description","description":"What the data source provides. Legacy field, kept for older agents.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","title":"Description","description":"What the data source provides. Legacy field, kept for older agents.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].description","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The endpoint URL from which to fetch dynamic data during the conversation.","example":"https://api.example.com/customer-data","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The endpoint URL from which to fetch dynamic data during the conversation.","example":"https://api.example.com/customer-data","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].url","typeLabel":"string | null"},"method":{"oneOf":[{"type":"string","title":"Method","description":"The HTTP method to use when calling the endpoint, for example `GET`, `POST` or `PUT`.","default":"GET","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].method.oneOf.0","typeLabel":"string"},{"type":"null","title":"Method","description":"The HTTP method to use when calling the endpoint, for example `GET`, `POST` or `PUT`.","default":"GET","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].method.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].method","typeLabel":"string | null"},"timeout":{"oneOf":[{"type":"integer","title":"Timeout","description":"Maximum time in milliseconds to wait for the endpoint response before timing out. Minimum `1000`.","default":2000,"minimum":1000,"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].timeout.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Timeout","description":"Maximum time in milliseconds to wait for the endpoint response before timing out. Minimum `1000`.","default":2000,"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].timeout.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].timeout","typeLabel":"integer | null"},"headers":{"oneOf":[{"type":"object","title":"Headers","description":"HTTP headers to include in the request, for example an authorization token or the content type.","example":{"Authorization":"Bearer \u003ctoken>"},"additionalProperties":{"type":"string","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].headers.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].headers.oneOf.0","typeLabel":"Headers · object"},{"type":"null","title":"Headers","description":"HTTP headers to include in the request, for example an authorization token or the content type.","example":{"Authorization":"Bearer \u003ctoken>"},"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].headers.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].headers","typeLabel":"Headers · object | null"},"body":{"oneOf":[{"type":"object","title":"Body","description":"Request body to send to the endpoint, for `POST` and `PUT` requests.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].body.oneOf.0","typeLabel":"Body · object"},{"type":"null","title":"Body","description":"Request body to send to the endpoint, for `POST` and `PUT` requests.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].body.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].body","typeLabel":"Body · object | null"},"query":{"oneOf":[{"type":"object","title":"Query","description":"URL query parameters to include in the request, for `GET` requests.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].query.oneOf.0","typeLabel":"Query · object"},{"type":"null","title":"Query","description":"URL query parameters to include in the request, for `GET` requests.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].query.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].query","typeLabel":"Query · object | null"},"cache":{"oneOf":[{"type":"boolean","title":"Cache","description":"Whether to cache the response data, to avoid repeated calls for the same information.","default":true,"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].cache.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Cache","description":"Whether to cache the response data, to avoid repeated calls for the same information.","default":true,"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].cache.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].cache","typeLabel":"boolean | null"},"enabled":{"oneOf":[{"type":"boolean","title":"Enabled","description":"Whether the data source is enabled. Legacy field, kept for older agents.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].enabled.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enabled","description":"Whether the data source is enabled. Legacy field, kept for older agents.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].enabled.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].enabled","typeLabel":"boolean | null"},"config":{"oneOf":[{"type":"string","title":"Config","description":"Configuration payload as a JSON string. Legacy field, kept for older agents.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].config.oneOf.0","typeLabel":"string"},{"type":"null","title":"Config","description":"Configuration payload as a JSON string. Legacy field, kept for older agents.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].config.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].config","typeLabel":"string | null"},"response_data":{"oneOf":[{"type":"array","items":{"type":"object","title":"ResponseDataItem","properties":{"name":{"type":"string","title":"Name","description":"Unique name for this extracted field.","examples":["customer_name"],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].response_data.oneOf.0.items.[INDEX].name","typeLabel":"string"},"data":{"type":"string","title":"Data","description":"JSONPath expression selecting the value.","examples":["$.customer.name"],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].response_data.oneOf.0.items.[INDEX].data","typeLabel":"string"},"context":{"oneOf":[{"type":"string","title":"Context","description":"Additional context about this field, to help the agent understand and use the value.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].response_data.oneOf.0.items.[INDEX].context.oneOf.0","typeLabel":"string"},{"type":"null","title":"Context","description":"Additional context about this field, to help the agent understand and use the value.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].response_data.oneOf.0.items.[INDEX].context.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].response_data.oneOf.0.items.[INDEX].context","typeLabel":"string | null"}},"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].response_data.oneOf.0.items.[INDEX]","typeLabel":"ResponseDataItem · object"},"title":"Response Data","description":"Fields to extract from the endpoint response. Each entry names a value and the JSONPath that selects it.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].response_data.oneOf.0","typeLabel":"ResponseDataItem · object[]"},{"type":"null","title":"Response Data","description":"Fields to extract from the endpoint response. Each entry names a value and the JSONPath that selects it.","uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].response_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX].response_data","typeLabel":"ResponseDataItem · object[] | null"}},"uniqueKey":"data.dynamic_data_config.oneOf.0.items.[INDEX]","typeLabel":"DynamicDataConfigItem · object"},"title":"Dynamic Data Config","description":"External HTTP sources the agent calls to fetch data during the conversation, for example a customer record. See [Dynamic data](/external_context/dynamic_data).","uniqueKey":"data.dynamic_data_config.oneOf.0","typeLabel":"DynamicDataConfigItem · object[]"},{"type":"null","title":"Dynamic Data Config","description":"External HTTP sources the agent calls to fetch data during the conversation, for example a customer record. See [Dynamic data](/external_context/dynamic_data).","uniqueKey":"data.dynamic_data_config.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.dynamic_data_config","typeLabel":"DynamicDataConfigItem · object[] | null"},"post_call_analysis":{"oneOf":[{"type":"array","items":{"type":"object","title":"PostCallAnalysisItem","description":"A legacy analysis item embedded on the agent. Distinct from the post-call analysis configuration API at `/v2/ai-agents/{ai_agent_id}/postcall-analysis`.","properties":{"type":{"oneOf":[{"type":"string","title":"Type","description":"Shape of the result. `string` returns a text string, `enum` returns one value from `choices`, `boolean` returns `true` or `false`, and `number` returns a numeric value.","enum":["string","enum","boolean","number"],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Type","description":"Shape of the result. `string` returns a text string, `enum` returns one value from `choices`, `boolean` returns `true` or `false`, and `number` returns a numeric value.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].type.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].type","typeLabel":"enum\u003cstring> | null"},"name":{"oneOf":[{"type":"string","title":"Name","description":"Unique identifier for this analysis item.","example":"call_summary","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Name","description":"Unique identifier for this analysis item.","example":"call_summary","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].name","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","title":"Description","description":"Detailed explanation of what this analysis item measures or determines from the call.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","title":"Description","description":"Detailed explanation of what this analysis item measures or determines from the call.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].description","typeLabel":"string | null"},"system_prompt":{"oneOf":[{"type":"string","title":"System Prompt","description":"Instructions for the AI on how to analyze the call and produce this item.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].system_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"System Prompt","description":"Instructions for the AI on how to analyze the call and produce this item.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].system_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].system_prompt","typeLabel":"string | null"},"examples":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].examples.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Examples","description":"Sample responses that guide the AI toward the expected answer. For `string` items.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].examples.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Examples","description":"Sample responses that guide the AI toward the expected answer. For `string` items.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].examples.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].examples","typeLabel":"string[] | null"},"choices":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].choices.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Choices","description":"The complete list of values the item can return. For `enum` items.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].choices.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Choices","description":"The complete list of values the item can return. For `enum` items.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].choices.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].choices","typeLabel":"string[] | null"},"enabled":{"oneOf":[{"type":"boolean","title":"Enabled","description":"Whether this analysis item is enabled.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].enabled.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enabled","description":"Whether this analysis item is enabled.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].enabled.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].enabled","typeLabel":"boolean | null"},"dynamic_data_config":{"oneOf":[{"type":"object","title":"DynamicDataConfigItem","description":"An external HTTP call the agent makes to fetch data during a call.","properties":{"name":{"oneOf":[{"type":"string","title":"Name","description":"Name of the data source. Legacy field, kept for older agents.","example":"customer_data","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Name","description":"Name of the data source. Legacy field, kept for older agents.","example":"customer_data","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.name","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","title":"Description","description":"What the data source provides. Legacy field, kept for older agents.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.description.oneOf.0","typeLabel":"string"},{"type":"null","title":"Description","description":"What the data source provides. Legacy field, kept for older agents.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.description","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The endpoint URL from which to fetch dynamic data during the conversation.","example":"https://api.example.com/customer-data","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The endpoint URL from which to fetch dynamic data during the conversation.","example":"https://api.example.com/customer-data","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.url","typeLabel":"string | null"},"method":{"oneOf":[{"type":"string","title":"Method","description":"The HTTP method to use when calling the endpoint, for example `GET`, `POST` or `PUT`.","default":"GET","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.method.oneOf.0","typeLabel":"string"},{"type":"null","title":"Method","description":"The HTTP method to use when calling the endpoint, for example `GET`, `POST` or `PUT`.","default":"GET","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.method.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.method","typeLabel":"string | null"},"timeout":{"oneOf":[{"type":"integer","title":"Timeout","description":"Maximum time in milliseconds to wait for the endpoint response before timing out. Minimum `1000`.","default":2000,"minimum":1000,"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.timeout.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Timeout","description":"Maximum time in milliseconds to wait for the endpoint response before timing out. Minimum `1000`.","default":2000,"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.timeout.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.timeout","typeLabel":"integer | null"},"headers":{"oneOf":[{"type":"object","title":"Headers","description":"HTTP headers to include in the request, for example an authorization token or the content type.","example":{"Authorization":"Bearer \u003ctoken>"},"additionalProperties":{"type":"string","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.headers.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.headers.oneOf.0","typeLabel":"Headers · object"},{"type":"null","title":"Headers","description":"HTTP headers to include in the request, for example an authorization token or the content type.","example":{"Authorization":"Bearer \u003ctoken>"},"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.headers.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.headers","typeLabel":"Headers · object | null"},"body":{"oneOf":[{"type":"object","title":"Body","description":"Request body to send to the endpoint, for `POST` and `PUT` requests.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.body.oneOf.0","typeLabel":"Body · object"},{"type":"null","title":"Body","description":"Request body to send to the endpoint, for `POST` and `PUT` requests.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.body.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.body","typeLabel":"Body · object | null"},"query":{"oneOf":[{"type":"object","title":"Query","description":"URL query parameters to include in the request, for `GET` requests.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.query.oneOf.0","typeLabel":"Query · object"},{"type":"null","title":"Query","description":"URL query parameters to include in the request, for `GET` requests.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.query.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.query","typeLabel":"Query · object | null"},"cache":{"oneOf":[{"type":"boolean","title":"Cache","description":"Whether to cache the response data, to avoid repeated calls for the same information.","default":true,"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.cache.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Cache","description":"Whether to cache the response data, to avoid repeated calls for the same information.","default":true,"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.cache.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.cache","typeLabel":"boolean | null"},"enabled":{"oneOf":[{"type":"boolean","title":"Enabled","description":"Whether the data source is enabled. Legacy field, kept for older agents.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.enabled.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Enabled","description":"Whether the data source is enabled. Legacy field, kept for older agents.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.enabled.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.enabled","typeLabel":"boolean | null"},"config":{"oneOf":[{"type":"string","title":"Config","description":"Configuration payload as a JSON string. Legacy field, kept for older agents.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.config.oneOf.0","typeLabel":"string"},{"type":"null","title":"Config","description":"Configuration payload as a JSON string. Legacy field, kept for older agents.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.config.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.config","typeLabel":"string | null"},"response_data":{"oneOf":[{"type":"array","items":{"type":"object","title":"ResponseDataItem","properties":{"name":{"type":"string","title":"Name","description":"Unique name for this extracted field.","examples":["customer_name"],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.response_data.oneOf.0.items.[INDEX].name","typeLabel":"string"},"data":{"type":"string","title":"Data","description":"JSONPath expression selecting the value.","examples":["$.customer.name"],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.response_data.oneOf.0.items.[INDEX].data","typeLabel":"string"},"context":{"oneOf":[{"type":"string","title":"Context","description":"Additional context about this field, to help the agent understand and use the value.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.response_data.oneOf.0.items.[INDEX].context.oneOf.0","typeLabel":"string"},{"type":"null","title":"Context","description":"Additional context about this field, to help the agent understand and use the value.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.response_data.oneOf.0.items.[INDEX].context.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.response_data.oneOf.0.items.[INDEX].context","typeLabel":"string | null"}},"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.response_data.oneOf.0.items.[INDEX]","typeLabel":"ResponseDataItem · object"},"title":"Response Data","description":"Fields to extract from the endpoint response. Each entry names a value and the JSONPath that selects it.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.response_data.oneOf.0","typeLabel":"ResponseDataItem · object[]"},{"type":"null","title":"Response Data","description":"Fields to extract from the endpoint response. Each entry names a value and the JSONPath that selects it.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.response_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0.response_data","typeLabel":"ResponseDataItem · object[] | null"}},"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.0","typeLabel":"DynamicDataConfigItem · object"},{"type":"null","title":"Dynamic Data Config","description":"Dynamic data source the analysis can use.","uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX].dynamic_data_config","typeLabel":"DynamicDataConfigItem · object | null"}},"uniqueKey":"data.post_call_analysis.oneOf.0.items.[INDEX]","typeLabel":"PostCallAnalysisItem · object"},"title":"Post Call Analysis","description":"Analysis items to extract from the call after it ends. The `type` of each item sets the shape of its result. You can also manage these items with the [post-call analysis API](/api-reference/post-call-analysis/get-post-call-analysis-configuration-for-an-agent).","example":[{"type":"string","name":"call_summary","description":"A short summary of the call.","system_prompt":"Summarize the call in two sentences.","examples":["The caller asked about a late delivery and was given a new date."]},{"type":"enum","name":"customer_sentiment","description":"Overall sentiment of the caller.","system_prompt":"Classify the caller's overall sentiment.","choices":["positive","neutral","negative"]}],"uniqueKey":"data.post_call_analysis.oneOf.0","typeLabel":"PostCallAnalysisItem · object[]"},{"type":"null","title":"Post Call Analysis","description":"Analysis items to extract from the call after it ends. The `type` of each item sets the shape of its result. You can also manage these items with the [post-call analysis API](/api-reference/post-call-analysis/get-post-call-analysis-configuration-for-an-agent).","example":[{"type":"string","name":"call_summary","description":"A short summary of the call.","system_prompt":"Summarize the call in two sentences.","examples":["The caller asked about a late delivery and was given a new date."]},{"type":"enum","name":"customer_sentiment","description":"Overall sentiment of the caller.","system_prompt":"Classify the caller's overall sentiment.","choices":["positive","neutral","negative"]}],"uniqueKey":"data.post_call_analysis.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.post_call_analysis","typeLabel":"PostCallAnalysisItem · object[] | null"},"pronunciations":{"oneOf":[{"type":"array","items":{"type":"object","title":"Pronunciation","description":"Pronunciation override applied by the voice pipeline. Simple agents only.","properties":{"id":{"oneOf":[{"type":"string","title":"Id","description":"Client-supplied identifier for the entry.","example":"r1","uniqueKey":"data.pronunciations.oneOf.0.items.[INDEX].id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Id","description":"Client-supplied identifier for the entry.","example":"r1","uniqueKey":"data.pronunciations.oneOf.0.items.[INDEX].id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.pronunciations.oneOf.0.items.[INDEX].id","typeLabel":"string | null"},"term":{"oneOf":[{"type":"string","title":"Term","description":"Word or phrase to override, as it appears in the agent's text.","example":"API","uniqueKey":"data.pronunciations.oneOf.0.items.[INDEX].term.oneOf.0","typeLabel":"string"},{"type":"null","title":"Term","description":"Word or phrase to override, as it appears in the agent's text.","example":"API","uniqueKey":"data.pronunciations.oneOf.0.items.[INDEX].term.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.pronunciations.oneOf.0.items.[INDEX].term","typeLabel":"string | null"},"replacement":{"oneOf":[{"type":"string","title":"Replacement","description":"What the agent speaks instead of `term`.","example":"ay pee eye","uniqueKey":"data.pronunciations.oneOf.0.items.[INDEX].replacement.oneOf.0","typeLabel":"string"},{"type":"null","title":"Replacement","description":"What the agent speaks instead of `term`.","example":"ay pee eye","uniqueKey":"data.pronunciations.oneOf.0.items.[INDEX].replacement.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.pronunciations.oneOf.0.items.[INDEX].replacement","typeLabel":"string | null"}},"uniqueKey":"data.pronunciations.oneOf.0.items.[INDEX]","typeLabel":"Pronunciation · object"},"title":"Pronunciations","description":"Pronunciation overrides: the agent speaks each `term` as its `replacement`. Applied to `simple` agents only. Entries are stored as sent, without validation.","uniqueKey":"data.pronunciations.oneOf.0","typeLabel":"Pronunciation · object[]"},{"type":"null","title":"Pronunciations","description":"Pronunciation overrides: the agent speaks each `term` as its `replacement`. Applied to `simple` agents only. Entries are stored as sent, without validation.","uniqueKey":"data.pronunciations.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.pronunciations","typeLabel":"Pronunciation · object[] | null"},"agent_name":{"type":"string","title":"Agent Name","description":"Name of the agent.","uniqueKey":"data.agent_name","typeLabel":"string"},"agent_status":{"type":"string","enum":["ACTIVE","INACTIVE","DELETED"],"title":"Agent Status","description":"Lifecycle status of the agent.","uniqueKey":"data.agent_status","typeLabel":"enum\u003cstring>"},"llm":{"oneOf":[{"type":"object","title":"LlmConfig","description":"Language model configuration, with the names resolved from the catalog. For a `flow` agent, `llm_id` and the model fields come from the flow-default model in `graph_data.agentDefaults.llm.llm_id`.","properties":{"llm_id":{"oneOf":[{"type":"string","title":"Llm Id","description":"Id of an entry in the LLM model catalog. Required on create for `simple` agents. For `flow` agents the flow-default id lives at `graph_data.agentDefaults.llm.llm_id` instead.","uniqueKey":"data.llm.oneOf.0.llm_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Llm Id","description":"Id of an entry in the LLM model catalog. Required on create for `simple` agents. For `flow` agents the flow-default id lives at `graph_data.agentDefaults.llm.llm_id` instead.","uniqueKey":"data.llm.oneOf.0.llm_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm.oneOf.0.llm_id","typeLabel":"string | null"},"llm_type":{"type":"string","enum":["simple","agentic","flow"],"title":"Llm Type","description":"Required on create. `agentic` is rejected on create (existing agentic agents remain updatable).","uniqueKey":"data.llm.oneOf.0.llm_type","typeLabel":"enum\u003cstring>"},"system_prompt":{"oneOf":[{"type":"string","title":"System Prompt","description":"The base prompt that defines the agent's behavior and role. Used by `simple` agents; flow agents carry their prompts inside `graph_data`.","example":"You are a helpful support assistant for Acme. Answer briefly and politely.","uniqueKey":"data.llm.oneOf.0.system_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"System Prompt","description":"The base prompt that defines the agent's behavior and role. Used by `simple` agents; flow agents carry their prompts inside `graph_data`.","example":"You are a helpful support assistant for Acme. Answer briefly and politely.","uniqueKey":"data.llm.oneOf.0.system_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm.oneOf.0.system_prompt","typeLabel":"string | null"},"graph_data":{"oneOf":[{"type":"object","title":"Graph Data","description":"Conversation graph for `flow` agents: `entryNodeId`, `nodes`, `edges`, `variables`, `globalNodeIds`, `agentDefaults`, `language`. The server fills provider/model/voice names into the graph from the catalogs before validating it.","uniqueKey":"data.llm.oneOf.0.graph_data.oneOf.0","typeLabel":"Graph Data · object"},{"type":"null","title":"Graph Data","description":"Conversation graph for `flow` agents: `entryNodeId`, `nodes`, `edges`, `variables`, `globalNodeIds`, `agentDefaults`, `language`. The server fills provider/model/voice names into the graph from the catalogs before validating it.","uniqueKey":"data.llm.oneOf.0.graph_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm.oneOf.0.graph_data","typeLabel":"Graph Data · object | null"},"tools":{"oneOf":[{"type":"array","items":{"additionalProperties":{"type":"string","uniqueKey":"data.llm.oneOf.0.tools.oneOf.0.items.[INDEX].additionalProperties","typeLabel":"string"},"type":"object","uniqueKey":"data.llm.oneOf.0.tools.oneOf.0.items.[INDEX]","typeLabel":"object"},"title":"Tools","description":"List of tools or functions available to the LLM for external interactions. Each entry is a map of string keys to string values. Tools also have their own APIs: [Built-in tools](/api-reference/built-in-tools/list-built-in-tools) and [Custom tools](/api-reference/custom-tools/list-custom-tools).","uniqueKey":"data.llm.oneOf.0.tools.oneOf.0","typeLabel":"Tools · object[]"},{"type":"null","title":"Tools","description":"List of tools or functions available to the LLM for external interactions. Each entry is a map of string keys to string values. Tools also have their own APIs: [Built-in tools](/api-reference/built-in-tools/list-built-in-tools) and [Custom tools](/api-reference/custom-tools/list-custom-tools).","uniqueKey":"data.llm.oneOf.0.tools.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm.oneOf.0.tools","typeLabel":"Tools · object[] | null"},"required_dynamic_data":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"data.llm.oneOf.0.required_dynamic_data.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Required Dynamic Data","description":"List of dynamic data fields the LLM requires for operation.","example":["customer_name","order_id"],"uniqueKey":"data.llm.oneOf.0.required_dynamic_data.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Required Dynamic Data","description":"List of dynamic data fields the LLM requires for operation.","example":["customer_name","order_id"],"uniqueKey":"data.llm.oneOf.0.required_dynamic_data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm.oneOf.0.required_dynamic_data","typeLabel":"string[] | null"},"llm_name":{"oneOf":[{"type":"string","title":"Llm Name","description":"Resolved from the catalog; read-only in practice.","uniqueKey":"data.llm.oneOf.0.llm_name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Llm Name","description":"Resolved from the catalog; read-only in practice.","uniqueKey":"data.llm.oneOf.0.llm_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm.oneOf.0.llm_name","typeLabel":"string | null"},"llm_description":{"oneOf":[{"type":"string","title":"Llm Description","description":"Resolved from the catalog.","uniqueKey":"data.llm.oneOf.0.llm_description.oneOf.0","typeLabel":"string"},{"type":"null","title":"Llm Description","description":"Resolved from the catalog.","uniqueKey":"data.llm.oneOf.0.llm_description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm.oneOf.0.llm_description","typeLabel":"string | null"},"model_provider":{"oneOf":[{"type":"string","title":"Model Provider","description":"Resolved from the catalog, e.g. `openai`, `anthropic`, `verbex`, `openai_compatible`.","uniqueKey":"data.llm.oneOf.0.model_provider.oneOf.0","typeLabel":"string"},{"type":"null","title":"Model Provider","description":"Resolved from the catalog, e.g. `openai`, `anthropic`, `verbex`, `openai_compatible`.","uniqueKey":"data.llm.oneOf.0.model_provider.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm.oneOf.0.model_provider","typeLabel":"string | null"},"model_name":{"oneOf":[{"type":"string","title":"Model Name","description":"Resolved from the catalog, e.g. `gpt-4o-mini`.","uniqueKey":"data.llm.oneOf.0.model_name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Model Name","description":"Resolved from the catalog, e.g. `gpt-4o-mini`.","uniqueKey":"data.llm.oneOf.0.model_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm.oneOf.0.model_name","typeLabel":"string | null"},"model_display_name":{"oneOf":[{"type":"string","title":"Model Display Name","description":"Resolved from the catalog.","uniqueKey":"data.llm.oneOf.0.model_display_name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Model Display Name","description":"Resolved from the catalog.","uniqueKey":"data.llm.oneOf.0.model_display_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm.oneOf.0.model_display_name","typeLabel":"string | null"},"model_temperature":{"oneOf":[{"type":"number","title":"Model Temperature","description":"The agent's own sampling temperature. On create, an omitted value takes the catalog model's temperature; a sent value, `0` included, is stored as is. On update, an omitted value keeps the stored one, even when `llm_id` changes. The service enforces no bounds; the console allows `0`–`2`.","uniqueKey":"data.llm.oneOf.0.model_temperature.oneOf.0","typeLabel":"number"},{"type":"null","title":"Model Temperature","description":"The agent's own sampling temperature. On create, an omitted value takes the catalog model's temperature; a sent value, `0` included, is stored as is. On update, an omitted value keeps the stored one, even when `llm_id` changes. The service enforces no bounds; the console allows `0`–`2`.","uniqueKey":"data.llm.oneOf.0.model_temperature.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm.oneOf.0.model_temperature","typeLabel":"number | null"},"max_tokens":{"oneOf":[{"type":"integer","title":"Max Tokens","description":"Filled from the LLM model catalog whenever the model is resolved.","uniqueKey":"data.llm.oneOf.0.max_tokens.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Tokens","description":"Filled from the LLM model catalog whenever the model is resolved.","uniqueKey":"data.llm.oneOf.0.max_tokens.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm.oneOf.0.max_tokens","typeLabel":"integer | null"}},"uniqueKey":"data.llm.oneOf.0","typeLabel":"LlmConfig · object"},{"type":"null","description":"Language model configuration, with the names resolved from the catalog. For a `flow` agent, `llm_id` and the model fields come from the flow-default model in `graph_data.agentDefaults.llm.llm_id`.","uniqueKey":"data.llm.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.llm","typeLabel":"LlmConfig · object | null"},"stt":{"oneOf":[{"type":"object","title":"SttConfig","description":"Speech-to-text configuration, with the names resolved from the catalog. Not stored for a `flow` agent: omitted on get, `null` in list items.","properties":{"provider_id":{"oneOf":[{"type":"string","title":"Provider Id","description":"Id of an entry in the STT provider catalog (`GET /v3/stt/providers`).","uniqueKey":"data.stt.oneOf.0.provider_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Provider Id","description":"Id of an entry in the STT provider catalog (`GET /v3/stt/providers`).","uniqueKey":"data.stt.oneOf.0.provider_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.stt.oneOf.0.provider_id","typeLabel":"string | null"},"model_id":{"oneOf":[{"type":"string","title":"Model Id","description":"Id of a model offered by that provider. Required on create for non-flow agents.","uniqueKey":"data.stt.oneOf.0.model_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Model Id","description":"Id of a model offered by that provider. Required on create for non-flow agents.","uniqueKey":"data.stt.oneOf.0.model_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.stt.oneOf.0.model_id","typeLabel":"string | null"},"provider":{"oneOf":[{"type":"string","title":"Provider","description":"Resolved provider name, e.g. `deepgram`. v2 input field; on v3 it is filled in by the server.","uniqueKey":"data.stt.oneOf.0.provider.oneOf.0","typeLabel":"string"},{"type":"null","title":"Provider","description":"Resolved provider name, e.g. `deepgram`. v2 input field; on v3 it is filled in by the server.","uniqueKey":"data.stt.oneOf.0.provider.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.stt.oneOf.0.provider","typeLabel":"string | null"},"model":{"oneOf":[{"type":"string","title":"Model","description":"Resolved model name, e.g. `nova-2-phonecall`.","uniqueKey":"data.stt.oneOf.0.model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Model","description":"Resolved model name, e.g. `nova-2-phonecall`.","uniqueKey":"data.stt.oneOf.0.model.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.stt.oneOf.0.model","typeLabel":"string | null"},"language":{"oneOf":[{"type":"string","title":"Language","description":"BCP-47 language code for recognition.","uniqueKey":"data.stt.oneOf.0.language.oneOf.0","typeLabel":"string"},{"type":"null","title":"Language","description":"BCP-47 language code for recognition.","uniqueKey":"data.stt.oneOf.0.language.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.stt.oneOf.0.language","typeLabel":"string | null"},"context_prompt":{"oneOf":[{"type":"string","title":"Context Prompt","description":"Context biasing prompt. Honored only by providers that support it.","uniqueKey":"data.stt.oneOf.0.context_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Context Prompt","description":"Context biasing prompt. Honored only by providers that support it.","uniqueKey":"data.stt.oneOf.0.context_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.stt.oneOf.0.context_prompt","typeLabel":"string | null"},"bias_prompt":{"oneOf":[{"type":"string","title":"Bias Prompt","description":"Context biasing instruction. Honored only by providers that support it.","uniqueKey":"data.stt.oneOf.0.bias_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Bias Prompt","description":"Context biasing instruction. Honored only by providers that support it.","uniqueKey":"data.stt.oneOf.0.bias_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.stt.oneOf.0.bias_prompt","typeLabel":"string | null"},"hotwords":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"data.stt.oneOf.0.hotwords.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Hotwords","description":"Terms to bias recognition toward. Honored only by providers that support it.","uniqueKey":"data.stt.oneOf.0.hotwords.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Hotwords","description":"Terms to bias recognition toward. Honored only by providers that support it.","uniqueKey":"data.stt.oneOf.0.hotwords.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.stt.oneOf.0.hotwords","typeLabel":"string[] | null"},"configuration":{"oneOf":[{"type":"string","title":"Configuration","description":"Additional provider-specific configuration.","uniqueKey":"data.stt.oneOf.0.configuration.oneOf.0","typeLabel":"string"},{"type":"null","title":"Configuration","description":"Additional provider-specific configuration.","uniqueKey":"data.stt.oneOf.0.configuration.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.stt.oneOf.0.configuration","typeLabel":"string | null"}},"uniqueKey":"data.stt.oneOf.0","typeLabel":"SttConfig · object"},{"type":"null","description":"Speech-to-text configuration, with the names resolved from the catalog. Not stored for a `flow` agent: omitted on get, `null` in list items.","uniqueKey":"data.stt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.stt","typeLabel":"SttConfig · object | null"},"tts":{"oneOf":[{"type":"object","title":"TtsConfig","description":"Text-to-speech configuration, with the names resolved from the catalog. Not stored for a `flow` agent: omitted on get, `null` in list items.","properties":{"provider_id":{"oneOf":[{"type":"string","title":"Provider Id","description":"Id of an entry in the TTS provider catalog (`GET /v3/tts/providers`).","uniqueKey":"data.tts.oneOf.0.provider_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Provider Id","description":"Id of an entry in the TTS provider catalog (`GET /v3/tts/providers`).","uniqueKey":"data.tts.oneOf.0.provider_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tts.oneOf.0.provider_id","typeLabel":"string | null"},"voice_id":{"oneOf":[{"type":"string","title":"Voice Id","description":"Id of a voice offered by that provider. Required on create for non-flow agents. A voice is listed once per language it supports, so the same `voice_id` can appear under several language codes.","uniqueKey":"data.tts.oneOf.0.voice_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voice Id","description":"Id of a voice offered by that provider. Required on create for non-flow agents. A voice is listed once per language it supports, so the same `voice_id` can appear under several language codes.","uniqueKey":"data.tts.oneOf.0.voice_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tts.oneOf.0.voice_id","typeLabel":"string | null"},"provider":{"oneOf":[{"type":"string","title":"Provider","description":"Resolved provider name, e.g. `elevenlabs`.","uniqueKey":"data.tts.oneOf.0.provider.oneOf.0","typeLabel":"string"},{"type":"null","title":"Provider","description":"Resolved provider name, e.g. `elevenlabs`.","uniqueKey":"data.tts.oneOf.0.provider.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tts.oneOf.0.provider","typeLabel":"string | null"},"voice_name":{"oneOf":[{"type":"string","title":"Voice Name","description":"Resolved voice name.","uniqueKey":"data.tts.oneOf.0.voice_name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voice Name","description":"Resolved voice name.","uniqueKey":"data.tts.oneOf.0.voice_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tts.oneOf.0.voice_name","typeLabel":"string | null"},"model_name":{"oneOf":[{"type":"string","title":"Model Name","description":"Resolved synthesis model name. On this catalog the model hangs off the individual voice, not the provider.","uniqueKey":"data.tts.oneOf.0.model_name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Model Name","description":"Resolved synthesis model name. On this catalog the model hangs off the individual voice, not the provider.","uniqueKey":"data.tts.oneOf.0.model_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tts.oneOf.0.model_name","typeLabel":"string | null"},"voice_temperature":{"oneOf":[{"type":"number","title":"Voice Temperature","description":"Controls the randomness in voice generation, `0`–`2`. Lower values produce more consistent output, higher values add more variation.","default":0.2,"maximum":2,"minimum":0,"uniqueKey":"data.tts.oneOf.0.voice_temperature.oneOf.0","typeLabel":"number"},{"type":"null","title":"Voice Temperature","description":"Controls the randomness in voice generation, `0`–`2`. Lower values produce more consistent output, higher values add more variation.","default":0.2,"uniqueKey":"data.tts.oneOf.0.voice_temperature.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tts.oneOf.0.voice_temperature","typeLabel":"number | null"},"language":{"oneOf":[{"type":"string","title":"Language","description":"BCP-47 language code for synthesis.","uniqueKey":"data.tts.oneOf.0.language.oneOf.0","typeLabel":"string"},{"type":"null","title":"Language","description":"BCP-47 language code for synthesis.","uniqueKey":"data.tts.oneOf.0.language.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tts.oneOf.0.language","typeLabel":"string | null"}},"uniqueKey":"data.tts.oneOf.0","typeLabel":"TtsConfig · object"},{"type":"null","description":"Text-to-speech configuration, with the names resolved from the catalog. Not stored for a `flow` agent: omitted on get, `null` in list items.","uniqueKey":"data.tts.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.tts","typeLabel":"TtsConfig · object | null"},"created_by_user_id":{"oneOf":[{"type":"string","title":"Created By User Id","description":"Id of the user who created the agent.","uniqueKey":"data.created_by_user_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Created By User Id","description":"Id of the user who created the agent.","uniqueKey":"data.created_by_user_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.created_by_user_id","typeLabel":"string | null"},"organization_id":{"oneOf":[{"type":"string","title":"Organization Id","description":"Id of the organization that owns the agent.","uniqueKey":"data.organization_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Organization Id","description":"Id of the organization that owns the agent.","uniqueKey":"data.organization_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.organization_id","typeLabel":"string | null"},"workspace_id":{"oneOf":[{"type":"string","title":"Workspace Id","description":"Id of the workspace the agent belongs to. Null for an agent with no workspace.","uniqueKey":"data.workspace_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Workspace Id","description":"Id of the workspace the agent belongs to. Null for an agent with no workspace.","uniqueKey":"data.workspace_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.workspace_id","typeLabel":"string | null"},"agent_owner_id":{"oneOf":[{"type":"string","title":"Agent Owner Id","description":"Equal to `created_by_user_id` for an agent with no workspace, otherwise the workspace owner. Not set for a `flow` agent.","uniqueKey":"data.agent_owner_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Agent Owner Id","description":"Equal to `created_by_user_id` for an agent with no workspace, otherwise the workspace owner. Not set for a `flow` agent.","uniqueKey":"data.agent_owner_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.agent_owner_id","typeLabel":"string | null"},"created_at":{"oneOf":[{"type":"string","title":"Created At","description":"When the agent was created.","format":"date-time","uniqueKey":"data.created_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Created At","description":"When the agent was created.","uniqueKey":"data.created_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.created_at","typeLabel":"string\u003cdate-time> | null"},"modified_at":{"oneOf":[{"type":"string","title":"Modified At","description":"When the agent was last modified.","format":"date-time","uniqueKey":"data.modified_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Modified At","description":"When the agent was last modified.","uniqueKey":"data.modified_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.modified_at","typeLabel":"string\u003cdate-time> | null"},"current_version":{"oneOf":[{"type":"integer","title":"Current Version","description":"Latest version number of the agent.","uniqueKey":"data.current_version.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Current Version","description":"Latest version number of the agent.","uniqueKey":"data.current_version.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.current_version","typeLabel":"integer | null"},"current_version_name":{"oneOf":[{"type":"string","title":"Current Version Name","description":"Label of the current version; null when unnamed.","uniqueKey":"data.current_version_name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Current Version Name","description":"Label of the current version; null when unnamed.","uniqueKey":"data.current_version_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.current_version_name","typeLabel":"string | null"},"operation_type":{"oneOf":[{"type":"string","title":"Operation Type","description":"Which operation produced this body.","enum":["CREATE","CREATE_FLOW_BUILDER","UPDATE","UPDATE_FLOW_BUILDER","UPDATE_AGENTIC","DEACTIVATE","GET"],"uniqueKey":"data.operation_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Operation Type","description":"Which operation produced this body.","uniqueKey":"data.operation_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.operation_type","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"data","typeLabel":"AIAgentV3Response · object"},"error_details":{"oneOf":[{"type":"object","title":"Error Details","description":"Field path to message, for validation failures. Omitted when there are none.","additionalProperties":{"type":"string","uniqueKey":"error_details.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"error_details.oneOf.0","typeLabel":"Error Details · object"},{"type":"null","title":"Error Details","description":"Field path to message, for validation failures. Omitted when there are none.","uniqueKey":"error_details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error_details","typeLabel":"Error Details · object | null"}},"uniqueKey":"","typeLabel":"ApiResponse\u003cAIAgent> · object"},"examples":{"simple":{"title":"simple","value":{"status":"success","message":"Agent retrieved successfully","data":{"ai_agent_id":"3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42","agent_name":"Customer Support Agent","agent_status":"ACTIVE","language_code":"en-US","llm":{"llm_id":"9d259647-d5ec-423d-96a9-2750980e8ecb","llm_type":"simple","model_provider":"openai","model_name":"gpt-4o-mini","model_display_name":"GPT-4o mini","model_temperature":0.1,"max_tokens":4096,"system_prompt":"You are a helpful customer support assistant."},"stt":{"provider_id":"6a5c45808d2d94e9d0e255d3","provider":"deepgram","model_id":"af97a5f7-0f10-4eb3-a915-f7fe95a050f8","model":"nova-3-general"},"tts":{"provider_id":"6a5c079f814b8ed08b15172b","provider":"elevenlabs","voice_id":"IKne3meq5aSn9XLyUdCD","voice_name":"Charlie","model_name":"eleven_flash_v2_5","voice_temperature":1},"speech_speed":0.9,"vad_activation_threshold":0.4,"knowledge_base_id":"kb-123456","enable_user_interruptions":true,"minimum_speech_duration_for_interruptions":0.5,"minimum_words_before_interruption":2,"interruption_mode":"vad","ambient_sound":"office","ambient_sound_volume":1,"webhook_url":"https://api.example.com/webhooks/call-events","end_call_after_silence_seconds":20,"max_call_duration_seconds":600,"welcome_message":"Hello! Thanks for calling. How can I help you today?","end_call_instruction":"End the call politely once the issue is resolved.","amd_voicemail_message":"Sorry we missed you. Please call us back.","voicemail_detection_timeout_seconds":5,"agent_ended_call_delay_seconds":1,"welcome_message_delay_in_seconds":0.5,"enable_amd":true,"silence_reminder_enabled":true,"silence_reminder_duration_seconds":15,"max_number_of_silence_reminders":3,"interval_between_silence_reminders_seconds":10,"enable_noise_cancellation":true,"dynamic_data_config":[{"name":"customer_data","url":"https://api.example.com/customer-data","method":"GET","timeout":2000,"cache":true,"response_data":[{"name":"customer_name","data":"$.customer.name","context":"Customer's full name for personalization"}]}],"post_call_analysis":[{"type":"string","name":"call_summary","description":"A brief summary of the call and key points.","examples":["Customer asked about billing; issue resolved."]}],"pronunciations":[{"id":"r1","term":"API","replacement":"ay pee eye"}],"organization_id":"org_7f3a9c","agent_owner_id":"usr_12ab34","created_by_user_id":"usr_12ab34","created_at":"2026-10-15T09:30:12.481Z","modified_at":"2026-10-15T10:02:47.115Z","current_version":2,"operation_type":"GET"}}},"flow":{"title":"flow","value":{"status":"success","message":"Agent retrieved successfully","data":{"ai_agent_id":"5b1e9d7c-2f4a-4e6b-8c3d-1a2b3c4d5e6f","agent_name":"New Flow Agent","agent_status":"ACTIVE","language_code":"en-US","llm":{"llm_id":"d6847c0b-179f-4910-b4f5-a1bee9807a57","llm_type":"flow","model_provider":"openai","model_name":"gpt-4o-mini","model_display_name":"GPT-4o mini","model_temperature":0.7,"max_tokens":4096,"graph_data":{"entryNodeId":"node-start","nodes":[{"id":"node-start","type":"start","position":{"x":300,"y":50},"data":{"label":"Start","userAwayTimeoutSec":30,"maxToolSteps":3}},{"id":"conv","type":"conversation","position":{"x":300,"y":200},"data":{"label":"Conversation","mode":"full","instructions":"You are a helpful assistant.","openingMessage":{"type":"llm-generated","instructions":"Greet the user and ask how you can help."},"modelConfig":{"stt":{"source":"flow-default"},"llm":{"source":"flow-default"},"tts":{"source":"flow-default"}},"allowEndCall":true}},{"id":"end","type":"end-call","position":{"x":300,"y":350},"data":{"label":"End call","farewellMessage":{"type":"none"}}}],"edges":[{"id":"e1","source":"node-start","target":"conv","label":"Start","kind":"session-start","contextPassing":"full"},{"id":"e2","source":"conv","target":"end","label":"End Call","kind":"conditional-edge","decisionType":"llm","promptCondition":"When the user wants to end the call","contextPassing":"full"}],"variables":[],"globalNodeIds":[],"agentDefaults":{"stt":{"provider_id":"6a5c45808d2d94e9d0e255d3","model_id":"aec2493a-eba9-48d0-9e64-4aab4437f7f5","provider":"deepgram","model":"nova-3"},"llm":{"llm_id":"d6847c0b-179f-4910-b4f5-a1bee9807a57","provider":"openai","model":"gpt-4o-mini"},"tts":{"provider_id":"6a5c079f814b8ed08b15172b","voice_id":"cgSgspJ2msm6clMCkdW9","provider":"elevenlabs","voice":"cgSgspJ2msm6clMCkdW9","model":"eleven_flash_v2_5"}},"language":"en"}},"speech_speed":0.8,"vad_activation_threshold":0.5,"wait_time_before_detecting_end_of_speech":0.2,"max_endpointing_delay":2,"enable_user_interruptions":true,"minimum_speech_duration_for_interruptions":0.5,"minimum_words_before_interruption":2,"interruption_mode":"vad","ambient_sound":"none","ambient_sound_volume":1,"end_call_after_silence_seconds":10,"max_call_duration_seconds":1800,"voicemail_detection_timeout_seconds":90,"agent_ended_call_delay_seconds":2,"welcome_message_delay_in_seconds":2,"enable_amd":false,"silence_reminder_enabled":false,"silence_reminder_duration_seconds":10,"max_number_of_silence_reminders":3,"interval_between_silence_reminders_seconds":10,"organization_id":"org_7f3a9c","created_by_user_id":"usr_12ab34","created_at":"2026-10-15T09:41:03.220Z","modified_at":"2026-10-15T09:41:03.220Z","current_version":1,"operation_type":"GET"}}}},"exampleType":"examples"}},"exampleType":"examples"},"3d74f083-15d4-4e24-8763-3fa1a55db4b1":{"description":"Malformed request or missing tenant scope","content":{"application/json":{"schema":{"type":"object","title":"ErrorResponse","properties":{"status":{"type":"string","enum":["error"],"title":"Status","description":"Outcome of the request: `success` or `error`, in lowercase.","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","description":"Human-readable message about the result.","uniqueKey":"message","typeLabel":"string"},"error_details":{"oneOf":[{"type":"object","title":"Error Details","description":"Field path to message, for validation failures. Omitted when there are none.","additionalProperties":{"type":"string","uniqueKey":"error_details.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"error_details.oneOf.0","typeLabel":"Error Details · object"},{"type":"null","title":"Error Details","description":"Field path to message, for validation failures. Omitted when there are none.","uniqueKey":"error_details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error_details","typeLabel":"Error Details · object | null"}},"uniqueKey":"","typeLabel":"ErrorResponse · object"},"example":{"status":"error","message":"Both workspaceId and organizationId are missing"},"examples":{"Example":{"title":"Example","value":{"status":"error","message":"Both workspaceId and organizationId are missing"}}},"exampleType":"examples"}},"exampleType":"examples"},"509aefa8-f32b-4b3c-be4f-4cdc7e1f579b":{"description":"The agent exists but is outside the caller's organization or workspace","content":{"application/json":{"schema":{"type":"object","title":"ErrorResponse","properties":{"status":{"type":"string","enum":["error"],"title":"Status","description":"Outcome of the request: `success` or `error`, in lowercase.","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","description":"Human-readable message about the result.","uniqueKey":"message","typeLabel":"string"},"error_details":{"oneOf":[{"type":"object","title":"Error Details","description":"Field path to message, for validation failures. Omitted when there are none.","additionalProperties":{"type":"string","uniqueKey":"error_details.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"error_details.oneOf.0","typeLabel":"Error Details · object"},{"type":"null","title":"Error Details","description":"Field path to message, for validation failures. Omitted when there are none.","uniqueKey":"error_details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error_details","typeLabel":"Error Details · object | null"}},"uniqueKey":"","typeLabel":"ErrorResponse · object"},"example":{"status":"error","message":"Agent is not accessible in the caller's organization or workspace: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42"},"examples":{"Example":{"title":"Example","value":{"status":"error","message":"Agent is not accessible in the caller's organization or workspace: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42"}}},"exampleType":"examples"}},"exampleType":"examples"},"7e6e706a-cfac-4a8f-ace4-56f42d1c10a7":{"description":"No active agent with that id","content":{"application/json":{"schema":{"type":"object","title":"ErrorResponse","properties":{"status":{"type":"string","enum":["error"],"title":"Status","description":"Outcome of the request: `success` or `error`, in lowercase.","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","description":"Human-readable message about the result.","uniqueKey":"message","typeLabel":"string"},"error_details":{"oneOf":[{"type":"object","title":"Error Details","description":"Field path to message, for validation failures. Omitted when there are none.","additionalProperties":{"type":"string","uniqueKey":"error_details.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"error_details.oneOf.0","typeLabel":"Error Details · object"},{"type":"null","title":"Error Details","description":"Field path to message, for validation failures. Omitted when there are none.","uniqueKey":"error_details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error_details","typeLabel":"Error Details · object | null"}},"uniqueKey":"","typeLabel":"ErrorResponse · object"},"example":{"status":"error","message":"Agent not found with ID: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42"},"examples":{"Example":{"title":"Example","value":{"status":"error","message":"Agent not found with ID: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{},"servers":{}},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"hishabsingaporepteltd","siteName":"Verbex Docs","title":"Get AI Agent - Verbex Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-01T23:11:06.714Z","originalFileLocation":"api-reference/ai-agents-v3/get-ai-agent.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Retrieve one agent by id, with every catalog reference resolved to names. The shape depends on the agent type. A simple agent has root llm, stt and tts. A flow agent has the root llm with graph_data, filled from the flow-default model, and no root stt or tts. See the two 200 examples. The v2 equivalent, GET /v2/ai-agents/{agent_id}, is deprecated and stops working on November 30, 2026. This is the v3 endpoint. Migrate from v2 to v3 before that date. ## Status codes | Code | When | | --- | --- | | 200 | The agent exists, is ACTIVE and is in your scope. | | 400 | The API key resolves to neither a workspace nor an organization. | | 403 | The agent exists but belongs to another organization or workspace. | | 404 | No such agent, or the agent is INACTIVE or DELETED. | Errors use the envelope too, so 403 and 404 carry a body: json { \u0026quot;status\u0026quot;: \u0026quot;error\u0026quot;, \u0026quot;message\u0026quot;: \u0026quot;Agent not found with ID: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42\u0026quot; } To see agents that are not ACTIVE, use List AI Agents with agent_status. ## Response envelope Every v3 response uses the same envelope: | Field | Meaning | | --- | --- | | status | success or error. Always lowercase. | | message | A human-readable summary. | | data | The result. Absent on errors. | | error_details | A map from field path to message. Present only on some errors. | Fields with no value are omitted rather than returned as null. List items behave differently; see List AI Agents. The response message is Agent retrieved successfully and operation_type is GET. data.llm includes the resolved model_provider, model_name and model_display_name. Update AI Agent rejects those three fields with 400. Do not send data.llm back unchanged: remove those fields, or send only the fields you change.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Verbex Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hishabsingaporepteltd/72gxkt7gRN01IC5L/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/hishabsingaporepteltd/72gxkt7gRN01IC5L/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hishabsingaporepteltd/72gxkt7gRN01IC5L/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hishabsingaporepteltd/72gxkt7gRN01IC5L/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hishabsingaporepteltd/72gxkt7gRN01IC5L/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hishabsingaporepteltd/72gxkt7gRN01IC5L/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hishabsingaporepteltd/72gxkt7gRN01IC5L/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hishabsingaporepteltd/72gxkt7gRN01IC5L/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hishabsingaporepteltd/72gxkt7gRN01IC5L/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get AI Agent - Verbex Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Retrieve one agent by id, with every catalog reference resolved to names. The shape depends on the agent type. A simple agent has root llm, stt and tts. A flow agent has the root llm with graph_data, filled from the flow-default model, and no root stt or tts. See the two 200 examples. The v2 equivalent, GET /v2/ai-agents/{agent_id}, is deprecated and stops working on November 30, 2026. This is the v3 endpoint. Migrate from v2 to v3 before that date. ## Status codes | Code | When | | --- | --- | | 200 | The agent exists, is ACTIVE and is in your scope. | | 400 | The API key resolves to neither a workspace nor an organization. | | 403 | The agent exists but belongs to another organization or workspace. | | 404 | No such agent, or the agent is INACTIVE or DELETED. | Errors use the envelope too, so 403 and 404 carry a body: json { \u0026quot;status\u0026quot;: \u0026quot;error\u0026quot;, \u0026quot;message\u0026quot;: \u0026quot;Agent not found with ID: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42\u0026quot; } To see agents that are not ACTIVE, use List AI Agents with agent_status. ## Response envelope Every v3 response uses the same envelope: | Field | Meaning | | --- | --- | | status | success or error. Always lowercase. | | message | A human-readable summary. | | data | The result. Absent on errors. | | error_details | A map from field path to message. Present only on some errors. | Fields with no value are omitted rather than returned as null. List items behave differently; see List AI Agents. The response message is Agent retrieved successfully and operation_type is GET. data.llm includes the resolved model_provider, model_name and model_display_name. Update AI Agent rejects those three fields with 400. Do not send data.llm back unchanged: remove those fields, or send only the fields you change.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Verbex Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.verbex.ai/api-reference/ai-agents-v3/get-ai-agent\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hishabsingaporepteltd.mintlify.app/_mintlify/api/og/v2?division=AI+Agents+v3\u0026amp;title=Get+AI+Agent\u0026amp;description=Retrieve+one+agent+by+id%2C+with+every+catalog+reference+resolved+to+names.%0A%0AThe+shape+depends+on+the+agent+type.+A+%60simple%60+agent+has+root+%60llm%60%2C+%60stt%60+and+%60tts%60\u0026amp;theme=70c8dcbcb80920d3074a2878\u0026amp;signature=d576d5131c47008b59e2dbd4ce933301deec25f4decb805453a878188ae89519\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get AI Agent - Verbex Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Retrieve one agent by id, with every catalog reference resolved to names. The shape depends on the agent type. A simple agent has root llm, stt and tts. A flow agent has the root llm with graph_data, filled from the flow-default model, and no root stt or tts. See the two 200 examples. The v2 equivalent, GET /v2/ai-agents/{agent_id}, is deprecated and stops working on November 30, 2026. This is the v3 endpoint. Migrate from v2 to v3 before that date. ## Status codes | Code | When | | --- | --- | | 200 | The agent exists, is ACTIVE and is in your scope. | | 400 | The API key resolves to neither a workspace nor an organization. | | 403 | The agent exists but belongs to another organization or workspace. | | 404 | No such agent, or the agent is INACTIVE or DELETED. | Errors use the envelope too, so 403 and 404 carry a body: json { \u0026quot;status\u0026quot;: \u0026quot;error\u0026quot;, \u0026quot;message\u0026quot;: \u0026quot;Agent not found with ID: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42\u0026quot; } To see agents that are not ACTIVE, use List AI Agents with agent_status. ## Response envelope Every v3 response uses the same envelope: | Field | Meaning | | --- | --- | | status | success or error. Always lowercase. | | message | A human-readable summary. | | data | The result. Absent on errors. | | error_details | A map from field path to message. Present only on some errors. | Fields with no value are omitted rather than returned as null. List items behave differently; see List AI Agents. The response message is Agent retrieved successfully and operation_type is GET. data.llm includes the resolved model_provider, model_name and model_display_name. Update AI Agent rejects those three fields with 400. Do not send data.llm back unchanged: remove those fields, or send only the fields you change.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hishabsingaporepteltd.mintlify.app/_mintlify/api/og/v2?division=AI+Agents+v3\u0026amp;title=Get+AI+Agent\u0026amp;description=Retrieve+one+agent+by+id%2C+with+every+catalog+reference+resolved+to+names.%0A%0AThe+shape+depends+on+the+agent+type.+A+%60simple%60+agent+has+root+%60llm%60%2C+%60stt%60+and+%60tts%60\u0026amp;theme=70c8dcbcb80920d3074a2878\u0026amp;signature=d576d5131c47008b59e2dbd4ce933301deec25f4decb805453a878188ae89519\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/hishabsingaporepteltd/72gxkt7gRN01IC5L/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Verbex Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.verbex.ai/api-reference/ai-agents-v3/get-ai-agent\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/ai-agents-v3/get-ai-agent.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.verbex.ai/#organization\",\"name\":\"Verbex Docs\",\"url\":\"https://docs.verbex.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hishabsingaporepteltd/hKDJJlbuwj-_7GRI/light.png?fit=max\u0026auto=format\u0026n=hKDJJlbuwj-_7GRI\u0026q=85\u0026s=8e51283f8c4e5daa2b06e4c7b010036a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.verbex.ai#website\",\"name\":\"Verbex Docs\",\"url\":\"https://docs.verbex.ai\",\"publisher\":{\"@id\":\"https://docs.verbex.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.verbex.ai/api-reference/ai-agents-v3/get-ai-agent#webpage\",\"url\":\"https://docs.verbex.ai/api-reference/ai-agents-v3/get-ai-agent\",\"name\":\"Get AI Agent\",\"description\":\"Retrieve one agent by id, with every catalog reference resolved to names. The shape depends on the agent type. A simple agent has root llm, stt and tts. A flow agent has the root llm with graph_data, filled from the flow-default model, and no root stt or tts. See the two 200 examples. The v2 equivalent, GET /v2/ai-agents/{agent_id}, is deprecated and stops working on November 30, 2026. This is the v3 endpoint. Migrate from v2 to v3 before that date. ## Status codes | Code | When | | --- | --- | | 200 | The agent exists, is ACTIVE and is in your scope. | | 400 | The API key resolves to neither a workspace nor an organization. | | 403 | The agent exists but belongs to another organization or workspace. | | 404 | No such agent, or the agent is INACTIVE or DELETED. | Errors use the envelope too, so 403 and 404 carry a body: json { \\\"status\\\": \\\"error\\\", \\\"message\\\": \\\"Agent not found with ID: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42\\\" } To see agents that are not ACTIVE, use List AI Agents with agent_status. ## Response envelope Every v3 response uses the same envelope: | Field | Meaning | | --- | --- | | status | success or error. Always lowercase. | | message | A human-readable summary. | | data | The result. Absent on errors. | | error_details | A map from field path to message. Present only on some errors. | Fields with no value are omitted rather than returned as null. List items behave differently; see List AI Agents. The response message is Agent retrieved successfully and operation_type is GET. data.llm includes the resolved model_provider, model_name and model_display_name. Update AI Agent rejects those three fields with 400. Do not send data.llm back unchanged: remove those fields, or send only the fields you change.\",\"dateModified\":\"2026-11-01T23:11:06.714Z\",\"isPartOf\":{\"@id\":\"https://docs.verbex.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.verbex.ai/api-reference/ai-agents-v3/get-ai-agent#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.verbex.ai/api-reference/ai-agents-v3/get-ai-agent#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"AI Agents v3\",\"item\":\"https://docs.verbex.ai/api-reference/ai-agents-v3/list-ai-agents\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get AI Agent\",\"item\":\"https://docs.verbex.ai/api-reference/ai-agents-v3/get-ai-agent\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.verbex.ai/api-reference/ai-agents-v3/get-ai-agent#apireference\",\"headline\":\"Get AI Agent\",\"name\":\"Get AI Agent\",\"description\":\"Retrieve one agent by id, with every catalog reference resolved to names. The shape depends on the agent type. A simple agent has root llm, stt and tts. A flow agent has the root llm with graph_data, filled from the flow-default model, and no root stt or tts. See the two 200 examples. The v2 equivalent, GET /v2/ai-agents/{agent_id}, is deprecated and stops working on November 30, 2026. This is the v3 endpoint. Migrate from v2 to v3 before that date. ## Status codes | Code | When | | --- | --- | | 200 | The agent exists, is ACTIVE and is in your scope. | | 400 | The API key resolves to neither a workspace nor an organization. | | 403 | The agent exists but belongs to another organization or workspace. | | 404 | No such agent, or the agent is INACTIVE or DELETED. | Errors use the envelope too, so 403 and 404 carry a body: json { \\\"status\\\": \\\"error\\\", \\\"message\\\": \\\"Agent not found with ID: 3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42\\\" } To see agents that are not ACTIVE, use List AI Agents with agent_status. ## Response envelope Every v3 response uses the same envelope: | Field | Meaning | | --- | --- | | status | success or error. Always lowercase. | | message | A human-readable summary. | | data | The result. Absent on errors. | | error_details | A map from field path to message. Present only on some errors. | Fields with no value are omitted rather than returned as null. List items behave differently; see List AI Agents. The response message is Agent retrieved successfully and operation_type is GET. data.llm includes the resolved model_provider, model_name and model_display_name. Update AI Agent rejects those three fields with 400. Do not send data.llm back unchanged: remove those fields, or send only the fields you change.\",\"url\":\"https://docs.verbex.ai/api-reference/ai-agents-v3/get-ai-agent\",\"mainEntityOfPage\":{\"@id\":\"https://docs.verbex.ai/api-reference/ai-agents-v3/get-ai-agent#webpage\"},\"dateModified\":\"2026-11-01T23:11:06.714Z\",\"publisher\":{\"@id\":\"https://docs.verbex.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.verbex.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Verbex Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Verbex Docs","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"Getting an API Key","href":"/api-reference/introduction"},{"title":"Migrate from v2 to v3","href":"/api-reference/ai-agents-v3/migrate-from-v2"}]},{"group":"AI Agents v3","pages":[{"title":"List AI Agents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v3/ai-agents","href":"/api-reference/ai-agents-v3/list-ai-agents"},{"title":"Create AI Agent","description":"Create an AI agent. The LLM, speech-to-text model and voice are chosen by **catalog id**. You no longer send provider names, model names or provider credentials.\n\n\u003cWarning>\n**The v2 equivalent, [`POST /v2/ai-agents/`](/api-reference/ai-agents-v2/create-ai-agent), is deprecated and stops working on November 30, 2026.** This is the v3 endpoint. [Migrate from v2 to v3](/api-reference/ai-agents-v3/migrate-from-v2) before that date.\n\u003c/Warning>\n\n## References, not inline configuration\n\n| Field | What it references | Where to find the id |\n| --- | --- | --- |\n| `llm.llm_id` | An LLM model in the model catalog | `llm_model_id` in [List LLM models](/api-reference/llm-models/list-llm-models) |\n| `stt.provider_id` | A speech-to-text provider | `id` in [List STT providers](/api-reference/speech-providers/list-stt-providers) |\n| `stt.model_id` | One of that provider's models | `languages[].models[].id` in the same response |\n| `tts.provider_id` | A text-to-speech provider | `id` in [List TTS providers](/api-reference/speech-providers/list-tts-providers) |\n| `tts.voice_id` | One of that provider's voices | `languages[].voices[].voice_id` in the same response |\n\nEvery reference is resolved and checked before the agent is stored. The request returns `422` when a referenced record does not exist, is not `ACTIVE`, or does not support the requested `llm_type`. A custom LLM model must also belong to your organization. On success, the resolved provider, model and voice **names** are copied onto the agent and returned in the response.\n\n## Agent types\n\n`llm.llm_type` is required. It selects the shape of the rest of the request.\n\n- **`simple`**: the root `llm` object carries `llm_id` and `system_prompt`. The root `stt` and `tts` objects carry the speech references. The response message is `Simple agent created successfully` and `operation_type` is `CREATE`.\n- **`flow`**: the root `llm` object carries **only** `llm_type` and `graph_data`. The flow-default references live in `graph_data.agentDefaults` (`stt.provider_id` + `stt.model_id`, `llm.llm_id`, `tts.provider_id` + `tts.voice_id`). The server fills provider, model and voice names into the graph before it validates the graph. The response message is `Flow builder agent created successfully` and `operation_type` is `CREATE_FLOW_BUILDER`. In the response, the root `llm` also carries `llm_id`, `model_provider`, `model_name`, `model_display_name`, `model_temperature` and `max_tokens`, filled from the flow-default model. A flow agent has no root `stt`, `tts`, `agent_owner_id` or `pronunciations`.\n- **`agentic`**: rejected.\n\n\u003cWarning>\n**Agentic agent creation is discontinued.** `llm_type: \"agentic\"` returns `422` with `Agentic agent creation is no longer supported`. Existing agentic agents stay readable and updatable. Use `flow` for new multi-step agents.\n\u003c/Warning>\n\n## Field notes\n\n- `model_temperature`: when omitted, the agent takes the catalog model's temperature. A sent value, `0` included, is stored as is. The service enforces no bounds; the console allows `0`–`2`.\n- `max_tokens` is filled from the model catalog.\n- `vad_activation_threshold`: `0.10`–`0.90`, no default. When unset, the key is omitted from the response and the call handler uses its own per-language default.\n- `wait_time_before_detecting_end_of_speech` and `max_endpointing_delay` apply to `flow` agents only. They default to `0.2` and `2.0` seconds. `max_endpointing_delay` must be greater than the wait time. Other agent types ignore both.\n- `minimum_words_before_interruption`: `0`–`10`, default `2`. `minimum_speech_duration_for_interruptions`: `0.5`–`15`, default `0.5`.\n\n## Response envelope\n\nEvery v3 response uses the same envelope:\n\n| Field | Meaning |\n| --- | --- |\n| `status` | `success` or `error`. Always lowercase. |\n| `message` | A human-readable summary. |\n| `data` | The result. Absent on errors. |\n| `error_details` | A map from field path to message. Present only on some errors. |\n\nFields with no value are omitted rather than returned as `null`.\n\nA successful create returns `201`:\n\n```json\n{\n \"status\": \"success\",\n \"message\": \"Simple agent created successfully\",\n \"data\": {\n \"ai_agent_id\": \"3f6c2a1e-8b4d-4c9a-9e2f-7d1b5a6c0e42\",\n \"agent_name\": \"Support Agent\",\n \"agent_status\": \"ACTIVE\",\n \"operation_type\": \"CREATE\"\n }\n}\n```\n\nThe full body is in the `201` response example.\n\n## Validation errors\n\nEach of these returns `422`. `message` names the block that failed, and `error_details` names the field.\n\n| Request problem | `message` | `error_details` key |\n| --- | --- | --- |\n| `llm.llm_type` missing | `LLM validation failed` | `llm.llm_type` |\n| `llm.llm_id` missing (simple agent) | `LLM validation failed` | `llm.llm_id` |\n| `llm.llm_id` unknown | `LLM model lookup failed` | `llm.llm_id` |\n| LLM model not `ACTIVE` | `LLM model validation failed` | `llm.llm_id` |\n| `stt.model_id` missing | `STT validation failed` | `data.stt.model_id` |\n| `stt.provider_id` unknown | `STT validation failed` | `data.stt.provider_id` |\n| `stt.model_id` not offered by that provider | `STT validation failed` | `data.stt.model_id` |\n| `tts.voice_id` missing | `TTS validation failed` | `data.tts.voice_id` |\n| `llm_type` is `agentic` | `Agent validation failed` | `llm.llm_type` |\n| A field out of range or missing | `Validation failed` | Java property name, for example `vadActivationThreshold` or `agentName` |\n| A field of the wrong type | `Invalid field type in request body` | JSON name, for example `vad_activation_threshold` |\n\n\u003cNote>\n`Validation failed` errors key `error_details` by the Java property name (`vadActivationThreshold`). Every other error uses the JSON path (`vad_activation_threshold`, `llm.llm_id`). If you map errors to form fields, handle both forms.\n\u003c/Note>","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v3/ai-agents","href":"/api-reference/ai-agents-v3/create-ai-agent"},{"title":"Get AI Agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v3/ai-agents/{agent_id}","href":"/api-reference/ai-agents-v3/get-ai-agent"},{"title":"Update AI Agent","description":"Update an agent and return the full updated agent.\n\n\u003cWarning>\n**The v2 equivalent, [`PUT /v2/ai-agents/{agent_id}`](/api-reference/ai-agents-v2/update-ai-agent), is deprecated and stops working on November 30, 2026.** This is the v3 endpoint. [Migrate from v2 to v3](/api-reference/ai-agents-v3/migrate-from-v2) before that date.\n\u003c/Warning>\n\n## Partial updates\n\nAlthough this is a `PUT`, the update **merges**. Fields present in the body are applied. Fields you omit keep their stored value. Nested objects (`llm`, `stt`, `tts`) merge the same way, so `{\"tts\": {\"provider_id\": \"…\", \"voice_id\": \"…\"}}` changes the voice and keeps the rest of the TTS configuration. You cannot clear a field by omitting it.\n\n`llm.graph_data` is the exception: it is not merged. A sent `graph_data` replaces the stored graph as a whole.\n\n## Changing the LLM, STT model or voice\n\nSelections use the same id-based contract as [Create AI Agent](/api-reference/ai-agents-v3/create-ai-agent):\n\n- Send `stt.provider_id` + `stt.model_id` or `tts.provider_id` + `tts.voice_id`. The reference is resolved again against the provider catalog, and the stored names are refreshed.\n- Send `llm.llm_id`, or `graph_data.agentDefaults.llm.llm_id` for a `flow` agent. The LLM fields on the agent are refreshed from the model catalog.\n\n## Flow agents\n\n- To change a flow agent's default STT model, LLM or voice, send `llm.llm_type: \"flow\"` and the **complete** `llm.graph_data` with the new ids in `agentDefaults`. A partial graph replaces the stored one. See the `flow_graph` request example.\n- `graph_data` without `llm.llm_type` returns `422`.\n- The server fills provider, model and voice names into the graph, then validates it. An id the catalog does not know returns `422` with the graph path in `error_details`, for example `llm.graph_data.agentDefaults.tts.voice_id`.\n- Root `stt` and `tts` are not used by flow agents.\n\nThe same `422` checks as create apply: the referenced record must exist, be `ACTIVE`, support the agent's `llm_type` and, for a custom model, belong to your organization.\n\n## Rejected LLM fields\n\n`llm.model_provider`, `llm.model_name` and `llm.model_display_name` are not accepted. The model is chosen by `llm.llm_id` alone, and those fields are always refilled from the catalog. A request that sends any of them returns `400`, and every offending field is named in `error_details`:\n\n```json\n{\n \"status\": \"error\",\n \"message\": \"Agent validation failed\",\n \"error_details\": {\n \"llm.model_name\": \"llm.model_name is not accepted on v3 update; send llm.llm_id to change the model\"\n }\n}\n```\n\n\u003cWarning>\n[Get AI Agent](/api-reference/ai-agents-v3/get-ai-agent) returns those three fields inside `data.llm`. A client that reads an agent and sends the same `llm` object back gets this `400`. Remove the three fields, or send only the fields you change.\n\u003c/Warning>\n\n## Field notes\n\n- `model_temperature`: when omitted, the stored value is kept, **even when `llm_id` changes**. The new model's temperature applies only if the agent had none. A sent value, `0` included, is stored as is.\n- `vad_activation_threshold`: omitting the key keeps the stored value. A number from `0.10` to `0.90` replaces it.\n- `wait_time_before_detecting_end_of_speech` and `max_endpointing_delay` apply to `flow` agents only. When a request changes either one, `max_endpointing_delay` must stay greater than the wait time after the merge, otherwise the request returns `422`.\n\n\u003cWarning>\n**Sending `vad_activation_threshold: null` does not clear the stored value yet.** The response shows the key removed, but the stored value stays and later reads and calls keep using it. Until a fix ships, you can set a new value but cannot clear one.\n\u003c/Warning>\n\n## Versioning\n\nEvery successful update writes a new agent version. The response carries `current_version` and, when the version has a label, `current_version_name`.\n\n## Response envelope\n\nEvery v3 response uses the same envelope:\n\n| Field | Meaning |\n| --- | --- |\n| `status` | `success` or `error`. Always lowercase. |\n| `message` | A human-readable summary. |\n| `data` | The result. Absent on errors. |\n| `error_details` | A map from field path to message. Present only on some errors. |\n\nFields with no value are omitted rather than returned as `null`.\n\nThe response message and `operation_type` depend on the agent type: `Simple agent updated successfully` / `UPDATE`, `Flow builder agent updated successfully` / `UPDATE_FLOW_BUILDER`, or `Agentic agent updated successfully` / `UPDATE_AGENTIC`.\n\n## Status codes\n\n| Code | When |\n| --- | --- |\n| `200` | Updated. The body carries the full agent. |\n| `400` | The request sent `llm.model_provider`, `llm.model_name` or `llm.model_display_name`. |\n| `403` | The agent belongs to another organization or workspace. |\n| `404` | No such agent. |\n| `422` | Validation failed, or a referenced catalog record was missing, inactive or incompatible. |","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v3/ai-agents/{agent_id}","href":"/api-reference/ai-agents-v3/update-ai-agent"},{"title":"Delete AI Agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v3/ai-agents/{agent_id}","href":"/api-reference/ai-agents-v3/delete-ai-agent"}]},{"group":"AI Agents v2","pages":[{"title":"List AI Agents","deprecated":true,"version":null,"openapi":"/api-reference/openapi.json get /v2/ai-agents/","href":"/api-reference/ai-agents-v2/list-ai-agents"},{"title":"Create AI Agent","deprecated":true,"version":null,"openapi":"/api-reference/openapi.json post /v2/ai-agents/","href":"/api-reference/ai-agents-v2/create-ai-agent"},{"title":"Get AI Agent","deprecated":true,"version":null,"openapi":"/api-reference/openapi.json get /v2/ai-agents/{agent_id}","href":"/api-reference/ai-agents-v2/get-ai-agent"},{"title":"Update AI Agent","deprecated":true,"version":null,"openapi":"/api-reference/openapi.json put /v2/ai-agents/{agent_id}","href":"/api-reference/ai-agents-v2/update-ai-agent"},{"title":"Delete AI Agent","deprecated":true,"version":null,"openapi":"/api-reference/openapi.json delete /v2/ai-agents/{agent_id}","href":"/api-reference/ai-agents-v2/delete-ai-agent"}]},{"group":"LLM Models","pages":[{"title":"List LLM models","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v2/llm-models","href":"/api-reference/llm-models/list-llm-models"},{"title":"Get LLM model","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v2/llm-models/{llm_model_id}","href":"/api-reference/llm-models/get-llm-model"}]},{"group":"Speech Providers","pages":[{"title":"List STT providers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v3/stt/providers","href":"/api-reference/speech-providers/list-stt-providers"},{"title":"Get STT provider","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v3/stt/providers/{provider_name}","href":"/api-reference/speech-providers/get-stt-provider"},{"title":"List TTS providers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v3/tts/providers","href":"/api-reference/speech-providers/list-tts-providers"},{"title":"Get TTS provider","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v3/tts/providers/{provider_name}","href":"/api-reference/speech-providers/get-tts-provider"}]},{"group":"Built-in Tools","pages":[{"title":"List built-in tools","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v2/ai-agents/{ai_agent_id}/builtin-tools/","href":"/api-reference/built-in-tools/list-built-in-tools"},{"title":"Create built-in tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v2/ai-agents/{ai_agent_id}/builtin-tools/","href":"/api-reference/built-in-tools/create-built-in-tool"},{"title":"Get built-in tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v2/ai-agents/{ai_agent_id}/builtin-tools/{tool_id}","href":"/api-reference/built-in-tools/get-built-in-tool"},{"title":"Update built-in tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v2/ai-agents/{ai_agent_id}/builtin-tools/{tool_id}","href":"/api-reference/built-in-tools/update-built-in-tool"},{"title":"Delete built-in tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v2/ai-agents/{ai_agent_id}/builtin-tools/{tool_id}","href":"/api-reference/built-in-tools/delete-built-in-tool"}]},{"group":"Custom Tools","pages":[{"title":"List custom tools","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v2/ai-agents/{ai_agent_id}/custom-tools/","href":"/api-reference/custom-tools/list-custom-tools"},{"title":"Create custom tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v2/ai-agents/{ai_agent_id}/custom-tools/","href":"/api-reference/custom-tools/create-custom-tool"},{"title":"Get custom tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}","href":"/api-reference/custom-tools/get-custom-tool"},{"title":"Update custom tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}","href":"/api-reference/custom-tools/update-custom-tool"},{"title":"Delete custom tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v2/ai-agents/{ai_agent_id}/custom-tools/{tool_id}","href":"/api-reference/custom-tools/delete-custom-tool"}]},{"group":"Calls","pages":[{"title":"Create Web Call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/calls/create-web-call","href":"/api-reference/calls/create-web-call"},{"title":"Create Web Call (Public Shared)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/calls/public/create-web-call","href":"/api-reference/calls/create-web-call-public-shared"},{"title":"Dial Outbound Phone Call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/calls/dial-outbound-phone-call","href":"/api-reference/calls/dial-outbound-phone-call"},{"title":"Get Call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/calls/{call_id}","href":"/api-reference/calls/get-call"},{"title":"List Calls","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/calls/","href":"/api-reference/calls/list-calls"}]},{"group":"Call Recording","pages":[{"title":"Get Signed URL for Call Recording","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/call-recording/signed-url","href":"/api-reference/call-recording/get-signed-url-for-call-recording"},{"title":"Download Call Recording","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/call-recording/download","href":"/api-reference/call-recording/download-call-recording"}]},{"group":"Post-call Analysis","pages":[{"title":"Get post-call analysis configuration for an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v2/ai-agents/{ai_agent_id}/postcall-analysis","href":"/api-reference/post-call-analysis/get-post-call-analysis-configuration-for-an-agent"},{"title":"Update an existing post-call analysis configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v2/ai-agents/{ai_agent_id}/postcall-analysis","href":"/api-reference/post-call-analysis/update-an-existing-post-call-analysis-configuration"},{"title":"Create a new post-call analysis configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v2/ai-agents/{ai_agent_id}/postcall-analysis","href":"/api-reference/post-call-analysis/create-a-new-post-call-analysis-configuration"},{"title":"Delete an existing post-call analysis configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v2/ai-agents/{ai_agent_id}/postcall-analysis","href":"/api-reference/post-call-analysis/delete-an-existing-post-call-analysis-configuration"},{"title":"Get Post Call Analysis Results","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v2/ai-agents/{ai_agent_id}/postcall-analysis/results/{call_id}","href":"/api-reference/post-call-analysis/get-post-call-analysis-results"}]},{"group":"Phone Numbers","pages":[{"title":"Retrieve a paginated list of all phone numbers configured in your PIA Platform account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/phone-numbers/","href":"/api-reference/phone-numbers/retrieve-a-paginated-list-of-all-phone-numbers-configured-in-your-pia-platform-account"},{"title":"Create a new phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/phone-numbers/","href":"/api-reference/phone-numbers/create-a-new-phone-number"},{"title":"Retrieve detailed information about a specific phone number configuration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/phone-numbers/{phone_number_id}","href":"/api-reference/phone-numbers/retrieve-detailed-information-about-a-specific-phone-number-configuration"},{"title":"Remove a phone number configuration from the PIA Platform","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/phone-numbers/{phone_number_id}","href":"/api-reference/phone-numbers/remove-a-phone-number-configuration-from-the-pia-platform"},{"title":"Update the configuration of an existing phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/phone-numbers/{phone_number_id}","href":"/api-reference/phone-numbers/update-the-configuration-of-an-existing-phone-number"}]},{"group":"Knowledge Bases","pages":[{"title":"List Knowledge Bases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/knowledge-bases","href":"/api-reference/knowledge-bases/list-knowledge-bases"},{"title":"Create Knowledge Base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/knowledge-bases","href":"/api-reference/knowledge-bases/create-knowledge-base"},{"title":"Get Knowledge Base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/knowledge-bases/{kb_id}","href":"/api-reference/knowledge-bases/get-knowledge-base"},{"title":"Delete Knowledge Base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /api/v1/knowledge-bases/{kb_id}","href":"/api-reference/knowledge-bases/delete-knowledge-base"},{"title":"Update Knowledge Base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /api/v1/knowledge-bases/{kb_id}","href":"/api-reference/knowledge-bases/update-knowledge-base"},{"title":"Upload a File","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/knowledge-bases/{kb_id}/documents/file","href":"/api-reference/knowledge-bases/upload-a-file"},{"title":"Discover a Website's URLs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/knowledge-bases/documents/website/sitemaps","href":"/api-reference/knowledge-bases/discover-a-websites-urls"},{"title":"Crawl Web Pages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/knowledge-bases/{kb_id}/documents/website","href":"/api-reference/knowledge-bases/crawl-web-pages"},{"title":"List Documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/knowledge-bases/{kb_id}/documents","href":"/api-reference/knowledge-bases/list-documents"},{"title":"Get Document Status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/knowledge-bases/{kb_id}/documents/{document_id}/status","href":"/api-reference/knowledge-bases/get-document-status"},{"title":"Inspect Indexed Chunks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v1/knowledge-bases/{kb_id}/documents/{document_id}/chunks","href":"/api-reference/knowledge-bases/inspect-indexed-chunks"},{"title":"Delete a Document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /api/v1/knowledge-bases/{kb_id}/documents/{document_id}","href":"/api-reference/knowledge-bases/delete-a-document"},{"title":"Semantic Search","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v1/vector/search","href":"/api-reference/knowledge-bases/semantic-search"}]},{"group":"Prompt Generation","pages":[{"title":"Generate Prompt","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/prompt-generation/prompt/generate","href":"/api-reference/prompt-generation/generate-prompt"}]},{"group":"Public Sharing","pages":[{"title":"Create Share","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/public-sharing/","href":"/api-reference/public-sharing/create-share"},{"title":"Get Share","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/public-sharing/{ai_agent_id}","href":"/api-reference/public-sharing/get-share"},{"title":"Delete Share","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/public-sharing/{share_id}","href":"/api-reference/public-sharing/delete-share"}]},{"group":"Webhook Subscriptions","pages":[{"title":"Create a subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/public/webhook/subscription","href":"/api-reference/webhook-subscriptions/create-a-subscription"},{"title":"Get a subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/public/webhook/subscription/{id}","href":"/api-reference/webhook-subscriptions/get-a-subscription"},{"title":"Update a subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/public/webhook/subscription/{id}","href":"/api-reference/webhook-subscriptions/update-a-subscription"},{"title":"Delete a subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/public/webhook/subscription/{id}","href":"/api-reference/webhook-subscriptions/delete-a-subscription"},{"title":"Rotate the signing secret","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/public/webhook/subscription/{id}/rotate/secret","href":"/api-reference/webhook-subscriptions/rotate-the-signing-secret"},{"title":"List subscriptions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/public/webhook/subscriptions","href":"/api-reference/webhook-subscriptions/list-subscriptions"}]},{"group":"API Keys","pages":[{"title":"List API Keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/api-keys/","href":"/api-reference/api-keys/list-api-keys"},{"title":"Create API Key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/api-keys/","href":"/api-reference/api-keys/create-api-key"},{"title":"Get API Key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/api-keys/{key_id}","href":"/api-reference/api-keys/get-api-key"},{"title":"Revoke API Key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/api-keys/{key_id}/revoke","href":"/api-reference/api-keys/revoke-api-key"}]}]},{"tab":"Video Tutorials","pages":[{"title":"Video Tutorials","href":"/video-tutorials/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/changelog"}]}]},"basePath":"","title":"Get AI Agent - Verbex Docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}