# Add someone to a contact list

> Add an X account to a contact list by handle. Looks the profile up on X when Xholic doesn't have it yet. Call it only when the user asked for this in the conversation; never on your own initiative.

`contacts.add_to_list` · write

- **MCP tool:** `add_to_contact_list`. Loaded by default in MCP clients.
- **REST:** `POST /v1/contacts/add-to-list`
- **CLI:** `xholic contacts add-to-list`
- **Scope:** `write`
- **Plan:** Pro plan or higher
- **Cost:** Live X lookup: no credits, counts toward the plan's X data limits.
- **Rate limit bucket:** `live_x`

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `listId` | string (uuid) | Yes | Contact list id from get_contact_lists. |
| `handle` | string ≤ 120 chars | Yes | X handle like @name, or a link to their profile. |
| `account` | string ≤ 64 chars | No | X account to act on, as @handle. Leave it out to use the connection's default account. |
| `dryRun` | boolean | No | Return exactly what would happen without doing it. |
| `idempotencyKey` | string ≤ 200 chars | No | A unique key for this write. Repeating a call with the same key returns the first result instead of acting twice. |
