# List skills

> GET /skills

Source: https://mockflow.com/developers/reference/skills/list-skills

**GET** `https://api.mockflow.com/v1/skills`  
Scopes: `user:read`

**curl**

```bash
curl https://api.mockflow.com/v1/skills \
  -H "Authorization: Bearer $MOCKFLOW_API_KEY"
```

**JavaScript**

```javascript
const response = await fetch("https://api.mockflow.com/v1/skills", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.MOCKFLOW_API_KEY}`
  }
});

const data = await response.json();
```

**Python**

```python
import os, requests

response = requests.get(
    "https://api.mockflow.com/v1/skills",
    headers={"Authorization": f"Bearer {os.environ['MOCKFLOW_API_KEY']}"},
)

response.raise_for_status()
data = response.json()
```

**200**

```json
{
  "nextCursor": "string",
  "hasMore": false,
  "data": [
    {
      "id": "string",
      "slug": "string",
      "name": "Q4 Launch Planning",
      "description": "string",
      "outputType": "string",
      "category": "string"
    }
  ]
}
```

**429**

```json
{
  "error": {
    "code": "rate_limited",
    "message": "Too many requests.",
    "docsUrl": "https://mockflow.com/developers/concepts/errors#rate_limited"
  },
  "requestId": "req_45d49816999bac40"
}
```

`scope=public` (default) is the curated library. `scope=team` is your workspace's own unapproved skills. `scope=mine` is what you made. Filter by `outputType` to see the skills that shape one kind of item.

### Authorization

- `Authorization` (string, required): `Bearer <key>`. The key needs `user:read` scope. Create and manage keys in the [developer console](/developers/console/); what each scope unlocks is on the [scopes page](/developers/concepts/scopes).

### Query parameters

- `scope` (enum<string>): One of `public`, `team` or `mine`. Defaults to `public`.
- `outputType` (string)
- `q` (string)
- `cursor` (string): Opaque cursor from a previous response's `nextCursor`.
- `limit` (integer): Defaults to `50`.

### Response

- `nextCursor` (string | null)
- `hasMore` (boolean)
- `data` (Skill[]): - `id` (string)
  - `slug` (string | null)
  - `name` (string)
  - `description` (string)
  - `outputType` (string | null): The kind of item the skill shapes, in the skill library's own vocabulary (kanban, mindmap, markdown, swimlanediagram …).
  - `category` (string)
  - `tags` (string[])
  - `placeholder` (string)
  - `scope` (enum<string>): One of `public` or `team`.
  - `author` (object)
  - `iconUrl` (string | null)
  - `uses` (integer)
  - `systemPrompt` (string): Present on public skills and on your own.
  - `createdAt` (string | null)

### Errors

- 429 `rate_limited`: Too many requests.
