Platform

Five channels. One routing engine.

Every product below shares the same fallback logic, delivery log, and API shape — so adding a channel later is a config change, not a new integration.

Messaging API

SMS, WhatsApp, and RCS from one endpoint

Send a message once and Siddhira handles the formatting differences between channels — media attachments, quick-reply buttons, and read receipts each map to the right fields automatically.

  • Two-way conversations with a single webhook for inbound replies
  • Approved WhatsApp templates managed from your dashboard
  • Rich media: images, PDFs, and location pins where the channel supports it
messaging.js
await siddhira.messages.send({
  to: "+14155550142",
  channel: "whatsapp",
  template: "order_shipped",
  variables: { order: "4821" }
});
voice.js
await siddhira.calls.create({
  to: "+14155550142",
  say: "Your delivery arrives in 10 minutes.",
  voice: "en-US-female-1"
});
Voice API

Calls and text-to-speech for the moments text can't cover

Programmable voice for time-critical alerts, IVR menus, and OTP fallback — with recordings, call transfer, and real-time transcription available on the same call object.

  • Text-to-speech in 30+ languages, or bring your own audio
  • Simple IVR menus defined in JSON, no telephony experience required
  • Call recordings and status webhooks (ringing, answered, voicemail, no-answer)
Verification & OTP

One-time codes that don't die with a missed text

Start with SMS, and if the code isn't entered within your time window, Siddhira automatically calls with a spoken code instead of leaving the user stuck.

  • Configurable code length, expiry, and retry limits
  • Built-in fraud checks to block known disposable-number abuse
  • A single verify() call handles sending, escalation, and checking
verify.js
const otp = await siddhira.verify.start({
  to: "+14155550142",
  channels: ["sms", "voice"],
  escalateAfter: "30s"
});
Fallback orchestration

The routing engine underneath everything above

This is what actually makes Siddhira a fallback platform rather than five separate APIs. Every product above is really just a channel plugged into this engine.

Detect

A failed send, a timeout, or a message left unread past the window you configured.

Reroute

The next channel in your chain picks up the same message — no new request from your side.

Deliver

Siddhira stops the chain the moment it lands, and logs exactly which channel got there.

190+ countries, provisioned by API

Global numbers

Local presence without the paperwork

Provision local, toll-free, and short code numbers directly through the API. Siddhira handles the regulatory registration required in each country.

  • Local caller ID improves answer rates on outbound voice
  • Number pooling so high-volume senders avoid carrier filtering
Delivery analytics

See where messages actually land

Every hop — attempted, failed, rerouted, delivered — is logged with a timestamp. Filter by channel, country, or campaign to see where your fallback rules are triggering most.

  • Exportable delivery logs, or query them directly through the API
  • Alerts when a channel's failure rate spikes in a given country
WhatsApp → SMSReroute rate
12.4%
SMS → VoiceReroute rate
2.1%
First-attempt deliveryBlended, all channels
94.8%

See it work with your own numbers.

Spin up a sandbox account and send a real message through a fallback chain in the next five minutes.