Skip to main content
Contacts are the foundation of your CRM. Every interaction, deal, and follow-up ties back to a contact. Use these commands to manage your contact database from the terminal.

moss contact list

List contacts with optional filtering and pagination.
moss contact list
moss contact list --q "acme" --tag enterprise --page 2
moss contact list --owner-id me
OptionRequiredDescription
--page <n>NoPage number
--per-page <n>NoItems per page
--sort <field>NoSort field (first_name, last_name, email, created_at)
--order <dir>NoSort order (asc or desc)
--q <query>NoFull-text search query
--company-id <id>NoFilter by company
--owner-id <id>NoFilter by owner (UUID or "me" for current user)
--tag <name>NoFilter by tag name

moss contact show

Show details for a single contact.
moss contact show --id cnt_abc123
OptionRequiredDescription
--id <id>YesContact ID

moss contact create

Create a new contact.
moss contact create \
  --first-name "Jane" \
  --last-name "Smith" \
  --email "jane@acme.com" \
  --title "CTO" \
  --company-id cmp_abc123 \
  --owner-id me
OptionRequiredDescription
--first-name <name>YesFirst name
--last-name <name>NoLast name
--email <email>NoEmail address
--phone <phone>NoPhone number
--title <title>NoJob title
--linkedin-url <url>NoLinkedIn profile URL
--company-id <id>NoAssociated company ID
--owner-id <id>NoOwner user ID
--notes <text>NoFree-text notes
--tags <tags>NoComma-separated tag names
--set <key=value>NoSet a custom field value (repeatable)

moss contact create-batch

Create multiple contacts from a JSON file. Each object in the array takes the same fields as moss contact create.
moss contact create-batch --file contacts.json
cat contacts.json | moss contact create-batch --file -
OptionRequiredDescription
--file <path>YesPath to JSON file containing an array of contact objects, or "-" for stdin
The input file should be a JSON array:
[
  { "first_name": "Jane", "last_name": "Smith", "email": "jane@acme.com" },
  { "first_name": "Bob", "last_name": "Chen", "email": "bob@startup.io" }
]

moss contact update

Update an existing contact. Only specified fields are changed.
moss contact update --id cnt_abc123 --title "VP Engineering" --owner-id usr_def456
OptionRequiredDescription
--id <id>YesContact ID
--first-name <name>NoFirst name
--last-name <name>NoLast name
--email <email>NoEmail address
--phone <phone>NoPhone number
--title <title>NoJob title
--linkedin-url <url>NoLinkedIn profile URL
--company-id <id>NoAssociated company ID
--owner-id <id>NoOwner user ID
--notes <text>NoFree-text notes
--tags <tags>NoComma-separated tag names
--set <key=value>NoSet a custom field value (repeatable)

moss contact delete

Delete a contact permanently.
moss contact delete --id cnt_abc123 --confirm
OptionRequiredDescription
--id <id>YesContact ID
--confirmYesConfirm deletion (required for destructive operations)
This permanently deletes the contact and all associated data. This cannot be undone.
Search contacts by name, email, or notes using full-text search.
moss contact search --q "jane smith"
OptionRequiredDescription
--q <query>YesSearch query
--page <n>NoPage number
--per-page <n>NoItems per page

moss contact merge

Merge two contacts. The source contact’s data is merged into the target, and the source is deleted.
moss contact merge --source-id cnt_abc123 --target-id cnt_def456 --confirm
OptionRequiredDescription
--source-id <id>YesSource contact ID (will be deleted)
--target-id <id>YesTarget contact ID (will be kept)
--confirmYesConfirm merge (required for destructive operations)
The source contact will be permanently deleted after merging. This cannot be undone.

Common Workflows

List your own contacts, then export them:
moss contact list --owner-id me --json | jq '.data[].email'
Find duplicates by searching, then merge:
moss contact search --q "jane smith"
moss contact merge --source-id cnt_older --target-id cnt_newer --confirm