Tags
The tag / tags commands mirror Settings → Tags — full CRUD on
the tag library used to organise contacts.
Quick start
splashify tags # list every tag
splashify tags --search vip # client-side substring filter
splashify tag create "VIP" # create a tag
splashify tag create High Value Customer # multi-word names work without quotes
splashify tag rename <id> "Important" # rename a tag
splashify tag delete <id> # delete (unmaps from every contact)Command reference
| Command | Endpoint |
|---|---|
tags [--search ...] | GET /api/v1/app/tags (filter is client-side) |
tag create "<name>" | POST /api/v1/app/tags {"name":"…"} |
tag rename <id> "<name>" / tag update … / tag edit … | PUT /api/v1/app/tags/:id {"name":"…"} |
tag delete <id> / tag rm <id> | DELETE /api/v1/app/tags/:id |
Output shape
{
"success": true,
"tags": [
{"id": "uuid", "name": "VIP"},
{"id": "uuid", "name": "Newsletter"}
],
"count": 2
}Naming convention — tag vs contact tag
The CLI uses plural for listing and singular for actions — same pattern
as contacts / contact, broadcasts / broadcast. There is no
collision with the contact tag … command (which
tags a specific contact) — the tag group here operates on tag
entities themselves.
Deleting a tag is destructive
splashify tag delete <id> unmaps the tag from every contact that
had it. The web app warns about this; the CLI does not prompt (it would
break automation) — pipe through xargs if you want to script it, but
double-check the IDs first:
# Find which tags would be affected
splashify tags | jq -r '.tags[] | select(.name | test("^test-")) | "\(.id)\t\(.name)"'
# Bulk delete tags whose name starts with "test-" — irreversible
splashify tags | jq -r '.tags[] | select(.name | test("^test-")) | .id' | \
xargs -I{} splashify tag delete {}Common patterns
# Count tags
splashify tags | jq '.tags | length'
# Get a tag's id by exact name
splashify tags | jq -r '.tags[] | select(.name == "VIP") | .id'
# Rename the "VIP" tag to "Top Customer"
ID=$(splashify tags | jq -r '.tags[] | select(.name == "VIP") | .id')
splashify tag rename "$ID" "Top Customer"
# Tag a specific contact with an existing tag (note: contact tag, not tag)
splashify contact tag <contact_id> --tags VIP,lead