---
title: "List Skills"
method: GET
path: "/api/skills"
tags: ["skills"]
---

# List Skills

`GET /api/skills`

## 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`
- Auth: HTTP bearer

List skills accessible to the current user.

- Personal skills: only your own
- Project skills: yours in the specified folder
- Public skills: everyone's public skills

By default, only active skills are returned. Pass include_inactive=true to see all.

## Query parameters

- `scope` string, nullable: Filter by scope: personal, project, public
- `folder_id` string, uuid, nullable: Filter by folder (for project skills)
- `category` string, nullable: Filter by category
- `include_inactive` boolean: Include inactive skills (for management UI)

## 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)
