---
title: "List Folder Skills"
method: GET
path: "/api/skills/folder/{folder_id}"
tags: ["skills"]
---

# List Folder Skills

`GET /api/skills/folder/{folder_id}`

## Request

- Base URL: `https://app.ctlsurf.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.ctlsurf.com/api/skills/folder/{folder_id}`
- Auth: HTTP bearer

List skills for a specific folder (project skills + linked skills + optionally personal skills).

Returns:
- Project-scoped skills owned by this folder
- Skills linked to this folder via skill_folders junction table
- User's personal skills (if include_personal=true)

By default, only active skills are returned.

## Path parameters

- `folder_id` string, uuid, required

## Query parameters

- `include_personal` boolean: Include user's personal skills
- `include_inactive` boolean: Include inactive skills

## Response `200`

Successful Response

- SkillListResponse: Response for listing skills.
  - `skills` SkillSummary[], required
    - `id` string, uuid, required
    - `name` string, required
    - `description` string, nullable
    - `category` string, nullable
    - `icon` string, nullable
    - `scope` 'personal' | 'project' | 'organization' | 'public', required: Skill visibility scope.
    - `folder_id` string, uuid, nullable
    - `org_id` string, uuid, nullable
    - `forked_from_id` string, uuid, nullable
    - `is_active` boolean
    - `is_verified` boolean
    - `linked_folder_ids` string[]
    - `is_linked` boolean
    - `created_at` string, date-time, required
  - `total` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ctlsurf/apis/notebook-control-plane.md) · [All operations](https://skmtc.dev/ctlsurf/apis/notebook-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/ctlsurf/apis/notebook-control-plane/revisions/ddfbbe20d5ce?raw)
