---
title: "Update PAL Skill"
method: PATCH
path: "/v2/pals/{pal_id}/skills/{skill_id}"
tags: ["Skills"]
---

# Update PAL Skill

`PATCH /v2/pals/{pal_id}/skills/{skill_id}`

Merge changes into an existing skill attachment's configuration. Fields you pass replace the existing values, fields you omit are preserved, and fields set to `null` are removed. The merged configuration is validated against the skill's config schema.

Unlike [Attach Skill to PAL](/api-reference/pal-skills/attach-skill-to-pal), this endpoint cannot create a new attachment - the skill must already be attached.

## Request body

- object
  - `config` object, required — Partial configuration to merge into the existing config.

## Response `200`

Successfully updated the skill attachment

- SkillAttachment — A skill attached to a PAL.
  - `skill_id` string — The unique identifier of the attached skill.
  - `config` object — The skill's configuration. Empty object for skills with no configuration. Shape depends on `skill_id` - see [Skills](/sections/conversational-video-interface/skills/overview). For `magic_canvas`, `config.components` is a sparse overlay and `config.usage_guidance` is an optional string (max 2048 characters) that steers when the PAL shows cards; see [Canvas configuration](/sections/conversational-video-interface/magic-canvas/api/configuration).
  - `attached_at` string — ISO 8601 timestamp of when the skill was first attached to the PAL.
  - `updated_at` string — ISO 8601 timestamp of when the attachment was last modified.

## Other responses

- `400` — Bad Request
- `401` — UNAUTHORIZED
- `404` — Not Found

---

[API](https://skmtc.dev/tavus/apis/tavus-developer-api-collection.md) · [All operations](https://skmtc.dev/tavus/apis/tavus-developer-api-collection/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tavus/tavus-developer-api-collection/revisions/c878e2f6508d/schema)
