curl --request POST \ --url https://tavusapi.com/v2/pals \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --data '{ "pipeline_mode": "full", "system_prompt": "As a Life Coach, you are a dedicated professional who specializes in...", "default_face_id": "rc9cff32ceba"}'
Creates a PAL and configures how it behaves in CVI for every conversation that uses that PAL.
POST
/
v2
/
pals
curl --request POST \ --url https://tavusapi.com/v2/pals \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --data '{ "pipeline_mode": "full", "system_prompt": "As a Life Coach, you are a dedicated professional who specializes in...", "default_face_id": "rc9cff32ceba"}'
For AI agents, use https://docs.tavus.io/openapi.yaml for the full HTTP API contract.
default_face_id is required on POST /v2/pals (unlike the legacy POST /v2/personas path, where default_replica_id was optional). /v2/personas and persona_id / default_replica_id remain supported as aliases.
When true, conversations that omit dynamic_greeting generate an opener if this PAL has no greeting. The line is generated from the PAL (system prompt and context). A conversation can still send custom_greeting or dynamic_greeting: true — the latter generates even over this written greeting. Default is false. Generated in the first tag of the conversation's properties.languages, otherwise this PAL's languages.
The pipeline mode to use for the PAL. Possible values: full, echo. full will provide the default end-to-end experience. echo will turn off most steps, and allow the PAL to sync video with audio passed in through Echo events, which it will speak out.
The languages every conversation with this PAL is expected to run in, from the spoken languages Tavus supports. Tavus restricts speech recognition to this set, holds the PAL's replies to it, and selects a matching version of the voice per language where one exists.
The fewer languages you supply, the more accurate the conversation. Only include languages the PAL is actually expected to speak.
A conversation may override this with its own languages on properties; the sets are not merged. A language the PAL's TTS engine and model cannot speak is rejected rather than ignored. See Language support.
Array of document IDs that the PAL will have access to. The document_ids are returned in the response of the Get Document and the Create Document endpoints.
Array of document tags that the PAL will have access to. Documents matching these tags will be available to the PAL in all their conversations. The tags are passed in the document_tags parameter of the Create Document endpoint. As soon as one document has the tag, you will be able to pass the tags in this parameter..
The unique identifier of the objectives to attach to this PAL. Objectives provide goal-oriented instructions that help guide conversations toward specific outcomes. Create objectives using the Create Objectives endpoint.
Array of guardrail tags. Any guardrail you own with a matching tag is attached to this PAL dynamically. Up to 50 tags per PAL, and a PAL can have at most 50 guardrails total.
Deprecated. The unique identifier of a guardrail set to attach to this PAL. New integrations should use guardrail_ids / guardrail_tags instead - see Deprecated guardrail sets.
Optional nested settings for each CVI pipeline layer (perception, STT, conversational flow, LLM, TTS, conferencing). For an overview of what each layer controls, see PAL overview - CVI layers.
The PAL's invitable meeting email on tavusinvite.com, derived from layers.conferencing.username. Present when conferencing is configured. See Google Meet / Zoom / Teams.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Tavus","colors":{"primary":"#FA3862","light":"#FA3862","dark":"#FA3862"},"logo":{"light":"https://mintcdn.com/tavus/mlBBb4gkXXhWTLQi/logo/light_logo.png?fit=max\u0026auto=format\u0026n=mlBBb4gkXXhWTLQi\u0026q=85\u0026s=892e020f9d0afc49e64011dcae9d3dd6","dark":"https://mintcdn.com/tavus/mlBBb4gkXXhWTLQi/logo/dark_logo.png?fit=max\u0026auto=format\u0026n=mlBBb4gkXXhWTLQi\u0026q=85\u0026s=1268f09533ab55791e8ef8200d4a669f"},"favicon":{"light":"https://mintcdn.com/tavus/yC-TYEqHye998xbI/favicon_light.png?fit=max\u0026auto=format\u0026n=yC-TYEqHye998xbI\u0026q=85\u0026s=25642e844d8f4aaad82e6cb0d0cf44c3","dark":"https://mintcdn.com/tavus/yC-TYEqHye998xbI/favicon_dark.png?fit=max\u0026auto=format\u0026n=yC-TYEqHye998xbI\u0026q=85\u0026s=42861da3c81323c222cd6182eee43175"},"api":{"openapi":"openapi.yaml"},"navbar":{"links":[{"href":"https://discord.gg/5Y9Er6WNN5","label":"Community"},{"href":"https://status.tavus.io","label":"Status"},{"href":"mailto:support@tavus.io","label":"Get Support"}],"primary":{"type":"button","label":"Get Started","href":"https://maker.tavus.io/auth/sign-up?is_developer=true"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/tavus-io","discord":"https://discord.gg/5Y9Er6WNN5"}},"integrations":{"ga4":{"measurementId":"G-SBQHZWT4FS"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","mcp"],"display":"header"},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tavus","hasAudioNarration":false,"actualSubdomain":"tavus","customDomains":["docs.tavus.io"],"gitSource":{"type":"github","owner":"tavus-engineering","repo":"platform-api-developer-documentation","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae0d930898aa086d1de2a41","collectionId":"1f208cdd-9356-492d-8ec4-0c664db39f3c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae0d930898aa086d1de2a41"},"feedback":{"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae0d930898aa086d1de2a41","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"CVI","count":137},{"language":"default","tag":"API","count":93},{"language":"default","tag":"Build","count":92},{"language":"default","tag":"Skills","count":27},{"language":"default","tag":"Deploy","count":23},{"language":"default","tag":"Interaction Events","count":21},{"language":"default","tag":"Face","count":20},{"language":"default","tag":"Magic Canvas","count":17},{"language":"default","tag":"Deployments","count":16},{"language":"default","tag":"Tools","count":14}]},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true},"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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"editor-agent-model-picker","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/pals/create-pal","slug":"/api-reference/pals/create-pal","pageMetadata":{"openapi":"post /v2/pals","keywords":["PAL","persona","persona_id","pal_id"],"title":"Create PAL","description":"Creates a PAL and configures how it behaves in CVI for every conversation that uses that PAL.\n","href":"/api-reference/pals/create-pal"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Creates a PAL and configures how it behaves in CVI for every conversation that uses that PAL.\"\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};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,..._provideComponents(),...props.components},{Info,Note}=_components;if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsxs(_components.p,{children:[`For AI agents, use `,_jsx(_components.code,{children:`https://docs.tavus.io/openapi.yaml`}),` for the full HTTP API contract.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`default_face_id`}),` is required on `,_jsx(_components.code,{children:`POST /v2/pals`}),` (unlike the legacy `,_jsx(_components.code,{children:`POST /v2/personas`}),` path, where `,_jsx(_components.code,{children:`default_replica_id`}),` was optional). `,_jsx(_components.code,{children:`/v2/personas`}),` and `,_jsx(_components.code,{children:`persona_id`}),` / `,_jsx(_components.code,{children:`default_replica_id`}),` remain supported as aliases.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"post /v2/pals","keywords":["PAL","persona","persona_id","pal_id"],"title":"Create PAL","description":"Creates a PAL and configures how it behaves in CVI for every conversation that uses that PAL.\n","href":"/api-reference/pals/create-pal"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["PALs"],"summary":"Create PAL","description":"Creates a PAL and configures how it behaves in CVI for every conversation that uses that PAL.\n","operationId":"createPal","requestBody":"d8c4d42a-8fe0-442b-8f31-de0725f77ee6","responses":{"200":"3f6a9907-3060-4b9d-9535-79bc39811dc9","400":"e74aa636-d8fd-4436-9f39-34c673a57c18","401":"09e4ecad-4873-42d9-9c4b-1a060fb38473"},"security":["a10db6f6-d793-4ddd-98b1-a8db7a44342d"],"method":"post","type":"path","servers":["36cae911-a272-4162-ae8b-6363635e3850"],"path":"/v2/pals","baseUrlOptions":["https://tavusapi.com"],"title":"Create PAL","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"pal_name":{"type":"string","description":"A name for the PAL.","example":"Life Coach","uniqueKey":"pal_name","typeLabel":"string"},"system_prompt":{"type":"string","description":"This is the system prompt that will be used by the llm. **Required unless using echo mode.**","example":"As a Life Coach, you are a dedicated professional who specializes in...","uniqueKey":"system_prompt","typeLabel":"string"},"greeting":{"type":"string","description":"Optional opening line the PAL speaks at the start of every conversation. When empty, the PAL stays silent unless `dynamic_greeting` is true.","example":"Hey there! What can I help you with today?","uniqueKey":"greeting","typeLabel":"string"},"dynamic_greeting":{"type":"boolean","description":"When true, conversations that omit `dynamic_greeting` generate an opener if this PAL has no `greeting`. The line is generated from the PAL (system prompt and context). A conversation can still send `custom_greeting` or `dynamic_greeting: true` — the latter generates even over this written greeting. Default is false. Generated in the first tag of the conversation's `properties.languages`, otherwise this PAL's `languages`.\n","default":false,"example":false,"uniqueKey":"dynamic_greeting","typeLabel":"boolean"},"pipeline_mode":{"type":"string","description":"The pipeline mode to use for the PAL. Possible values: `full`, `echo`. `full` will provide the default end-to-end experience. `echo` will turn off most steps, and allow the PAL to sync video with audio passed in through Echo events, which it will speak out.","enum":["full","echo"],"uniqueKey":"pipeline_mode","typeLabel":"enum\u003cstring>"},"default_face_id":{"type":"string","description":"**Required.** The default face associated with this PAL. Also **required** when `layers.conferencing` is set - see [Google Meet / Zoom / Teams](/sections/conversational-video-interface/pal/meetings).","example":"rc9cff32ceba","uniqueKey":"default_face_id","typeLabel":"string"},"languages":{"type":"array","description":"The languages every conversation with this PAL is expected to run in, from the [spoken languages](/sections/conversational-video-interface/language-support#spoken-languages) Tavus supports. Tavus restricts speech recognition to this set, holds the PAL's replies to it, and selects a matching version of the voice per language where one exists.\n\nThe fewer languages you supply, the more accurate the conversation. Only include languages the PAL is actually expected to speak.\n\nA conversation may override this with its own `languages` on `properties`; the sets are not merged. A language the PAL's TTS engine and model cannot speak is rejected rather than ignored. See [Language support](/sections/conversational-video-interface/language-support#setting-languages).\n","maxItems":42,"items":{"type":"string","maxLength":16,"uniqueKey":"languages.items.[INDEX]","typeLabel":"string"},"example":["en","es"],"uniqueKey":"languages","typeLabel":"string[]"},"document_ids":{"type":"array","description":"Array of document IDs that the PAL will have access to. The `document_ids` are returned in the response of the [Get Document](/api-reference/documents/get-document) and the [Create Document](/api-reference/documents/create-document) endpoints.","items":{"type":"string","uniqueKey":"document_ids.items.[INDEX]","typeLabel":"string"},"example":["d1234567890","d2468101214"],"uniqueKey":"document_ids","typeLabel":"string[]"},"document_tags":{"type":"array","description":"Array of document tags that the PAL will have access to. Documents matching these tags will be available to the PAL in all their conversations. The tags are passed in the `document_tags` parameter of the [Create Document](/api-reference/documents/create-document) endpoint. As soon as one document has the tag, you will be able to pass the tags in this parameter..","items":{"type":"string","uniqueKey":"document_tags.items.[INDEX]","typeLabel":"string"},"example":["product_info","company_policies"],"uniqueKey":"document_tags","typeLabel":"string[]"},"objectives_id":{"type":"string","description":"The unique identifier of the objectives to attach to this PAL. Objectives provide goal-oriented instructions that help guide conversations toward specific outcomes. Create objectives using the [Create Objectives](/api-reference/objectives/create-objectives) endpoint.","example":"o12345","uniqueKey":"objectives_id","typeLabel":"string"},"guardrail_ids":{"type":"array","maxItems":50,"description":"Array of guardrail IDs enforced during this PAL's conversations. Up to 50 per PAL. Guardrail IDs are returned by [Create Guardrails](/api-reference/guardrails/create-guardrails) and [Get Guardrails](/api-reference/guardrails/get-guardrails).","items":{"type":"string","uniqueKey":"guardrail_ids.items.[INDEX]","typeLabel":"string"},"example":["g1234567890ab","g0987654321cd"],"uniqueKey":"guardrail_ids","typeLabel":"string[]"},"guardrail_tags":{"type":"array","maxItems":50,"description":"Array of guardrail tags. Any guardrail you own with a matching tag is attached to this PAL dynamically. Up to 50 tags per PAL, and a PAL can have at most 50 guardrails total.","items":{"type":"string","uniqueKey":"guardrail_tags.items.[INDEX]","typeLabel":"string"},"example":["compliance","healthcare"],"uniqueKey":"guardrail_tags","typeLabel":"string[]"},"guardrails_id":{"type":"string","description":"**Deprecated.** The unique identifier of a guardrail set to attach to this PAL. New integrations should use `guardrail_ids` / `guardrail_tags` instead - see [Deprecated guardrail sets](/api-reference/guardrails/legacy-guardrail-sets).","example":"g12345","uniqueKey":"guardrails_id","typeLabel":"string"},"disclosure_type":{"type":"string","description":"Controls the AI disclosure the PAL delivers at the start of a conversation. See [EU AI Act](/sections/onboarding-guide/eu-ai-act) product guidance.\n\n- `always`: the PAL speaks `verbal_disclosure` before the greeting and shows `visual_disclosure` on screen for every conversation.\n- `auto` (default): applies the disclosure only when the conversation's [`policy`](/api-reference/conversations/create-conversation) is `eu`.\n- `off`: never delivers a Tavus-built-in disclosure.\n\nWhen `always` or `auto` fires and `verbal_disclosure` / `visual_disclosure` are empty, Tavus supplies these defaults:\n\n- `verbal_disclosure`: \"Just a note, I am an AI system, not a person.\"\n- `visual_disclosure`: \"You are interacting with an AI system.\"\n","enum":["always","auto","off"],"default":"auto","example":"auto","uniqueKey":"disclosure_type","typeLabel":"enum\u003cstring>"},"verbal_disclosure":{"type":"string","description":"Text the PAL speaks before its greeting when `disclosure_type` fires. When empty, Tavus falls back to \"Just a note, I am an AI system, not a person.\"","example":"Just so you know, you're speaking with an AI agent from Acme.","uniqueKey":"verbal_disclosure","typeLabel":"string"},"visual_disclosure":{"type":"string","description":"Text shown as an on-screen banner while the PAL delivers `verbal_disclosure`. When empty, Tavus falls back to \"You are interacting with an AI system.\"","example":"You are speaking with an AI agent.","uniqueKey":"visual_disclosure","typeLabel":"string"},"layers":{"type":"object","description":"Optional nested settings for each CVI pipeline layer (perception, STT, conversational flow, LLM, TTS, conferencing). For an overview of what each layer controls, see [PAL overview - CVI layers](/sections/conversational-video-interface/pal/overview#cvi-layer).\n","properties":{"perception":{"type":"object","properties":{"perception_model":{"type":"string","description":"The perception model to use. `raven-2` combines real-time emotional understanding from audio with improved camera and screen understanding, visual history within the conversation, dedicated screen-awareness queries, and screen tools. `raven-1` (default) provides visual and audio perception. `raven-0` is a legacy visual-only model (see [migration](/sections/troubleshooting#migration-from-legacy-perception-to-raven-1)). `off` disables all perception. Select `raven-2` explicitly to enable it.","enum":["raven-2","raven-1","raven-0","off"],"default":"raven-1","example":"raven-1","uniqueKey":"layers.perception.perception_model","typeLabel":"enum\u003cstring>"},"callouts":{"type":"string","description":"`off` (default): no proactive callouts. `on`: the PAL speaks up on its own about what it sees on camera while the user is quiet. Requires `raven-2`. See [Callouts](/sections/conversational-video-interface/pal/perception#callouts-raven-2).","enum":["off","on"],"default":"off","example":"on","uniqueKey":"layers.perception.callouts","typeLabel":"enum\u003cstring>"},"emotion_recognition":{"type":"string","description":"Controls whether Raven may infer emotion from biometric signals (what it sees and hears - facial expression, tone of voice). See [EU AI Act](/sections/onboarding-guide/eu-ai-act).\n\n- `full`: Raven attaches biometric emotion analysis to user audio and video.\n- `limited`: Raven is instructed not to attach any biometric-derived emotion data. `user_audio_analysis` and `user_visual_analysis` tags still fire for non-emotional cues (spoken content, objects, activity).\n- `auto` (default): follows the conversation's [`policy`](/api-reference/conversations/create-conversation) parameter. Behaves like `limited` when `policy` is `eu`, and like `full` otherwise.\n","enum":["full","limited","auto"],"default":"auto","example":"auto","uniqueKey":"layers.perception.emotion_recognition","typeLabel":"enum\u003cstring>"},"perception_analysis_queries":{"type":"array","description":"Questions answered after the conversation ends in the application.perception_analysis callback report. Uses collected visual observations, including shared-screen observations when available. These do not affect live behavior or automatically become awareness queries. Live awareness queries are optional and configured separately.","items":{"type":"string","maxLength":10000,"uniqueKey":"layers.perception.perception_analysis_queries.items.[INDEX]","typeLabel":"string"},"example":["Which error messages appeared on the shared screen?"],"uniqueKey":"layers.perception.perception_analysis_queries","typeLabel":"string[]"},"visual_awareness_queries":{"type":"array","description":"Custom queries that Raven continuously monitors in the camera stream. These provide ambient visual context without requiring explicit prompting. With Raven-2, use screen_awareness_queries for shared-screen content.","items":{"type":"string","uniqueKey":"layers.perception.visual_awareness_queries.items.[INDEX]","typeLabel":"string"},"example":["Is the user showing an ID card?","Does the user appear distressed or uncomfortable?"],"uniqueKey":"layers.perception.visual_awareness_queries","typeLabel":"string[]"},"visual_tool_prompt":{"deprecated":true,"type":"string","description":"**Deprecated for new integrations.** Additional legacy vision-tool instructions. Put trigger conditions and extraction instructions in the registry tool description instead; Raven receives attached tool definitions automatically. Existing prompt overrides remain accepted.","example":"You have a tool to notify the system when an ID card is detected, named `notify_if_id_shown`. You MUST use this tool when a form of ID is detected.","uniqueKey":"layers.perception.visual_tool_prompt","typeLabel":"string"},"visual_tools":{"deprecated":true,"type":"array","description":"**Legacy.** Inline vision tools on the PAL (OpenAI function shape). Deprecated - create tools with `origin: vision` via [Create Tool](/api-reference/tools/create-tool) and attach to the PAL. Still supported at runtime; see [Legacy inline tool calling](/sections/troubleshooting#legacy-inline-tool-calling).","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the tool to be called.","uniqueKey":"layers.perception.visual_tools.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"A description of what the tool does and when it should be called.","uniqueKey":"layers.perception.visual_tools.items.[INDEX].description","typeLabel":"string"}},"uniqueKey":"layers.perception.visual_tools.items.[INDEX]","typeLabel":"object"},"example":[{"type":"function","function":{"name":"notify_if_id_shown","description":"Use this function when a drivers license or passport is detected in the image with high confidence. After collecting the ID, internally use final_ask()","parameters":{"type":"object","properties":{"id_type":{"type":"string","description":"best guess on what type of ID it is"}},"required":["id_type"]}}}],"uniqueKey":"layers.perception.visual_tools","typeLabel":"object[]"},"screen_awareness_queries":{"type":"array","description":"Questions Raven-2 evaluates against the shared screen during the conversation. Answers contribute to live screen context and observations used for post-call analysis. Requires raven-2 and an active participant screen share.","items":{"type":"string","maxLength":10000,"uniqueKey":"layers.perception.screen_awareness_queries.items.[INDEX]","typeLabel":"string"},"example":["What error message is visible on the shared screen?"],"uniqueKey":"layers.perception.screen_awareness_queries","typeLabel":"string[]"},"screen_tool_prompt":{"deprecated":true,"type":"string","maxLength":10000,"description":"**Deprecated for new integrations.** Additional legacy screen-tool instructions for raven-2. Put trigger conditions and extraction instructions in the registry tool description instead; Raven receives attached tool definitions automatically. Existing prompt overrides remain accepted.","example":"Call notify_screen_error when an error dialog appears on the shared screen.","uniqueKey":"layers.perception.screen_tool_prompt","typeLabel":"string"},"audio_awareness_queries":{"type":"array","description":"Custom queries that Raven continuously monitors in the audio stream. These provide ambient audio context such as user tone and emotional state. Available with `raven-1` or `raven-2`.","items":{"type":"string","uniqueKey":"layers.perception.audio_awareness_queries.items.[INDEX]","typeLabel":"string"},"example":["Does the user sound frustrated or confused?","Is the user speaking quickly as if in a hurry?"],"uniqueKey":"layers.perception.audio_awareness_queries","typeLabel":"string[]"},"audio_tool_prompt":{"deprecated":true,"type":"string","description":"**Deprecated for new integrations.** Additional legacy audio-tool instructions for raven-1 or raven-2. Put trigger conditions and extraction instructions in the registry tool description instead; Raven receives attached tool definitions automatically. Existing prompt overrides remain accepted.","example":"You have a tool to escalate to a human agent when the user sounds very frustrated, named `escalate_to_human`. Use this tool when detecting sustained frustration.","uniqueKey":"layers.perception.audio_tool_prompt","typeLabel":"string"},"audio_tools":{"deprecated":true,"type":"array","description":"**Legacy.** Inline audio tools on the PAL (OpenAI function shape). Deprecated - create tools with `origin: audio` via [Create Tool](/api-reference/tools/create-tool) and attach to the PAL. Available with `raven-1` or `raven-2`. See [Legacy inline tool calling](/sections/troubleshooting#legacy-inline-tool-calling).","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the tool to be called.","uniqueKey":"layers.perception.audio_tools.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"A description of what the tool does and when it should be called.","uniqueKey":"layers.perception.audio_tools.items.[INDEX].description","typeLabel":"string"}},"uniqueKey":"layers.perception.audio_tools.items.[INDEX]","typeLabel":"object"},"example":[{"type":"function","function":{"name":"escalate_to_human","description":"Escalate the conversation to a human agent when user frustration is detected","parameters":{"type":"object","properties":{"reason":{"type":"string","description":"The reason for escalation"}},"required":["reason"]}}}],"uniqueKey":"layers.perception.audio_tools","typeLabel":"object[]"}},"uniqueKey":"layers.perception","typeLabel":"object"},"stt":{"type":"object","description":"**Note**: Turn-taking is now configured on the [Conversational Flow layer](/sections/conversational-video-interface/pal/conversational-flow).\n","properties":{"stt_engine":{"type":"string","description":"The STT engine used for transcription. `tavus-auto` (default, recommended) automatically selects the best model for the conversation's language. `tavus-soniox` is purpose-built for Indian languages with broad multilingual coverage. `tavus-whisper` provides broad multilingual coverage across all supported languages. `tavus-deepgram-medical` is domain-specific English STT optimized for clinical and healthcare vocabulary. `tavus-parakeet` and `tavus-advanced` are deprecated and not recommended for new integrations. See the [STT layer documentation](/sections/conversational-video-interface/pal/stt) for details.","enum":["tavus-auto","tavus-parakeet","tavus-soniox","tavus-whisper","tavus-deepgram-medical","tavus-advanced"],"default":"tavus-auto","example":"tavus-auto","uniqueKey":"layers.stt.stt_engine","typeLabel":"enum\u003cstring>"},"hotwords":{"type":"string","description":"The hotwords parameter lets you provide example phrases that guide the STT model to prioritize certain words or phrases-especially names, technical terms, or uncommon language. For instance, including \"Roey is the name of the person you're speaking with\" helps the model transcribe \"Roey\" correctly instead of \"Rowie.\"\n","example":"Roey is the name of the person you're speaking with.","uniqueKey":"layers.stt.hotwords","typeLabel":"string"}},"uniqueKey":"layers.stt","typeLabel":"object"},"conversational_flow":{"type":"object","description":"Controls conversational flow dynamics for the PAL. When omitted or partially configured, unspecified fields use sensible defaults (`sparrow-2`, `medium` patience/interruptibility, etc.). See more details [here](/sections/conversational-video-interface/pal/conversational-flow).","properties":{"turn_detection_model":{"type":"string","description":"The model used for turn detection. `sparrow-2` (default) is the frontier model, with faster responses, fewer PAL interruptions, graceful handling of backchannels and user interruptions, and robust turn-taking in noisy environments. `sparrow-1` is deprecated; use `sparrow-2` instead.","enum":["sparrow-2","sparrow-1"],"example":"sparrow-2","uniqueKey":"layers.conversational_flow.turn_detection_model","typeLabel":"enum\u003cstring>"},"turn_taking_patience":{"type":"string","description":"Controls how eagerly and quickly the PAL claims conversational turns. Affects both response latency and likelihood of interrupting during natural pauses. `low` = eager and quick to respond, may interrupt pauses; `medium` (default) = balanced; `high` = patient, waits for clear turn completion.","enum":["low","medium","high"],"example":"medium","uniqueKey":"layers.conversational_flow.turn_taking_patience","typeLabel":"enum\u003cstring>"},"pal_interruptibility":{"type":"string","description":"Controls how sensitive the PAL is to user speech while the PAL is talking. Determines whether the PAL stops to listen or keeps speaking. `low` = keeps talking, less interruptible; `medium` (default) = balanced; `high` = stops easily, more interruptible.","enum":["low","medium","high"],"example":"medium","uniqueKey":"layers.conversational_flow.pal_interruptibility","typeLabel":"enum\u003cstring>"},"replica_interruptibility":{"deprecated":true,"type":"string","description":"**Legacy alias** for `pal_interruptibility`. Still accepted at runtime; existing integrations do not need to change.","enum":["low","medium","high"],"uniqueKey":"layers.conversational_flow.replica_interruptibility","typeLabel":"enum\u003cstring>"},"voice_isolation":{"type":"string","description":"Controls the voice isolation model used on participant audio. `near` (default) separates speech from background noise for scenarios where the user is less than 1 meter from the microphone; `off` sends raw audio down the conversational pipeline. This setting is not used by `sparrow-2` and affects audio processing only when using the deprecated `sparrow-1` model.","enum":["off","near"],"default":"near","example":"near","uniqueKey":"layers.conversational_flow.voice_isolation","typeLabel":"enum\u003cstring>"},"wake_phrase":{"type":"string","description":"A specific phrase the PAL listens for before responding. When set, the PAL remains silent until it hears the wake phrase, similar to a voice assistant. The PAL still records all user utterances in the transcript so it has full conversation context when it does respond. Choose a phrase that is unique enough to avoid over-triggering (avoid generic greetings like `Hey`). Default is `None` (disabled).","example":"Hey Charlie","uniqueKey":"layers.conversational_flow.wake_phrase","typeLabel":"string"},"sleep_phrase":{"type":"string","description":"A specific phrase that puts the persona back to sleep after it has been woken with the `wake_phrase`. When the persona hears the sleep phrase, it stops responding and returns to the silent state, listening again for the wake phrase before it will respond. The persona still records all user utterances in the transcript while asleep. Choose a phrase that is unique enough to avoid over-triggering. Default is `None` (disabled).","example":"Thanks Charlie","uniqueKey":"layers.conversational_flow.sleep_phrase","typeLabel":"string"},"idle_engagement":{"type":"string","description":"Controls whether the PAL proactively re-engages the user after a stretch of silence, and how eagerly. `off` (default) = the PAL never breaks silence; `patient` = re-engages after longer silences, suited to tutors or contemplative use cases; `eager` = re-engages after shorter silences, suited to SDR or sales-style use cases.","enum":["off","patient","eager"],"default":"off","example":"off","uniqueKey":"layers.conversational_flow.idle_engagement","typeLabel":"enum\u003cstring>"}},"uniqueKey":"layers.conversational_flow","typeLabel":"object"},"llm":{"type":"object","properties":{"model":{"type":"string","description":"The model name that will be used by the LLM. **tavus-gemma-4** is recommended as the default. Other Tavus-hosted options include tavus-gpt-5.6-sol and tavus-gpt-5.6-terra. tavus-gemini-2.5-flash retires on October 20, 2026; switch to tavus-gpt-5.6-terra or tavus-gemma-4 before then. PALs still using it on October 20 automatically route to tavus-gpt-5.6-terra. See the [LLM layer documentation](/sections/conversational-video-interface/pal/llm) for a full comparison.\n\nFor your own OpenAI-compatible LLM, provide a `model`, `base_url`, and `api_key`.\n\n**Context window:** Performance and intelligence are best when prompts are limited to 5,000 tokens. Degradations in speed and instruction following may occur in the 15,000–20,000 token range. Context limits vary by model. Tip: 1 token ≈ 4 characters.\n","uniqueKey":"layers.llm.model","typeLabel":"string"},"base_url":{"type":"string","description":"The base url for your OpenAI compatible endpoint.","example":"your-base-url","uniqueKey":"layers.llm.base_url","typeLabel":"string"},"api_key":{"type":"string","description":"The API key for the OpenAI compatible endpoint.","example":"your-api-key","uniqueKey":"layers.llm.api_key","typeLabel":"string"},"speculative_inference":{"type":"boolean","description":"When set to `true`, the LLM begins processing speech transcriptions before user input ends, improving responsiveness. Default is `true`.","example":true,"default":true,"uniqueKey":"layers.llm.speculative_inference","typeLabel":"boolean"},"tools":{"type":"array","description":"**Legacy.** Inline OpenAI-style function tools on the PAL. Deprecated - create tools via [Create Tool](/api-reference/tools/create-tool) and attach with [Attach Tools to PAL](/api-reference/pal-tools/attach-tools-to-pal). Still supported at runtime; see [Legacy inline tool calling](/sections/troubleshooting#legacy-inline-tool-calling).","example":[{"type":"function","function":{"name":"get_current_weather","description":"Get the current weather in a given location","parameters":{"type":"object","properties":{"location":{"type":"string","description":"The city and state, e.g. San Francisco, CA"},"unit":{"type":"string","enum":["celsius","fahrenheit"]}},"required":["location"]}}}],"uniqueKey":"layers.llm.tools","typeLabel":"array"},"headers":{"type":"object","description":"Optional headers to provide to your custom LLM","example":{"Authorization":"Bearer your-api-key"},"uniqueKey":"layers.llm.headers","typeLabel":"object"},"extra_body":{"type":"object","description":"Optional parameters to customize the LLM request. \n\nFor Tavus-hosted models, you can pass `temperature` and `top_p`:\n- `temperature`: Controls randomness in the model's output. Range typically 0.0 to 2.0. Lower values make output more deterministic and focused, higher values make it more creative and varied.\n- `top_p`: Controls diversity via nucleus sampling. Range 0.0 to 1.0. Lower values make output more focused on high-probability tokens, higher values allow more diverse token selection.\n\nFor custom LLMs, you can pass any parameters that your LLM provider supports (e.g., `temperature`, `top_p`, `frequency_penalty`, etc.).\n","example":{"temperature":0.7,"top_p":0.9},"uniqueKey":"layers.llm.extra_body","typeLabel":"object"}},"uniqueKey":"layers.llm","typeLabel":"object"},"tts":{"type":"object","properties":{"api_key":{"type":"string","description":"The API key for the chosen TTS provider. Only required when using private voices.\n\n**ElevenLabs:** When using pronunciation dictionaries with your own ElevenLabs key, the key must have the `pronunciation_dictionaries_write` scope (or full account access). See [ElevenLabs API key scopes](https://elevenlabs.io/docs/api-reference/service-accounts/api-keys/create).\n\n**Cartesia:** No additional scope required - any valid Cartesia API key works.\n","example":"your-api-key","uniqueKey":"layers.tts.api_key","typeLabel":"string"},"tts_engine":{"type":"string","description":"The TTS engine that will be used. `tavus-auto` automatically selects the best TTS model for each conversation (recommended). See the [TTS layer documentation](/sections/conversational-video-interface/pal/tts) for details.\n","default":"tavus-auto","enum":["tavus-auto","cartesia","elevenlabs","azure"],"uniqueKey":"layers.tts.tts_engine","typeLabel":"enum\u003cstring>"},"voice_id":{"type":"string","description":"A Tavus Voice to speak with, e.g. `v0a1b2c3d4e5f`. Tavus picks the provider that is the best fit for the language(s) of the conversation. Mutually exclusive with `external_voice_id`, and cannot be combined with your own TTS `api_key`. See [Voices](/sections/conversational-video-interface/voices).","example":"v0a1b2c3d4e5f","uniqueKey":"layers.tts.voice_id","typeLabel":"string"},"external_voice_id":{"type":"string","description":"The voice ID used for the TTS engine when you want to customize your face's voice. Choose from Cartesia's stock voices by referring to their [Voice Catalog](https://docs.cartesia.ai/api-reference/voices/list), or if you want more options you can consider [ElevenLabs](https://elevenlabs.io/docs/api-reference/voices/get-all).","example":"external-voice-id","uniqueKey":"layers.tts.external_voice_id","typeLabel":"string"},"voice_settings":{"type":"object","description":"Optional voice settings to customize TTS behavior. For Cartesia we support inline Cartesia SSML settings (https://docs.cartesia.ai/build-with-cartesia/sonic-3/ssml-tags). For ElevenLabs we support: `speed` (0.7–1.2), `stability` (0.0–1.0), `similarity_boost` (0.0–1.0), `style` (0.0–1.0), `use_speaker_boost` (boolean). See [ElevenLabs Voice Settings](https://elevenlabs.io/docs/api-reference/voices/settings/get).\n","example":{"speed":0.5,"emotion":["positivity:high","curiosity"]},"uniqueKey":"layers.tts.voice_settings","typeLabel":"object"},"tts_model_name":{"type":"string","description":"The model name that will be used by the TTS engine. Please double check this with the TTS provider you are using to ensure valid model names.","example":"sonic-3","uniqueKey":"layers.tts.tts_model_name","typeLabel":"string"},"pronunciation_dictionary_id":{"type":"string","description":"The unique identifier of a Tavus pronunciation dictionary to attach to this PAL. Tavus will apply the dictionary's rules at conversation time.\n\nProvider-specific dictionary IDs are managed internally by Tavus and are not exposed in GET responses - only this field is visible.\n","example":"pd_abc123def456","uniqueKey":"layers.tts.pronunciation_dictionary_id","typeLabel":"string"}},"uniqueKey":"layers.tts","typeLabel":"object"},"conferencing":{"type":"object","description":"[Conferencing layer](/sections/conversational-video-interface/pal/meetings) settings. Provisions a `@tavusinvite.com` email identity so the PAL can be invited to calendar events with Google Meet, Zoom, or Microsoft Teams links and join automatically. Requires `default_face_id` on the PAL.\n","properties":{"username":{"type":"string","minLength":2,"description":"Local part of the PAL's meeting email (`\u003cusername>@tavusinvite.com`). Stored lowercase. Must start and end with an alphanumeric character; `.`, `_`, and `-` are allowed in between. Usernames matching `botN` (for example `bot1`, `bot42`) are reserved. Globally unique across `tavusinvite.com`.\n","example":"acme-anna","isRequired":true,"uniqueKey":"layers.conferencing.username","typeLabel":"string"},"allowlist":{"type":"array","description":"Controls who may invite this PAL via calendar. Each entry is an exact email address or a regex matched against the organizer's email. Empty or omitted allows any sender.\n","items":{"type":"string","uniqueKey":"layers.conferencing.allowlist.items.[INDEX]","typeLabel":"string"},"example":["alex@acme.com",".*@acme\\.com"],"uniqueKey":"layers.conferencing.allowlist","typeLabel":"string[]"}},"required":["username"],"uniqueKey":"layers.conferencing","typeLabel":"object"},"mcp":{"type":"object","description":"Connects registered MCP servers to the PAL. See [MCP Connectors](/sections/conversational-video-interface/pal/mcp-connectors).","properties":{"connectors":{"type":"array","description":"Connector IDs (from [Create Connector](/api-reference/connectors/create-connector)) the PAL can delegate background tasks to during a conversation - the PAL discovers each server's tools itself, so there is nothing to import. Attaching a connector reserves the `delegate_background_task` tool name, so a tool of your own with that name is rejected. Up to 10 connectors.","items":{"type":"string","uniqueKey":"layers.mcp.connectors.items.[INDEX]","typeLabel":"string"},"example":["c8-58ea0f6420b2"],"uniqueKey":"layers.mcp.connectors","typeLabel":"string[]"},"connector_tools":{"type":"object","description":"Scopes an attached connector down to specific tools, keyed by connector ID. A connector with no entry here allows every tool it exposes; an empty array is rejected. Up to 200 unique names per connector, each 1-64 characters of letters, digits, `_`, `.`, `:` or `-`.","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"layers.mcp.connector_tools.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"layers.mcp.connector_tools.additionalProperties","typeLabel":"string[]"},"example":{"c8-58ea0f6420b2":["search_messages","list_channels"]},"uniqueKey":"layers.mcp.connector_tools","typeLabel":"object"},"prompt":{"type":"string","description":"Standing instructions for the background agent, added to every task it runs across all attached connectors: which tools to use for what, in what order, house conventions. The PAL's own `system_prompt` never reaches that agent, so tool guidance belongs here, not there. Up to 10,000 characters. See [Prompting a PAL with connectors](/sections/conversational-video-interface/pal/mcp-connectors#prompting-a-pal-with-connectors).","example":"Use search_jobs to find jobs and get_job for details; always filter jobs by the technician's name.","uniqueKey":"layers.mcp.prompt","typeLabel":"string"},"spoken_updates":{"type":"string","enum":["none","outcome","all"],"description":"Which moments of a background task the PAL speaks. `outcome` (the default) speaks the outcome once the task finishes. `all` also voices the updates the background agent chooses to give while it works - a short title and a sentence, a few per task - one at a time and only when there is room, so a fast task voices less than it reports over `conversation.agent_update`. `none` volunteers nothing; the outcome still reaches the PAL's context for when the user asks. Booleans are rejected.","default":"outcome","example":"all","uniqueKey":"layers.mcp.spoken_updates","typeLabel":"enum\u003cstring>"},"visual_updates":{"type":"string","enum":["none","outcome","all"],"description":"Which moments of a background task the PAL shows as a Magic Canvas text card, when it has that skill on a video call. `none` (the default) shows nothing. `outcome` shows the outcome as a card once the task finishes. `all` also shows each update the background agent gives as it comes, replacing the card. Independent of `spoken_updates`; inert without Magic Canvas.","default":"none","example":"all","uniqueKey":"layers.mcp.visual_updates","typeLabel":"enum\u003cstring>"}},"uniqueKey":"layers.mcp","typeLabel":"object"}},"uniqueKey":"layers","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Required Parameters Only":{"title":"Required Parameters Only","value":{"pipeline_mode":"full","system_prompt":"As a Life Coach, you are a dedicated professional who specializes in...","default_face_id":"rc9cff32ceba"}},"Full Customizations":{"title":"Full Customizations","value":{"pal_name":"Life Coach","system_prompt":"As a Life Coach, you are a dedicated professional who specializes in...","pipeline_mode":"full","default_face_id":"rc9cff32ceba","layers":{"llm":{"model":"tavus-gemma-4","speculative_inference":true,"tools":[{"type":"function","function":{"name":"life_coach_insight","description":"Offer personalized life coaching advice or guidance based on a user's challenge or goal.","parameters":{"type":"object","properties":{"topic":{"type":"string","description":"The area of life or goal the user wants to improve (e.g. career, relationships, confidence)"},"urgency_level":{"type":"string","enum":["low","medium","high"]}},"required":["topic"]}}}]},"tts":{"voice_id":"v0a1b2c3d4e5f"},"perception":{"perception_model":"raven-1","visual_awareness_queries":["Is the user showing an ID card?","Does the user appear distressed or uncomfortable?"],"audio_awareness_queries":["Does the user sound frustrated or confused?"]},"stt":{"stt_engine":"tavus-auto"},"conversational_flow":{"turn_detection_model":"sparrow-2","turn_taking_patience":"medium","pal_interruptibility":"high","idle_engagement":"off"},"document_ids":["d1234567890","d2468101214"],"document_tags":["product_info","company_policies"],"mcp":{"connectors":["c8-58ea0f6420b2"],"connector_tools":{"c8-58ea0f6420b2":["search_messages","list_channels"]},"spoken_updates":"outcome","visual_updates":"all"}}}},"Conferencing":{"title":"Conferencing","value":{"pal_name":"Anna","system_prompt":"You are Anna, a helpful meeting assistant who takes notes and answers questions.","pipeline_mode":"full","default_face_id":"rc9cff32ceba","layers":{"conferencing":{"username":"acme-anna","allowlist":[".*@acme\\.com"]}}}},"EU AI Act compliance":{"title":"EU AI Act compliance","value":{"pal_name":"Acme EU Agent","system_prompt":"You are a helpful support agent for Acme.","pipeline_mode":"full","default_face_id":"rc9cff32ceba","disclosure_type":"auto","verbal_disclosure":"Just so you know, you're speaking with an AI agent from Acme.","visual_disclosure":"You are speaking with an AI agent.","layers":{"perception":{"perception_model":"raven-1","emotion_recognition":"auto"}}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"3f6a9907-3060-4b9d-9535-79bc39811dc9":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"pal_id":{"type":"string","description":"A unique identifier for the PAL.","example":"pcb7a34da5fe","uniqueKey":"pal_id","typeLabel":"string"},"pal_name":{"type":"string","description":"The name of the PAL.","example":"Life Coach","uniqueKey":"pal_name","typeLabel":"string"},"conferencing_email":{"oneOf":[{"type":"string","description":"The PAL's invitable meeting email on `tavusinvite.com`, derived from `layers.conferencing.username`. Present when conferencing is configured. See [Google Meet / Zoom / Teams](/sections/conversational-video-interface/pal/meetings).","example":"acme-anna@tavusinvite.com","uniqueKey":"conferencing_email.oneOf.0","typeLabel":"string"},{"type":"null","description":"The PAL's invitable meeting email on `tavusinvite.com`, derived from `layers.conferencing.username`. Present when conferencing is configured. See [Google Meet / Zoom / Teams](/sections/conversational-video-interface/pal/meetings).","example":"acme-anna@tavusinvite.com","uniqueKey":"conferencing_email.oneOf.1","typeLabel":"null"}],"uniqueKey":"conferencing_email","typeLabel":"string | null"},"created_at":{"type":"string","description":"The date and time the PAL was created.","uniqueKey":"created_at","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"pal_id":"pcb7a34da5fe","pal_name":"Life Coach","conferencing_email":"acme-anna@tavusinvite.com","created_at":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"e74aa636-d8fd-4436-9f39-34c673a57c18":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"The error message.","example":"Invalid replica_uuid","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Invalid replica_uuid"}}},"exampleType":"generated"}},"exampleType":"generated"},"09e4ecad-4873-42d9-9c4b-1a060fb38473":{"description":"UNAUTHORIZED","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"The error message.","example":"Invalid access token","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Invalid access token"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"a10db6f6-d793-4ddd-98b1-a8db7a44342d":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"apiKey"}}},"servers":{"36cae911-a272-4162-ae8b-6363635e3850":{"url":"https://tavusapi.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"apiKey"},"schema":{"title":"x-api-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"x-api-key"}],"title":"apiKey"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"tavus","siteName":"Tavus","title":"Create PAL - Tavus","contextualStarterQuestions":[],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-25T04:00:40.951Z","originalFileLocation":"api-reference/pals/create-pal.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=\"Creates a PAL and configures how it behaves in CVI for every conversation that uses that PAL.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Tavus\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tavus/Gv5r0opZCeHlefXw/_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/tavus/Gv5r0opZCeHlefXw/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tavus/Gv5r0opZCeHlefXw/_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/tavus/Gv5r0opZCeHlefXw/_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/tavus/Gv5r0opZCeHlefXw/_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/tavus/Gv5r0opZCeHlefXw/_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/tavus/Gv5r0opZCeHlefXw/_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/tavus/Gv5r0opZCeHlefXw/_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/tavus/Gv5r0opZCeHlefXw/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create PAL - Tavus\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a PAL and configures how it behaves in CVI for every conversation that uses that PAL.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tavus\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tavus.io/api-reference/pals/create-pal\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tavus.mintlify.app/_mintlify/api/og/v2?division=PAL\u0026amp;title=Create+PAL\u0026amp;description=Creates+a+PAL+and+configures+how+it+behaves+in+CVI+for+every+conversation+that+uses+that+PAL.%0A\u0026amp;theme=91cafe4cc1af35a0828d7f58\u0026amp;signature=e4130ceec71f75f910fcbb4de1fdf3d85ea059850a8e8eb46b8302605536c1a6\">\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=\"Create PAL - Tavus\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a PAL and configures how it behaves in CVI for every conversation that uses that PAL.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tavus.mintlify.app/_mintlify/api/og/v2?division=PAL\u0026amp;title=Create+PAL\u0026amp;description=Creates+a+PAL+and+configures+how+it+behaves+in+CVI+for+every+conversation+that+uses+that+PAL.%0A\u0026amp;theme=91cafe4cc1af35a0828d7f58\u0026amp;signature=e4130ceec71f75f910fcbb4de1fdf3d85ea059850a8e8eb46b8302605536c1a6\">\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/tavus/Gv5r0opZCeHlefXw/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tavus\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FA3862\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tavus.io/api-reference/pals/create-pal\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/pals/create-pal.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tavus.io/#organization\",\"name\":\"Tavus\",\"url\":\"https://docs.tavus.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tavus/mlBBb4gkXXhWTLQi/logo/light_logo.png?fit=max\u0026auto=format\u0026n=mlBBb4gkXXhWTLQi\u0026q=85\u0026s=892e020f9d0afc49e64011dcae9d3dd6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tavus.io#website\",\"name\":\"Tavus\",\"url\":\"https://docs.tavus.io\",\"publisher\":{\"@id\":\"https://docs.tavus.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tavus.io/api-reference/pals/create-pal#webpage\",\"url\":\"https://docs.tavus.io/api-reference/pals/create-pal\",\"name\":\"Create PAL\",\"description\":\"Creates a PAL and configures how it behaves in CVI for every conversation that uses that PAL.\",\"dateModified\":\"2026-08-25T04:00:40.951Z\",\"isPartOf\":{\"@id\":\"https://docs.tavus.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tavus.io/api-reference/pals/create-pal#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tavus.io/api-reference/pals/create-pal#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Tavus\",\"item\":\"https://docs.tavus.io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create PAL\",\"item\":\"https://docs.tavus.io/api-reference/pals/create-pal\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.tavus.io/api-reference/pals/create-pal#apireference\",\"headline\":\"Create PAL\",\"name\":\"Create PAL\",\"description\":\"Creates a PAL and configures how it behaves in CVI for every conversation that uses that PAL.\",\"url\":\"https://docs.tavus.io/api-reference/pals/create-pal\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tavus.io/api-reference/pals/create-pal#webpage\"},\"dateModified\":\"2026-08-25T04:00:40.951Z\",\"keywords\":\"PAL, persona, persona_id, pal_id\",\"publisher\":{\"@id\":\"https://docs.tavus.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tavus.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tavus\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Tavus","nav":{"global":null,"tabs":[{"tab":"CVI","pages":[{"title":"CVI","href":"/sections/introduction"}]},{"tab":"API","groups":[{"group":"Introduction","pages":[{"title":"Overview","href":"/api-reference/overview"},{"title":"Authentication","href":"/api-reference/authentication"}]},{"group":"Conversation","pages":[{"openapi":"post /v2/conversations","title":null,"href":"/api-reference/conversations/create-conversation"},{"openapi":"get /v2/conversations/{conversation_id}","title":"Get Conversation","href":"/api-reference/conversations/get-conversation"},{"openapi":"get /v2/conversations","title":"List Conversations","href":"/api-reference/conversations/get-conversations"},{"openapi":"post /v2/conversations/{conversation_id}/end","title":"End Conversation","href":"/api-reference/conversations/end-conversation"},{"openapi":"delete /v2/conversations/{conversation_id}","title":"Delete Conversation","description":"This endpoint deletes a single conversation by its unique identifier. Use this for destructive data removal. For normal call cleanup when a user leaves or a session is finished, use [End Conversation](/api-reference/conversations/end-conversation) instead.\n","href":"/api-reference/conversations/delete-conversation"}]},{"group":"PAL","pages":[{"openapi":"post /v2/pals","title":"Create PAL","href":"/api-reference/pals/create-pal"},{"openapi":"get /v2/pals/{pal_id}","title":"Get PAL","description":"Returns a single PAL by its unique identifier.\n","href":"/api-reference/pals/get-pal"},{"openapi":"get /v2/pals","title":"List PALs","href":"/api-reference/pals/list-pals"},{"openapi":"patch /v2/pals/{pal_id}","title":"Patch PAL","href":"/api-reference/pals/patch-pal"},{"title":"Publish PAL","sidebarTitle":"Publish PAL (removed)","href":"/api-reference/pals/publish-pal"},{"openapi":"delete /v2/pals/{pal_id}","title":"Delete PAL","href":"/api-reference/pals/delete-pal"},{"openapi":"get /v2/pals/check-username","title":"Check Conferencing Username Availability","href":"/api-reference/pals/check-conferencing-username"}]},{"group":"Face","pages":[{"openapi":"post /v2/faces","title":"Create Face","href":"/api-reference/faces/create-face"},{"openapi":"post /v2/faces/image-validation","title":"Validate Face Image","href":"/api-reference/faces/validate-face-image"},{"openapi":"get /v2/faces/{face_id}","title":"Get Face","href":"/api-reference/faces/get-face"},{"openapi":"get /v2/faces","title":"List Faces","href":"/api-reference/faces/list-faces"},{"openapi":"patch /v2/faces/{face_id}","title":"Update Face","href":"/api-reference/faces/update-face"},{"openapi":"delete /v2/faces/{face_id}","title":"Delete Face","href":"/api-reference/faces/delete-face"}]},{"group":"Voices","pages":[{"openapi":"post /v2/voices","title":"Create Voice","href":"/api-reference/voices/create-voice"},{"openapi":"get /v2/voices/{voice_id}","title":"Get Voice","href":"/api-reference/voices/get-voice"},{"openapi":"get /v2/voices","title":"List Voices","href":"/api-reference/voices/list-voices"},{"openapi":"patch /v2/voices/{voice_id}","title":"Update Voice","href":"/api-reference/voices/update-voice"},{"openapi":"delete /v2/voices/{voice_id}","title":"Delete Voice","href":"/api-reference/voices/delete-voice"}]},{"group":"Tools","pages":[{"openapi":"post /v2/tools","title":"Create Tool","href":"/api-reference/tools/create-tool"},{"openapi":"get /v2/tools","title":"Get Tools","href":"/api-reference/tools/get-tools"},{"openapi":"get /v2/tools/{tool_id}","title":"Get Tool","href":"/api-reference/tools/get-tool"},{"openapi":"patch /v2/tools/{tool_id}","title":"Update Tool","href":"/api-reference/tools/update-tool"},{"openapi":"delete /v2/tools/{tool_id}","title":"Delete Tool","href":"/api-reference/tools/delete-tool"},{"openapi":"post /v2/pals/{pal_id}/tools","title":"Attach Tools To PAL","href":"/api-reference/pal-tools/attach-tools-to-pal"},{"openapi":"get /v2/pals/{pal_id}/tools","title":"List PAL Tools","href":"/api-reference/pal-tools/list-pal-tools"},{"openapi":"delete /v2/pals/{pal_id}/tools/{tool_id}","title":"Detach Tool From PAL","href":"/api-reference/pal-tools/detach-tool-from-pal"}]},{"group":"Connectors","pages":[{"openapi":"post /v2/connectors","title":"Create Connector","href":"/api-reference/connectors/create-connector"},{"openapi":"get /v2/connectors","title":"List Connectors","href":"/api-reference/connectors/list-connectors"},{"openapi":"get /v2/connectors/{connector_id}","title":"Get Connector","href":"/api-reference/connectors/get-connector"},{"openapi":"patch /v2/connectors/{connector_id}","title":"Update Connector","href":"/api-reference/connectors/update-connector"},{"openapi":"delete /v2/connectors/{connector_id}","title":"Delete Connector","href":"/api-reference/connectors/delete-connector"},{"openapi":"get /v2/connectors/{connector_id}/preview","title":"Preview Connector Tools","href":"/api-reference/connectors/preview-connector-tools"},{"openapi":"post /v2/connectors/{connector_id}/runtime_check","title":"Runtime Check Connector","href":"/api-reference/connectors/runtime-check-connector"},{"openapi":"post /v2/connectors/{connector_id}/oauth/reconnect","title":"Reconnect OAuth","href":"/api-reference/connectors/reconnect-connector-oauth"}]},{"group":"Skills","pages":[{"openapi":"get /v2/skills","title":"List Skills","href":"/api-reference/skills/list-skills"},{"openapi":"get /v2/skills/{skill_id}","title":"Get Skill","href":"/api-reference/skills/get-skill"},{"openapi":"get /v2/pals/{pal_id}/skills","title":"List PAL Skills","href":"/api-reference/pal-skills/list-pal-skills"},{"openapi":"get /v2/pals/{pal_id}/skills/{skill_id}","title":"Get PAL Skill","href":"/api-reference/pal-skills/get-pal-skill"},{"openapi":"put /v2/pals/{pal_id}/skills/{skill_id}","title":"Attach Skill to PAL","href":"/api-reference/pal-skills/attach-skill-to-pal"},{"openapi":"patch /v2/pals/{pal_id}/skills/{skill_id}","title":"Update PAL Skill","href":"/api-reference/pal-skills/update-pal-skill"},{"openapi":"delete /v2/pals/{pal_id}/skills/{skill_id}","title":"Detach Skill from PAL","href":"/api-reference/pal-skills/detach-skill-from-pal"},{"openapi":"put /v2/pals/{pal_id}/skills","title":"Replace PAL Skills","href":"/api-reference/pal-skills/replace-pal-skills"}]},{"group":"Memory Stores","pages":[{"group":"Store management","pages":[{"openapi":"post /v2/memory-stores","title":"Create Memory Store","href":"/api-reference/memory-stores/create-memory-store"},{"openapi":"get /v2/memory-stores","title":"List Memory Stores","href":"/api-reference/memory-stores/list-memory-stores"},{"openapi":"get /v2/memory-stores/{memory_store_id}","title":"Get Memory Store","href":"/api-reference/memory-stores/get-memory-store"},{"openapi":"delete /v2/memory-stores/{memory_store_id}","title":"Delete Memory Store","href":"/api-reference/memory-stores/delete-memory-store"}]},{"group":"Pinned memories","pages":[{"openapi":"post /v2/memory-stores/{memory_store_id}/pinned","title":"Create Pinned Memory","href":"/api-reference/memory-stores/create-pinned-memory"},{"openapi":"get /v2/memory-stores/{memory_store_id}/pinned","title":"List Pinned Memories","href":"/api-reference/memory-stores/list-pinned-memories"},{"openapi":"patch /v2/memory-stores/{memory_store_id}/pinned/{memory_id}","title":"Update Pinned Memory","href":"/api-reference/memory-stores/update-pinned-memory"},{"openapi":"delete /v2/memory-stores/{memory_store_id}/pinned/{memory_id}","title":"Delete Pinned Memory","href":"/api-reference/memory-stores/delete-pinned-memory"}]},{"group":"Learned memory","pages":[{"openapi":"get /v2/memory-stores/{memory_store_id}/learned","title":"Get Learned Memory","href":"/api-reference/memory-stores/get-learned-memory"},{"openapi":"delete /v2/memory-stores/{memory_store_id}/learned/profile","title":"Delete Learned Profile Memory","href":"/api-reference/memory-stores/delete-learned-profile-memory"},{"openapi":"delete /v2/memory-stores/{memory_store_id}/learned/timeline","title":"Delete Learned Timeline Memory","href":"/api-reference/memory-stores/delete-learned-timeline-memory"}]}]},{"group":"Magic Canvas","pages":[{"openapi":"post /v2/conversations/{conversation_id}/canvas/interactions","title":"Record Canvas Interaction","href":"/api-reference/canvas-interactions/record-canvas-interaction"},{"openapi":"get /v2/conversations/{conversation_id}/canvas/interactions","title":"List Canvas Interactions","href":"/api-reference/canvas-interactions/list-canvas-interactions"}]},{"group":"Objectives","pages":[{"openapi":"post /v2/objectives","title":"Create Objectives","href":"/api-reference/objectives/create-objectives"},{"openapi":"get /v2/objectives/{objectives_id}","title":"Get Objective","href":"/api-reference/objectives/get-objectives"},{"openapi":"get /v2/objectives","title":"Get Objectives","href":"/api-reference/objectives/get-objectives-list"},{"openapi":"patch /v2/objectives/{objectives_id}","title":"Patch Objective","href":"/api-reference/objectives/patch-objectives"},{"openapi":"delete /v2/objectives/{objectives_id}","title":"Delete Objective","href":"/api-reference/objectives/delete-objectives"}]},{"group":"Guardrails","pages":[{"openapi":"post /v2/guardrails","title":"Create Guardrails","href":"/api-reference/guardrails/create-guardrails"},{"openapi":"get /v2/guardrails/{guardrail_id}","title":"Get Guardrails","href":"/api-reference/guardrails/get-guardrails"},{"openapi":"get /v2/guardrails","title":"List Guardrails","href":"/api-reference/guardrails/list-guardrails"},{"openapi":"patch /v2/guardrails/{guardrail_id}","title":"Patch Guardrails","href":"/api-reference/guardrails/patch-guardrails"},{"openapi":"delete /v2/guardrails/{guardrail_id}","title":"Delete Guardrails","href":"/api-reference/guardrails/delete-guardrails"}]},{"group":"Knowledge Base","pages":[{"title":"Create Document","openapi":"post /v2/documents","href":"/api-reference/documents/create-document"},{"title":"Get Document","openapi":"get /v2/documents/{document_id}","href":"/api-reference/documents/get-document"},{"title":"List Documents","openapi":"get /v2/documents","href":"/api-reference/documents/get-documents"},{"title":"Delete Document","openapi":"delete /v2/documents/{document_id}","href":"/api-reference/documents/delete-document"},{"title":"Update Document","openapi":"patch /v2/documents/{document_id}","href":"/api-reference/documents/patch-document"},{"title":"Recrawl Document","openapi":"post /v2/documents/{document_id}/recrawl","href":"/api-reference/documents/recrawl-document"}]},{"group":"Pronunciation Dictionaries","pages":[{"openapi":"post /v2/pronunciation-dictionaries","title":"Create Pronunciation Dictionary","href":"/api-reference/pronunciation-dictionaries/create-pronunciation-dictionary"},{"openapi":"get /v2/pronunciation-dictionaries/{dictionary_id}","title":"Get Pronunciation Dictionary","href":"/api-reference/pronunciation-dictionaries/get-pronunciation-dictionary"},{"openapi":"get /v2/pronunciation-dictionaries","title":"List Pronunciation Dictionaries","href":"/api-reference/pronunciation-dictionaries/list-pronunciation-dictionaries"},{"openapi":"patch /v2/pronunciation-dictionaries/{dictionary_id}","title":"Update Pronunciation Dictionary","href":"/api-reference/pronunciation-dictionaries/update-pronunciation-dictionary"},{"openapi":"delete /v2/pronunciation-dictionaries/{dictionary_id}","title":"Delete Pronunciation Dictionary","href":"/api-reference/pronunciation-dictionaries/delete-pronunciation-dictionary"}]},{"group":"Deployments","pages":[{"openapi":"post /v2/deployments","title":"Create Deployment","href":"/api-reference/deployments/create-deployment"},{"openapi":"get /v2/deployments","title":"List Deployments","href":"/api-reference/deployments/list-deployments"},{"openapi":"get /v2/deployments/{deployment_id}","title":"Get Deployment","href":"/api-reference/deployments/get-deployment"},{"openapi":"patch /v2/deployments/{deployment_id}","title":"Patch Deployment","href":"/api-reference/deployments/patch-deployment"},{"openapi":"delete /v2/deployments/{deployment_id}","title":"Delete Deployment","href":"/api-reference/deployments/delete-deployment"},{"openapi":"get /v2/deployments/{deployment_id}/init","title":"Get Deployment Init Config","href":"/api-reference/deployments/get-deployment-init"},{"openapi":"post /v2/deployments/{deployment_id}/start","title":"Start Deployment Conversation","href":"/api-reference/deployments/start-deployment-conversation"},{"openapi":"post /v2/deployments/{deployment_id}/conversations/{conversation_id}/end","title":"End Deployment Conversation","href":"/api-reference/deployments/end-deployment-conversation"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/sections/changelog/changelog"}]},{"tab":"Other Products","pages":[{"title":"Other Products","href":"/sections/video/overview"}]},{"tab":"Enablement Docs","hidden":true,"pages":[{"title":"Enablement Docs","href":"/sections/enablement-docs"}]}]},"title":"Create PAL - Tavus","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","Page-R3M_BF4L.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","clsx-BGBGWFTt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cv_O2fky.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-2C5OB2eV.js"]}