CosmoOps Messaging

SMS that actually arrives

Transactional and promotional messages on DLT-registered routes, sent from your own backend or from a campaign. Every message gets a delivery report, and every message part costs ₹0.25.

No new password — you sign in with your CosmoOps account.

What you get, stated plainly

  • 0.25 a message part

    The same price whether it is in your plan's volume or past it. One number to budget against.

  • DLT-registered routes

    Your sender ID and templates are registered with the operator, which is what stops a carrier dropping your traffic.

  • A receipt for every message

    We keep what the carrier said and when, as an append-only record. It is the evidence trail a TRAI enquiry asks for.

  • 100 recipients a call

    Send one or a hundred in a single API request, with per-recipient results and an idempotency key.

How it works

The order matters, and it is the operator’s rather than ours — a template is approved against a sender ID, which is approved against your entity.

  1. 01

    Register your DLT entity

    Your business registers once with an operator and gets a principal entity ID. We submit your sender IDs and templates against it.

  2. 02

    Register a sender ID and templates

    A six-character sender ID, and the exact text of each message. The operator approves both — usually a few working days.

  3. 03

    Send from your backend or a campaign

    One API call per message, or a campaign against a contact list with merge fields filled in per person.

No DLT registration yet?

Every A2P sender in India needs one, and it is ₹6,000 a year on every plan here. We explain exactly what it buys, what the operator asks for, and why no provider can send without it.

What DLT registration is

One call from your backend

A bearer token, a template id and the values that go in it. Send an Idempotency-Key and a retried request will not send or charge twice — a message cannot be un-sent.

Read the API reference
curl -X POST https://messaging.cosmoops.com/api/v1/sms/send \
  -H "Authorization: Bearer msg_live_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "templateId": "tpl_...",
    "recipient": "9876543210",
    "values": ["Priya", "482913"]
  }'

Three lines on your invoice, and no fourth

Billed annually. Nothing is metered per API call, per contact or per seat.

The plan
From ₹12,000 a year. The software, your team, the campaigns and the API.
DLT registration
₹6,000 a year, on every plan. It goes to the operator, not to us.
Message volume
₹0.25 a part, bought up front. Go past it and the overage is the same price.
See the plans

Questions

Why is a message sometimes charged more than once?

Because the network splits it. 160 GSM-7 characters is one message part; 200 is two, and each part is charged. A single rupee sign, curly quote or emoji drops the limit to 70 characters per part, because the whole message switches to a different encoding. The composer tells you the count and names the character responsible before you send.

Can I send without a DLT registration?

No, and nor can anybody else. Carriers drop A2P traffic whose sender ID and template are not registered against a principal entity on a DLT portal. We refuse the send rather than take your money for a message that will not arrive.

What happens if my message does not match its registered template?

The carrier drops it silently — no error, and the message is still charged. That is why a template here is a frozen format with named variables rather than text you edit at send time, and why an approved template's body cannot be changed. Changing it means registering a new one.

Do you honour DND?

For promotional traffic, yes — those contacts are skipped and not charged. Transactional messages like OTPs are sent regardless, which is what the regulation requires: suppressing a one-time code would break the thing the recipient asked for.

What happens when I run out of volume?

You keep sending, up to an overage allowance, at the same price per part. The overage is billed on your next renewal rather than taken immediately. Past the allowance, sending stops rather than running up an open-ended bill.

Can I send internationally?

No. We send to +91 mobile numbers only. International routes have their own registration regime, their own pricing and their own compliance story, and offering them on this one would be pretending otherwise.

What this is not for

  • India only — we send to +91 mobile numbers and nowhere else.
  • A DLT-registered business. Sole traders can register; an unregistered sender cannot send at all.
  • Registered templates only. There is no free-text send, because a carrier would drop it.
  • No voice, no WhatsApp, no email. This is SMS.

Start with your DLT entity ID

Add it, register a sender ID and your first template, and send. If you have not registered with an operator yet, start here.