Skip to Content
splashify CLIAnalytics

Analytics

The analytics command mirrors the /analytics page — a summary of message volume across channels and a daily trend series for charting.

Read-only. The page also has CSV export buttons; pipe the JSON through jq -r and your own conversion of choice.

Quick start

splashify analytics # message analytics summary splashify analytics trends # daily trend series

Command reference

SubcommandBacked by
(none — default) / summaryGET /api/v1/app/analytics/summary
trendsGET /api/v1/app/analytics/trends

Summary shape

{ "success": true, "summary": { "total_sent": 18420, "total_delivered": 17888, "total_read": 12940, "total_failed": 532, "by_channel": { "whatsapp": { "sent": , "delivered": , "read": , "failed": }, "rcs": { "sent": , "delivered": , "read": , "failed": }, "instagram": { "sent": , "delivered": , "read": , "failed": } }, "by_template": [ { "name": "promo_welcome", "sent": , "delivered": , "read": } ] } }
{ "success": true, "trends": [ { "date": "2026-04-22", "sent": 612, "delivered": 595, "read": 421, "failed": 17 }, { "date": "2026-04-23", "sent": 580, "delivered": 561, "read": 398, "failed": 19 } ] }

Common patterns

# Read-rate per template splashify analytics | jq ' .summary.by_template[] | {name, read_rate: (.read / .delivered)} ' # Last 7 days of sends as a sparkline-friendly CSV splashify analytics trends | \ jq -r '.trends[-7:][] | "\(.date),\(.sent),\(.delivered),\(.read)"' # Channel mix splashify analytics | \ jq '.summary.by_channel | to_entries | map({channel: .key, sent: .value.sent})'