> ## Documentation Index
> Fetch the complete documentation index at: https://developers.clay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# routines list

> List routines in the workspace pinned to your API key.

List the routines available to the authenticated workspace. The list view returns `id`, `name`, and `description` only — use [`clay routines get`](/cli/reference/routines-get) for the full routine definition.

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
clay routines list [--integration <name>] [--limit <n>] [--cursor <token>]
```

Results are paginated. `--limit` sets the page size, and the response includes a top-level `cursor` when more routines are available; pass it back with `--cursor` to fetch the next page.

## Flags

| Flag                   | Description                                                                                |
| ---------------------- | ------------------------------------------------------------------------------------------ |
| `--integration <name>` | Restrict to routines exposed on the given integration. One of `api`, `mcp`, or `claygent`. |
| `--limit <n>`          | Maximum routines to return per page. Must be a positive integer up to 100. Defaults to 20. |
| `--cursor <token>`     | Resume from a previous response's `cursor` to fetch the next page.                         |

## Output

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "data": [
    {
      "id": "function:t_abc123",
      "name": "Enrich company",
      "description": "Look up a company by domain."
    }
  ],
  "cursor": "next_page_token"
}
```

| Field                | Type           | Description                                                                                      |
| -------------------- | -------------- | ------------------------------------------------------------------------------------------------ |
| `data[].id`          | string         | Routine id. Always prefixed with the routine type (e.g. `function:`).                            |
| `data[].name`        | string         | Display name.                                                                                    |
| `data[].description` | string \| null | Description, or `null` if not set.                                                               |
| `cursor`             | string         | Present when more routines are available. Pass it back via `--cursor`. Omitted on the last page. |

## Errors

| Code               | Exit | Notes                                               |
| ------------------ | ---- | --------------------------------------------------- |
| `validation_error` | 2    | `--limit` is not a positive integer or exceeds 100. |
| `auth_forbidden`   | 3    | The API key lacks the `cli:all` scope (or `all`).   |

## Examples

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
clay routines list
clay routines list --integration mcp
clay routines list --limit 10 | jq -r '.data[].id'
clay routines list --limit 10 --cursor "$CURSOR"
```
