---
title: "Move Skills"
method: POST
path: "/api/skills/move"
tags: ["skills"]
---

# Move Skills

`POST /api/skills/move`

## Request

- Base URL: `https://app.thinqos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.thinqos.com/api/skills/move`
- Auth: none declared

Move one or more skills into another folder (TOS-1490).

Rung rule: edit+ on the destination folder AND on each skill's current
(source) folder. A bad destination 403s the whole request up front; a
per-skill source-authorization failure or unknown id is collected as a
per-item error instead of failing the whole batch - matches documents'
bulk-move partial-failure contract (``bulk_move_documents`` in
api/knowledge.py). Ownership is unchanged; only ``library_id`` moves
(see ``SkillService.move_skills``).

## Headers

- `x-impersonate-identity-id` string, nullable

## Request body

- MoveSkillsBody
  - `skill_ids` string[], required
  - `library_id` string, uuid, required

## Response `200`

Successful Response

- MoveSkillsResponse
  - `moved` string[], required
  - `library_id` string, uuid, required
  - `errors` SkillBulkErrorItem[], required
    - `id` string, uuid, required
    - `reason` string, required

## Other responses

- `422`: Validation Error

---

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