# Mark a lead

> Mark a lead COLLECTED (keep), CONTACTED (reached out) or DISMISSED (not now). Pass suppress true with DISMISSED to never surface this person again. Call it only when the user asked for this in the conversation; never on your own initiative.

`leads.set_status` · write

- **MCP tool:** `set_lead_status`. Loaded by default in MCP clients.
- **REST:** `POST /v1/leads/set-status`
- **CLI:** `xholic leads set-status`
- **Scope:** `write`
- **Plan:** Pro plan or higher
- **Cost:** Free.
- **Rate limit bucket:** `write`

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string (uuid) | Yes | Lead id from get_leads. |
| `status` | "COLLECTED" \\| "CONTACTED" \\| "DISMISSED" | Yes |  |
| `suppress` | boolean | No | Never show this person as a lead again. |
| `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. |
