Subchapter 4.7
references/contacts.mdMarkdown4 KBView on GitHub
--limit <n> |
| number |
| 10 |
| Max results (1-100) |
--after <cursor> | string | — | Forward pagination |
--before <cursor> | string | — | Backward pagination |
| Flag | Type | Required | Description |
|---|---|---|---|
--email <email> | string | Yes | Contact email |
--first-name <name> | string | No | First name |
--last-name <name> | string | No | Last name |
--unsubscribed | boolean | No | Globally unsubscribe |
--properties <json> | string | No | Custom properties JSON |
--segment-id <id...> | string[] | No | Add to segment(s) |
Argument: <id|email> — Contact UUID or email address (both accepted)
Argument: <id|email> — Contact UUID or email address
| Flag | Type | Description |
|---|---|---|
--unsubscribed | boolean | Set unsubscribed |
--no-unsubscribed | boolean | Re-subscribe |
--properties <json> | string | Merge properties (set key to null to clear) |
Argument: <id|email> — Contact UUID or email address
| Flag | Type | Required | Description |
|---|---|---|---|
--yes | boolean | Yes (non-interactive) | Skip confirmation |
Alias: rm
List segments a contact belongs to.
Argument: <id|email> — Contact UUID or email
Argument: <contactId> — Contact UUID or email
| Flag | Type | Required | Description |
|---|---|---|---|
--segment-id <id> | string | Yes (non-interactive) | Segment ID to add to |
Arguments: <id|email> <segmentId>
List contact’s topic subscriptions.
Argument: <id|email> — Contact UUID or email
Argument: <id|email> — Contact UUID or email
| Flag | Type | Required | Description |
|---|---|---|---|
--topics <json> | string | Yes (non-interactive) | JSON array: [{"id":"topic-uuid","subscription":"opt_in"}] |
Subscription values: opt_in | opt_out
Bulk-import contacts from a local CSV file. The file is uploaded as multipart form data (max 100MB). Imports run asynchronously — the command returns an import id immediately while the file is processed in the background (poll with contacts imports get).
| Flag | Type | Required | Description |
|---|---|---|---|
--file <path> | string | Yes (non-interactive) | Path to the CSV file to import |
--column-map <json> | string | No | JSON object mapping contact fields to CSV column headers: {"email":"Email","firstName":"First Name","properties":{"plan":{"column":"Plan","type":"string"}}} |
--on-conflict <strategy> | string | No | How to handle existing contacts: upsert (default, updates) or skip |
--segment-id <id...> | string[] | No | Add imported contacts to segment(s) — repeatable |
--topics <json> | string | No | JSON array: [{"id":"topic-uuid","subscription":"opt_in"}] |
Mappable contact fields: email, firstName, lastName, unsubscribed, properties.
Without --column-map, columns are matched by the lowercase names email (required), first_name, last_name — matching is case-sensitive, so a CSV with Email/First Name headers fails with create_error (422 “missing required email column”). Use --column-map to import such a file.
Retrieve a contact import’s status and counts.
Argument: [id] — Contact import ID (interactive picker when omitted)
Status values: queued | in_progress | completed | failed
| Flag | Type | Default | Description |
|---|---|---|---|
--limit <n> | number | 10 | Max results (1-100) |
--after <cursor> | string | — | Forward pagination |
--before <cursor> | string | — | Backward pagination |
--status <status> | string | — | Filter by status: queued | in_progress | completed | failed |
Alias: ls