Maya
The maya command lets you chat with Maya, Splashify’s in-app AI
assistant, from the terminal. Behind the scenes it hits the same
backend the right-rail widget in the app uses, so tool calls, account
context, and rate limits are identical.
Quick start
splashify maya chat "How do I create a broadcast?"
splashify maya chat --thread-id <id> "follow-up question"
splashify maya feedback --reply-id <id> --rating up
splashify maya feedback --reply-id <id> --rating down --comment "off-topic"Command reference
| Subcommand | Backed by |
|---|---|
chat "<message>" (aliases: ask, send) | POST /api/v1/app/maya/chat |
chat --thread-id <id> "<message>" | Same; continues a previous thread |
feedback --reply-id <id> --rating up|down [--comment …] | POST /api/v1/app/maya/feedback |
Chat
The message can be passed positionally or via --message:
# Positional (most natural)
splashify maya chat "How do I create a broadcast for the VIP segment?"
# Via flag (handy when the message contains shell-tricky characters)
splashify maya chat --message "How do I create a broadcast for the VIP segment?"The response is a JSON object with at minimum reply (Maya’s answer)
and reply_id (used by feedback). Tool calls Maya makes — looking up
your templates, fetching contact counts, etc. — happen server-side; the
CLI just transports the request and prints the result.
Threads
Pass --thread-id to keep follow-ups on the same conversation. The id
is whatever the backend returned on the previous reply (typically under
thread_id or conversation_id).
THREAD=$(splashify maya chat "Set up a welcome flow" | jq -r '.thread_id')
splashify maya chat --thread-id "$THREAD" "Add an opt-out branch"Feedback
splashify maya feedback --reply-id <id> --rating up
splashify maya feedback --reply-id <id> --rating down --comment "linked to the wrong page"Used for weekly prompt-tuning telemetry. Best-effort — the CLI does not retry or surface backend errors loudly.
What’s NOT here
The app exposes two additional Sarvam-backed endpoints under /api/ai/*
(template generation, text rewrite) that proxy directly to Sarvam from
the Next.js BFF — they don’t go through the partnersapi backend and
can’t be called with an oc_live_ token. They’re intentionally absent
from the CLI.
Related
- Templates — Maya can draft templates; use the
output with
splashify templates create - Broadcasts — Maya can draft broadcast configs
- Access Tokens — same auth surface