Skip to content
Splashify Pro
Docs

Contacts

contacts (plural — for listing) and contact (singular — for per-id actions) mirror the /contacts page. Full CRUD plus the page's tag, block, and unblock actions.

Backed by /api/v1/app/contacts/*. Filters that are server-side run on the backend; everything else (substring search, multi-tag filter) is applied client-side, same as the page.

Quick start

bash
splashify contacts                                   # first page
splashify contacts --search john --tag vip           # filter
splashify contact <id>                               # detail
splashify contact create --phone +919876543210 --name "Alice"
splashify contact update <id> --notes "VIP. Prefers WhatsApp."
splashify contact tag   <id> --tags vip,lead         # add tags
splashify contact untag <id> --tags lead             # remove tags
splashify contact block <id>                         # stop sending
splashify contact unblock <id>
splashify contact delete <id>

Command reference

splashify contacts — list

bash
splashify contacts
splashify contacts --search john         # name / phone substring
splashify contacts --tag vip             # filter by tag
splashify contacts --page 2 --limit 100  # paginate

splashify contact <id> — show one

bash
splashify contact 5e9c1a40-...           # full detail

splashify contact create — add a contact

bash
splashify contact create \
  --phone +919876543210 \
  --name  "Alice Smith" \
  --email [email protected] \
  --tags  vip,lead \
  --data  '{"company":"Acme","interests":["Sales"]}'

--phone is the only required flag. --tags is comma-separated. --data is merged into the body verbatim and supports any custom attribute defined in Attributes.

splashify contact update <id> — sparse PUT

The CLI does a read-modify-write under the hood so you only pass the fields you're changing — the rest stay intact.

bash
splashify contact update <id> --name "Alice S."
splashify contact update <id> --email [email protected]
splashify contact update <id> --notes "VIP. Prefers WhatsApp over email."
splashify contact update <id> --website https://alice.dev
splashify contact update <id> --opted-out true
splashify contact update <id> --tags vip,lead       # replaces the tag set
splashify contact update <id> --data '{"company":"Acme Inc."}'

splashify contact tag / untag — manage tags

bash
splashify contact tag   <id> --tags vip,lead     # add
splashify contact untag <id> --tags lead         # remove (alias: remove-tags)

tag adds the listed tags to the contact (no-op on duplicates). untag removes only the listed tags, leaving the rest. To replace the entire tag set in one call, use contact update <id> --tags … instead.

splashify contact block / unblock — stop sending

bash
splashify contact block   <id>
splashify contact unblock <id>

Blocked contacts are excluded from every broadcast and template send.

splashify contact delete <id> — remove

bash
splashify contact delete <id>          # aliases: rm | remove

Deletes the contact row entirely. Tags applied via the tag library are preserved; only this contact's mapping is removed.

Common patterns

bash
# Bulk-export every contact (paginate yourself)
for p in $(seq 1 10); do
  splashify contacts --page $p --limit 100 | jq -c '.contacts[]'
done > all-contacts.jsonl

# Find a contact id by exact phone
splashify contacts --search "+919876543210" | \
  jq -r '.contacts[] | select(.phone == "+919876543210") | .id'

# Add the "imported" tag to every contact in segment <seg_id>
splashify segment <seg_id> contacts --limit 500 | \
  jq -r '.contacts[].id' | \
  xargs -I{} splashify contact tag {} --tags imported

# Opt every blocked contact out of marketing too
splashify contacts | \
  jq -r '.contacts[] | select(.is_blocked) | .id' | \
  xargs -I{} splashify contact update {} --opted-out true
  • Tags — manage the tag library used by --tags and tag
  • Segments — saved filters over the contact list
  • Attributes — custom columns surfaced in --data