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

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# List contacts

> Lists contacts in the connected sub-account.

`highlevel.listContacts` lists contacts in the connected sub-account.

```ts automations/highlevel-list-contacts.automation.ts theme={null}
import { automation, markSignificant } from "automate.ax"
import { highlevel } from "automate.ax/highlevel"

export default automation("List contacts", () => {
  markSignificant(highlevel.listContacts({}))
})
```

## Input

| Field          | Type     | Required | Description                     |
| -------------- | -------- | -------- | ------------------------------- |
| `startAfterId` | `string` | No       | HighLevel start after id value. |
| `startAfter`   | `number` | No       | HighLevel start after value.    |
| `query`        | `string` | No       | HighLevel query value.          |
| `limit`        | `number` | No       | HighLevel limit value.          |

Automate.ax supplies the connected sub-account's location ID. Optional second argument `{ account }` selects a named HighLevel binding.

## Output

| Field      | Type       | Required | Description               |
| ---------- | ---------- | -------- | ------------------------- |
| `contacts` | `object[]` | No       | HighLevel contacts value. |
| `count`    | `number`   | No       | HighLevel count value.    |

This action calls `GET /contacts/` with HighLevel API version `2021-07-28` and requires `contacts.readonly`. HighLevel validation and permission errors fail the action. Rate limits honor the provider's retry timing.
