{
"error": "Bad Request. One or more tool_ids not found"
}
{
"message": "Invalid access token"
}
Tools
Attach Tools To PAL
Attach one or more tools (by tool_id) to a PAL. A PAL can have at most 50 attached tools.
Screen tools (origin: screen) require a PAL configured with layers.perception.perception_model: raven-2. Configure perception before attaching screen tools; attaching them to Raven-1 returns a 400.
Attaching a tool that is already attached is idempotent - it is reported in the response alongside any newly-attached tools.
All tools that are now attached to the PAL, including ones that were already attached before this request.
Show child attributes
{"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":"6adfcebc079defb6ba2651e0","collectionId":"e2b7256f-eec1-438b-bc2f-c9221b7d9482","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adfcebc079defb6ba2651e0"},"feedback":{"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adfd0291566672272eb6925","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"CVI","count":136},{"language":"default","tag":"API","count":93},{"language":"default","tag":"Build","count":91},{"language":"default","tag":"Skills","count":27},{"language":"default","tag":"Deploy","count":23},{"language":"default","tag":"Face","count":20},{"language":"default","tag":"Interaction Events","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/pal-tools/attach-tools-to-pal","slug":"/api-reference/pal-tools/attach-tools-to-pal","pageMetadata":{"openapi":"post /v2/pals/{pal_id}/tools","keywords":["PAL","persona","persona tools","pal_id","persona_id"],"title":"Attach Tools To PAL","description":"Attach one or more tools (by `tool_id`) to a PAL. A PAL can have at most 50 attached tools.\n\nScreen tools (`origin: screen`) require a PAL configured with `layers.perception.perception_model: raven-2`. Configure perception before attaching screen tools; attaching them to Raven-1 returns a 400.\n\nAttaching a tool that is already attached is idempotent - it is reported in the response alongside any newly-attached tools.\n","href":"/api-reference/pal-tools/attach-tools-to-pal"},"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 code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Attach one or more tools (by \", _jsx(_components.code, {\n children: \"tool_id\"\n }), \") to a PAL. A PAL can have at most 50 attached tools.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Screen tools (\", _jsx(_components.code, {\n children: \"origin: screen\"\n }), \") require a PAL configured with \", _jsx(_components.code, {\n children: \"layers.perception.perception_model: raven-2\"\n }), \". Configure perception before attaching screen tools; attaching them to Raven-1 returns a 400.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Attaching a tool that is already attached is idempotent - it is reported in the response alongside any newly-attached tools.\"\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};\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":{"openapi":"post /v2/pals/{pal_id}/tools","keywords":["PAL","persona","persona tools","pal_id","persona_id"],"title":"Attach Tools To PAL","description":"Attach one or more tools (by `tool_id`) to a PAL. A PAL can have at most 50 attached tools.\n\nScreen tools (`origin: screen`) require a PAL configured with `layers.perception.perception_model: raven-2`. Configure perception before attaching screen tools; attaching them to Raven-1 returns a 400.\n\nAttaching a tool that is already attached is idempotent - it is reported in the response alongside any newly-attached tools.\n","href":"/api-reference/pal-tools/attach-tools-to-pal"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["PAL Tools"],"summary":"Attach Tools To PAL","description":"Attach one or more tools (by `tool_id`) to a PAL. A PAL can have at most 50 attached tools.\n\nScreen tools (`origin: screen`) require a PAL configured with `layers.perception.perception_model: raven-2`. Configure perception before attaching screen tools; attaching them to Raven-1 returns a 400.\n\nAttaching a tool that is already attached is idempotent - it is reported in the response alongside any newly-attached tools.\n","operationId":"attachToolsToPersona","requestBody":"2db1b1d1-370b-4dc1-8b99-994cb5eb93c8","responses":{"200":"956f3818-ff7f-4d43-919c-3dfc5ce0e138","400":"9e24ab5d-f4a5-4aa4-a75b-5d269e2ec385","401":"6206be4d-cb92-4f96-adcc-ce3bebd6f3de"},"security":["905a9ca7-2253-4a68-ad12-50cf289487d3"],"method":"post","type":"path","servers":["c386d2b5-906d-4114-93ca-1c9d54510a00"],"path":"/v2/pals/{pal_id}/tools","baseUrlOptions":["https://tavusapi.com"],"title":"Attach Tools To PAL","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"857a9c5d-53eb-4eda-91bd-54a35f158048":{"name":"pal_id","in":"path","required":true,"description":"The unique identifier of the PAL.","schema":{"type":"string","example":"p12345","isRequired":true,"description":"The unique identifier of the PAL.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["tool_ids"],"properties":{"tool_ids":{"type":"array","items":{"type":"string","uniqueKey":"tool_ids.items.[INDEX]","typeLabel":"string"},"description":"List of `tool_id` values to attach. Must not be empty; at most 50 per request.","example":["tabc123def456","tdef456abc789"],"isRequired":true,"uniqueKey":"tool_ids","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"tool_ids":["tabc123def456","tdef456abc789"]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"956f3818-ff7f-4d43-919c-3dfc5ce0e138":{"description":"Tools attached","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"All tools that are now attached to the PAL, including ones that were already attached before this request.","items":{"type":"object","description":"A standalone tool definition. Returned by every tool endpoint and embedded in the `data` array of the PAL-tool endpoints.","properties":{"tool_id":{"type":"string","description":"Unique identifier for the tool. System tools use their `name` as the `tool_id` (e.g. `end_call`).","example":"tabc123def456","uniqueKey":"data.items.[INDEX].tool_id","typeLabel":"string"},"owner_id":{"oneOf":[{"type":"integer","description":"Internal user ID that owns the tool. `null` for built-in system tools.","example":3675,"uniqueKey":"data.items.[INDEX].owner_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Internal user ID that owns the tool. `null` for built-in system tools.","example":3675,"uniqueKey":"data.items.[INDEX].owner_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].owner_id","typeLabel":"integer | null"},"name":{"type":"string","description":"Function name the LLM uses to call the tool.","example":"get_weather","uniqueKey":"data.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Natural-language description of the tool.","example":"Get the current weather for a city","uniqueKey":"data.items.[INDEX].description","typeLabel":"string"},"parameters":{"type":"object","description":"JSON Schema describing the tool's arguments.","example":{"type":"object","properties":{"city":{"type":"string","description":"City name"}},"required":["city"]},"uniqueKey":"data.items.[INDEX].parameters","typeLabel":"object"},"delivery":{"type":"object","description":"How the tool call is dispatched. Exactly one channel must be enabled:\n\n- `app_message: true` alone - the call is delivered to your frontend over the Daily data channel as a `conversation.tool_call` event.\n- `api` set with `app_message: false` - Tavus makes an HTTPS request to `api.url`.\n\nIf `delivery` is omitted on create, the default is `{ \"app_message\": true }`.\n","properties":{"app_message":{"type":"boolean","default":true,"description":"Set to `true` to deliver tool calls to your frontend as `conversation.tool_call` events. Mutually exclusive with `api`.","uniqueKey":"data.items.[INDEX].delivery.app_message","typeLabel":"boolean"},"api":{"type":"object","required":["url"],"description":"HTTPS request configuration for tool calls delivered via API.","properties":{"url":{"type":"string","description":"HTTPS URL Tavus calls. Must use `https://`. Hostname must not point at private / loopback / link-local / metadata-server IP space and must not contain `{placeholder}` substitutions - placeholders are only resolved in the path, query string, and body.\n","example":"https://api.example.com/v1/weather/{city}","isRequired":true,"uniqueKey":"data.items.[INDEX].delivery.api.url","typeLabel":"string"},"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE","HEAD"],"default":"POST","description":"HTTP method. `GET`, `HEAD`, and `DELETE` reject `body_template`.","uniqueKey":"data.items.[INDEX].delivery.api.method","typeLabel":"enum\u003cstring>"},"timeout":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":60,"default":10,"description":"Request timeout in seconds. Must be greater than 0 and at most 60. Default 10.","uniqueKey":"data.items.[INDEX].delivery.api.timeout","typeLabel":"number"},"headers":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"data.items.[INDEX].delivery.api.headers.additionalProperties","typeLabel":"string"},"description":"Static HTTP headers sent with every request. Keys and values must be strings.","example":{"X-Service":"weather-bot"},"uniqueKey":"data.items.[INDEX].delivery.api.headers","typeLabel":"object"},"auth":{"type":"object","required":["type"],"description":"Outbound authentication for API delivery. The required fields depend on `type`:\n\n- `none` - no auth.\n- `bearer` - `token` is sent as `Authorization: Bearer \u003ctoken>`.\n- `basic` - `username` + `password` are encoded into `Authorization: Basic ...`.\n- `api_key` - `name` + `value` are sent as a header (`location: header`, default) or query parameter (`location: query`).\n- `hmac` - `secret` signs a fixed Tavus envelope body with HMAC-SHA256; the signature is sent in the `X-Tavus-Signature` header. HMAC mode ignores `body_template`, `query_params`, and URL placeholders.\n- `oauth2_client_credentials` - Tavus does a client-credentials exchange against `token_url` using `client_id` + `client_secret` (and optional `scope`) and uses the returned bearer token to call the tool URL.\n\nOn response, all secret fields (`token`, `password`, `value`, `secret`, `client_secret`) are scrubbed to `********`. Echoing that back on PATCH is rejected; omit the field instead to keep the stored secret.\n","properties":{"type":{"type":"string","enum":["none","bearer","basic","api_key","hmac","oauth2_client_credentials"],"description":"Auth strategy.","isRequired":true,"uniqueKey":"data.items.[INDEX].delivery.api.auth.type","typeLabel":"enum\u003cstring>"},"token":{"type":"string","description":"Bearer token. Required when `type=bearer`.","uniqueKey":"data.items.[INDEX].delivery.api.auth.token","typeLabel":"string"},"username":{"type":"string","description":"HTTP Basic username. Required when `type=basic`.","uniqueKey":"data.items.[INDEX].delivery.api.auth.username","typeLabel":"string"},"password":{"type":"string","description":"HTTP Basic password. Required when `type=basic`.","uniqueKey":"data.items.[INDEX].delivery.api.auth.password","typeLabel":"string"},"name":{"type":"string","description":"API key header / query parameter name. Required when `type=api_key`.","example":"X-API-Key","uniqueKey":"data.items.[INDEX].delivery.api.auth.name","typeLabel":"string"},"value":{"type":"string","description":"API key value. Required when `type=api_key`.","uniqueKey":"data.items.[INDEX].delivery.api.auth.value","typeLabel":"string"},"location":{"type":"string","enum":["header","query"],"default":"header","description":"Where the API key is sent. Used only when `type=api_key`.","uniqueKey":"data.items.[INDEX].delivery.api.auth.location","typeLabel":"enum\u003cstring>"},"secret":{"type":"string","description":"HMAC shared secret. Required when `type=hmac`.","uniqueKey":"data.items.[INDEX].delivery.api.auth.secret","typeLabel":"string"},"token_url":{"type":"string","description":"OAuth2 token endpoint. Must use HTTPS and pass the same SSRF rules as the tool URL. Required when `type=oauth2_client_credentials`.","example":"https://auth.example.com/oauth/token","uniqueKey":"data.items.[INDEX].delivery.api.auth.token_url","typeLabel":"string"},"client_id":{"type":"string","description":"OAuth2 client ID. Required when `type=oauth2_client_credentials`.","uniqueKey":"data.items.[INDEX].delivery.api.auth.client_id","typeLabel":"string"},"client_secret":{"type":"string","description":"OAuth2 client secret. Required when `type=oauth2_client_credentials`.","uniqueKey":"data.items.[INDEX].delivery.api.auth.client_secret","typeLabel":"string"},"scope":{"type":"string","description":"Optional OAuth2 scope string. Used only when `type=oauth2_client_credentials`.","uniqueKey":"data.items.[INDEX].delivery.api.auth.scope","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].delivery.api.auth","typeLabel":"object"},"body_template":{"type":"object","description":"Optional JSON object used as the request body. String values support `{placeholder}` substitutions referencing keys declared in the tool's `parameters.properties`. Rejected when `method` is `GET`, `HEAD`, or `DELETE`, and ignored when `auth.type` is `hmac` (which uses a fixed Tavus envelope).","uniqueKey":"data.items.[INDEX].delivery.api.body_template","typeLabel":"object"},"query_params":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"data.items.[INDEX].delivery.api.query_params.additionalProperties","typeLabel":"string"},"description":"Static query parameters appended to the URL. Keys and values must be strings; values support `{placeholder}` substitutions. Ignored when `auth.type` is `hmac`.","example":{"units":"metric"},"uniqueKey":"data.items.[INDEX].delivery.api.query_params","typeLabel":"object"},"content_type":{"type":"string","description":"Override the request `Content-Type` header. Defaults to `application/json` when not set.","example":"application/json","uniqueKey":"data.items.[INDEX].delivery.api.content_type","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].delivery.api","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].delivery","typeLabel":"object"},"is_system_tool":{"type":"boolean","description":"Whether this is a built-in system tool. System tools cannot be modified or deleted.","example":false,"uniqueKey":"data.items.[INDEX].is_system_tool","typeLabel":"boolean"},"trigger_type":{"type":"string","enum":["in_call","post_call"],"description":"When the tool runs. `post_call` tools execute server-side after the conversation ends via `delivery.api` (HTTPS webhook).","example":"in_call","uniqueKey":"data.items.[INDEX].trigger_type","typeLabel":"enum\u003cstring>"},"origin":{"oneOf":[{"type":"string","enum":["llm","vision","screen","audio"],"description":"Live modality for in-call tools. `screen` identifies Raven-2 shared-screen tools. Null for post-call tools.","example":"llm","uniqueKey":"data.items.[INDEX].origin.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["llm","vision","screen","audio"],"description":"Live modality for in-call tools. `screen` identifies Raven-2 shared-screen tools. Null for post-call tools.","example":"llm","uniqueKey":"data.items.[INDEX].origin.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].origin","typeLabel":"enum\u003cstring> | null"},"on_call":{"oneOf":[{"type":"string","enum":["generate_filler","static_filler","silent","passthrough"],"description":"What the PAL does while the tool call is in flight. Always null for perception tools.","example":"generate_filler","uniqueKey":"data.items.[INDEX].on_call.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["generate_filler","static_filler","silent","passthrough"],"description":"What the PAL does while the tool call is in flight. Always null for perception tools.","example":"generate_filler","uniqueKey":"data.items.[INDEX].on_call.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].on_call","typeLabel":"enum\u003cstring> | null"},"on_resolve":{"oneOf":[{"type":"string","enum":["generate_response","response_in_result","add_to_context","fire_and_forget"],"description":"What the PAL does after the tool returns.","example":"generate_response","uniqueKey":"data.items.[INDEX].on_resolve.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["generate_response","response_in_result","add_to_context","fire_and_forget"],"description":"What the PAL does after the tool returns.","example":"generate_response","uniqueKey":"data.items.[INDEX].on_resolve.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].on_resolve","typeLabel":"enum\u003cstring> | null"},"static_filler":{"oneOf":[{"type":"string","description":"Phrase the PAL speaks while the tool call is in flight. Set when `on_call` is `static_filler`.","example":"Sure, let me grab that for you.","uniqueKey":"data.items.[INDEX].static_filler.oneOf.0","typeLabel":"string"},{"type":"null","description":"Phrase the PAL speaks while the tool call is in flight. Set when `on_call` is `static_filler`.","example":"Sure, let me grab that for you.","uniqueKey":"data.items.[INDEX].static_filler.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].static_filler","typeLabel":"string | null"},"created_at":{"type":"string","description":"ISO 8601 timestamp of when the tool was created.","example":"2026-05-15T10:30:00","uniqueKey":"data.items.[INDEX].created_at","typeLabel":"string"},"updated_at":{"type":"string","description":"ISO 8601 timestamp of when the tool was last updated.","example":"2026-05-15T10:30:00","uniqueKey":"data.items.[INDEX].updated_at","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":[{"tool_id":"tabc123def456","owner_id":3675,"name":"get_weather","description":"Get the current weather for a city","parameters":{"type":"object","properties":{"city":{"type":"string","description":"City name"}},"required":["city"]},"delivery":{"app_message":true,"api":{"url":"https://api.example.com/v1/weather/{city}","method":"POST","timeout":10,"headers":{"X-Service":"weather-bot"},"auth":{"type":"none","token":"\u003cstring>","username":"\u003cstring>","password":"\u003cstring>","name":"X-API-Key","value":"\u003cstring>","location":"header","secret":"\u003cstring>","token_url":"https://auth.example.com/oauth/token","client_id":"\u003cstring>","client_secret":"\u003cstring>","scope":"\u003cstring>"},"body_template":{},"query_params":{"units":"metric"},"content_type":"application/json"}},"is_system_tool":false,"trigger_type":"in_call","origin":"llm","on_call":"generate_filler","on_resolve":"generate_response","static_filler":"Sure, let me grab that for you.","created_at":"2026-05-15T10:30:00","updated_at":"2026-05-15T10:30:00"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"9e24ab5d-f4a5-4aa4-a75b-5d269e2ec385":{"description":"PAL not found, unknown `tool_id`, or PAL tool limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Bad Request. One or more tool_ids not found","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Bad Request. One or more tool_ids not found"}}},"exampleType":"generated"}},"exampleType":"generated"},"6206be4d-cb92-4f96-adcc-ce3bebd6f3de":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","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":{"905a9ca7-2253-4a68-ad12-50cf289487d3":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"apiKey"}}},"servers":{"c386d2b5-906d-4114-93ca-1c9d54510a00":{"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":"Attach Tools To PAL - Tavus","contextualStarterQuestions":[{"_id":"6ad7ff5621016d2af5067387","deploymentId":"65baa7516ce8cd46ab1aa877","questionText":"Can I attach duplicate tools?","status":"active","generatedBy":"contextual","path":"api-reference/pal-tools/attach-tools-to-pal","createdAt":"2026-10-20T23:55:02.790Z","updatedAt":"2026-10-20T23:55:02.790Z","__v":0},{"_id":"6ad7ff5621016d2af5067386","deploymentId":"65baa7516ce8cd46ab1aa877","questionText":"What's required for screen tools?","status":"active","generatedBy":"contextual","path":"api-reference/pal-tools/attach-tools-to-pal","createdAt":"2026-10-20T23:55:02.790Z","updatedAt":"2026-10-20T23:55:02.790Z","__v":0},{"_id":"6ad7ff5621016d2af5067385","deploymentId":"65baa7516ce8cd46ab1aa877","questionText":"How many tools can attach?","status":"active","generatedBy":"contextual","path":"api-reference/pal-tools/attach-tools-to-pal","createdAt":"2026-10-20T23:55:02.790Z","updatedAt":"2026-10-20T23:55:02.790Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-20T23:54:53.223Z","originalFileLocation":"api-reference/pal-tools/attach-tools-to-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=\"Attach one or more tools (by tool_id) to a PAL. A PAL can have at most 50 attached tools. Screen tools (origin: screen) require a PAL configured with layers.perception.perception_model: raven-2. Configure perception before attaching screen tools; attaching them to Raven-1 returns a 400. Attaching a tool that is already attached is idempotent - it is reported in the response alongside any newly-attached tools.\">\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=\"Attach Tools To PAL - Tavus\">\u003cmeta data-mint-head property=\"og:description\" content=\"Attach one or more tools (by tool_id) to a PAL. A PAL can have at most 50 attached tools. Screen tools (origin: screen) require a PAL configured with layers.perception.perception_model: raven-2. Configure perception before attaching screen tools; attaching them to Raven-1 returns a 400. Attaching a tool that is already attached is idempotent - it is reported in the response alongside any newly-attached tools.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tavus\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tavus.io/api-reference/pal-tools/attach-tools-to-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=Tools\u0026amp;title=Attach+Tools+To+PAL\u0026amp;description=Attach+one+or+more+tools+%28by+%60tool_id%60%29+to+a+PAL.+A+PAL+can+have+at+most+50+attached+tools.%0A%0AScreen+tools+%28%60origin%3A+screen%60%29+require+a+PAL+configured+with+%60laye\u0026amp;theme=91cafe4cc1af35a0828d7f58\u0026amp;signature=22e21dba5917762c8178d78b55d5560346537a46d9ad0c20f5e01a5b1d31c43b\">\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=\"Attach Tools To PAL - Tavus\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Attach one or more tools (by tool_id) to a PAL. A PAL can have at most 50 attached tools. Screen tools (origin: screen) require a PAL configured with layers.perception.perception_model: raven-2. Configure perception before attaching screen tools; attaching them to Raven-1 returns a 400. Attaching a tool that is already attached is idempotent - it is reported in the response alongside any newly-attached tools.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tavus.mintlify.app/_mintlify/api/og/v2?division=Tools\u0026amp;title=Attach+Tools+To+PAL\u0026amp;description=Attach+one+or+more+tools+%28by+%60tool_id%60%29+to+a+PAL.+A+PAL+can+have+at+most+50+attached+tools.%0A%0AScreen+tools+%28%60origin%3A+screen%60%29+require+a+PAL+configured+with+%60laye\u0026amp;theme=91cafe4cc1af35a0828d7f58\u0026amp;signature=22e21dba5917762c8178d78b55d5560346537a46d9ad0c20f5e01a5b1d31c43b\">\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/pal-tools/attach-tools-to-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/pal-tools/attach-tools-to-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/pal-tools/attach-tools-to-pal#webpage\",\"url\":\"https://docs.tavus.io/api-reference/pal-tools/attach-tools-to-pal\",\"name\":\"Attach Tools To PAL\",\"description\":\"Attach one or more tools (by tool_id) to a PAL. A PAL can have at most 50 attached tools. Screen tools (origin: screen) require a PAL configured with layers.perception.perception_model: raven-2. Configure perception before attaching screen tools; attaching them to Raven-1 returns a 400. Attaching a tool that is already attached is idempotent - it is reported in the response alongside any newly-attached tools.\",\"dateModified\":\"2026-10-20T23:54:53.223Z\",\"isPartOf\":{\"@id\":\"https://docs.tavus.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tavus.io/api-reference/pal-tools/attach-tools-to-pal#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tavus.io/api-reference/pal-tools/attach-tools-to-pal#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Tools\",\"item\":\"https://docs.tavus.io/api-reference/tools/create-tool\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Attach Tools To PAL\",\"item\":\"https://docs.tavus.io/api-reference/pal-tools/attach-tools-to-pal\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.tavus.io/api-reference/pal-tools/attach-tools-to-pal#apireference\",\"headline\":\"Attach Tools To PAL\",\"name\":\"Attach Tools To PAL\",\"description\":\"Attach one or more tools (by tool_id) to a PAL. A PAL can have at most 50 attached tools. Screen tools (origin: screen) require a PAL configured with layers.perception.perception_model: raven-2. Configure perception before attaching screen tools; attaching them to Raven-1 returns a 400. Attaching a tool that is already attached is idempotent - it is reported in the response alongside any newly-attached tools.\",\"url\":\"https://docs.tavus.io/api-reference/pal-tools/attach-tools-to-pal\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tavus.io/api-reference/pal-tools/attach-tools-to-pal#webpage\"},\"dateModified\":\"2026-10-20T23:54:53.223Z\",\"keywords\":\"PAL, persona, persona tools, pal_id, persona_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","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","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","description":"Soft-deletes a tool and detaches it from every PAL it was attached to. The tool name is freed for reuse on a new tool. System tools cannot be deleted.","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","description":"List all standalone tools currently attached to a PAL. Inline tools defined under `PAL.layers.llm.tools` and built-in system tools are not returned here - only tools created via [Create Tool](/api-reference/tools/create-tool) and attached to this PAL.","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":"Attach Tools To PAL - Tavus","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}