---
title: "Update a workspace team skill"
method: PATCH
path: "/v1/admin/tenants/{tenant_id}/team-skills/{skill_id}"
tags: ["admin"]
---

# Update a workspace team skill

`PATCH /v1/admin/tenants/{tenant_id}/team-skills/{skill_id}`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/admin/tenants/{tenant_id}/team-skills/{skill_id}`
- Auth: HTTP bearer

Changes the `name`, `description` or `instructions` of one instruction skill the workspace wrote and shared with the whole team. A field you leave out keeps its current value. `instructions` replaces the whole text. Changed content is saved as a new version, and the team moves to it in the same request. A skill that is on uses the change in later runs. A paused or stopped skill stays as it is. Refused when someone saves the skill at the same time; repeat the call to apply your change to the latest version. Patricia's own skills and other kinds of workspace skill cannot be changed here. `changed` is false when nothing differs. The change is recorded against your staff account in the workspace audit log and the platform audit log.

## Path parameters

- `tenant_id` string, uuid, required: The workspace id.
- `skill_id` string, uuid, required: The skill id, from the workspace's team skill list.

## Request body

- AdminTeamSkillUpdate
  - `name` string, nullable: The new name, 1 to 255 characters. The slug stays the same.
  - `description` string, nullable: The new one-sentence description, 1 to 2,000 characters.
  - `instructions` string, nullable: The complete new guidance, in plain markdown, 1 to 24,000 characters. It replaces the old instructions.

## Response `200`

Successful Response

- AdminTeamSkillChange
  - `skill_id` string, uuid, required
  - `slug` string, required
  - `name` string, required
  - `kind` string, required
  - `source` 'workspace' | 'patricia', required
  - `state` 'on' | 'paused' | 'stopped', required
  - `changed` boolean, required

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden. Inspect response body `code` for the specific reason (for example: PERMISSION_DENIED, EMAIL_NOT_VERIFIED, TENANT_ACCESS_REQUIRED, ROLE_UNRESOLVED)
- `404`: Not found
- `409`: Conflict
- `422`: Validation error

---

[API](https://skmtc.dev/patricia/apis/patricia-api.md) · [All operations](https://skmtc.dev/patricia/apis/patricia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/patricia/apis/patricia-api/revisions/0dfb44495ea1?raw)
