Skip to main content
PUT
/
v2
/
pals
/
{pal_id}
/
skills
/
{skill_id}
curl --request PUT \
  --url https://tavusapi.com/v2/pals/{pal_id}/skills/{skill_id} \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '{
  "config": {}
}'
{
  "skill_id": "presentation",
  "config": {
    "document_ids": [
      "d1234567890",
      "d2468101214"
    ],
    "slides_trigger": "walk_the_deck",
    "prompt": "Walk the participant through the Q4 roadmap deck."
  },
  "attached_at": "2026-06-10T14:30:45.123456+00:00",
  "updated_at": "2026-06-10T14:30:45.123456+00:00"
}
For AI agents, use https://docs.tavus.io/openapi.yaml for the full HTTP API contract.

Authorizations

x-api-key
string
header
required

Path Parameters

pal_id
string
required

The unique identifier of the PAL.

Example:

"pcb7a34da5fe"

skill_id
string
required

The unique identifier of the skill.

Example:

"presentation"

Body

application/json
config
object

The configuration for the skill, validated against the skill's config schema. Defaults to {}.

  • presentation: document_ids (required array), optional slides_trigger (on_demand (default) or walk_the_deck), optional prompt.
  • magic_canvas: optional sparse components overlay - see Canvas configuration.
Example:
{
"document_ids": ["d1234567890", "d2468101214"],
"slides_trigger": "walk_the_deck",
"prompt": "Walk the participant through the Q4 roadmap deck."
}

Response

Successfully attached the skill

A skill attached to a PAL.

skill_id
string

The unique identifier of the attached skill.

Example:

"presentation"

config
object

The skill's configuration. Empty object for skills with no configuration.

Shape depends on skill_id - see Skills. For magic_canvas, config.components is a sparse overlay; see Canvas configuration.

Example:
{
"document_ids": ["d1234567890", "d2468101214"],
"slides_trigger": "walk_the_deck",
"prompt": "Walk the participant through the Q4 roadmap deck."
}
attached_at
string

ISO 8601 timestamp of when the skill was first attached to the PAL.

Example:

"2026-06-10T14:30:45.123456+00:00"

updated_at
string

ISO 8601 timestamp of when the attachment was last modified.

Example:

"2026-06-10T14:30:45.123456+00:00"