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.

  1. Step 1

    Get your keys

    Sign up for sandbox access and create API keys for test and live environments.

  2. Step 2

    Send a test

    Send to your own number from the sandbox using a sample template.

  3. Step 3

    Add webhooks

    Point delivery, reply and call events to your server.

  4. 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.

MethodPathWhat it does
POST/v1/messagesSend on one or more channels with fallback
POST/v1/smsSend SMS on a DLT template
POST/v1/whatsapp/messagesSend a WhatsApp template or session message
POST/v1/rcs/messagesSend an RCS card or carousel
POST/v1/voice/callsPlace an outbound voice (OBD) call
POST/v1/calls/click-to-callConnect an agent to a customer
POST/v1/agents/callsAsk an AI voice agent to call a number
GET/v1/messages/{id}Check a message's status

Webhooks

Know what happened, as it happens.

EventWhen it fires
message.sentAccepted by the channel
message.deliveredDelivered to the handset
message.readRead (WhatsApp and RCS)
message.failedFailed, with a reason code
message.replyCustomer replied
call.completedCall ended, with duration and keypresses
agent.summaryAI agent call transcript and summary
lead.capturedChatbot 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.

We reply within one working day. By submitting, you agree to our privacy policy.