Developers
One API. Every channel.
Send SMS, WhatsApp, RCS and voice from your app with one REST API. Set a channel order and SparkNow handles fallback, delivery reports and compliance.
# Send one message with automatic channel fallback (sample) curl -X POST https://api.sparknow.co.in/v1/messages \ -H "Authorization: Bearer $SPARKNOW_KEY" \ -H "Content-Type: application/json" \ -d '{ "to": "+919800000000", "channels": ["whatsapp", "rcs", "sms"], "template": "appointment_reminder", "params": { "name": "Ravi", "time": "10:30 AM" } }'
import { SparkNow } from "@sparknow/sdk"; // sample const sn = new SparkNow(process.env.SPARKNOW_KEY); await sn.messages.send({ to: "+919800000000", channels: ["whatsapp", "rcs", "sms"], template: "appointment_reminder", params: { name: "Ravi", time: "10:30 AM" }, });
from sparknow import SparkNow # sample sn = SparkNow(os.environ["SPARKNOW_KEY"]) sn.messages.send( to="+919800000000", channels=["whatsapp", "rcs", "sms"], template="appointment_reminder", params={"name": "Ravi", "time": "10:30 AM"}, )
Quick start
From API key to first message in minutes.
- Step 1
Get your keys
Sign up for sandbox access and create API keys for test and live environments.
- Step 2
Send a test
Send to your own number from the sandbox using a sample template.
- Step 3
Add webhooks
Point delivery, reply and call events to your server.
- Step 4
Go live
Switch to live keys once your templates and sender IDs are approved.
Platform
Built for production traffic.
REST and JSON
Simple HTTPS endpoints with predictable JSON responses and clear error codes.
Channel fallback
Give a channel order and SparkNow tries each in turn until the message is delivered.
Webhooks
Real-time events for delivery, reads, replies, calls and AI agent summaries.
Secure keys
Separate test and live keys, IP allow-listing and signed webhook payloads.
Compliance checks
DLT template matching, WhatsApp template rules and calling-hour limits enforced by the API.
Idempotency
Send an idempotency key to make retries safe, so customers never get duplicates.
SMPP for high volume
Connect over SMPP for very high SMS throughput.
Logs and reports
Search every request and message in the dashboard, or export it.
Endpoints
Core API endpoints.
The full reference, with request and response fields, is shared when you get sandbox access.
| Method | Path | What it does |
|---|---|---|
POST | /v1/messages | Send on one or more channels with fallback |
POST | /v1/sms | Send SMS on a DLT template |
POST | /v1/whatsapp/messages | Send a WhatsApp template or session message |
POST | /v1/rcs/messages | Send an RCS card or carousel |
POST | /v1/voice/calls | Place an outbound voice (OBD) call |
POST | /v1/calls/click-to-call | Connect an agent to a customer |
POST | /v1/agents/calls | Ask an AI voice agent to call a number |
GET | /v1/messages/{id} | Check a message's status |
Webhooks
Know what happened, as it happens.
| Event | When it fires |
|---|---|
message.sent | Accepted by the channel |
message.delivered | Delivered to the handset |
message.read | Read (WhatsApp and RCS) |
message.failed | Failed, with a reason code |
message.reply | Customer replied |
call.completed | Call ended, with duration and keypresses |
agent.summary | AI agent call transcript and summary |
lead.captured | Chatbot or agent captured a lead |
{
"event": "message.delivered",
"id": "msg_8f2c1a",
"channel": "whatsapp",
"to": "+919800000000",
"status": "read",
"timestamp": "2026-10-21T10:02:04+05:30"
}Sandbox
Get sandbox access.
Tell us what you're building. We'll send sandbox keys and the full API reference to your email.