Skip to content

SMS API

Send and receive SMS with one API call

POST to /sms and your message is on its way to 220+ countries. Delivery receipts and replies come back as webhooks, the sender carries your name, and it all runs on the same platform — and the same numbers — as your calls.

What your customer sees

+1 555 123 0000Long virtual number — two-way

Your appointment is confirmed for tomorrow at 2:30 PM. Reply YES to confirm.

2:30 PM

YES

2:31 PM

What your backend receives

  • v2.sms.outbound.updated

    status: delivered

  • v2.sms.inbound.received

    body: “YES”

POST /sms · 202

Both directions

Send and receive — same API

One endpoint sends, dedicated numbers receive — and every event lands in your backend as a webhook.

Outbound — POST /sms

A recipient in E.164 format, your text, an optional branded sender. Callr detects the encoding, hands the message to the carrier, and reports every status change back until it’s delivered.

Inbound — on your numbers

Receive replies and inbound messages on dedicated virtual numbers. Each one fires a webhook to your backend the moment it arrives — ready to parse, route, or answer.

Why send with Callr

One API, every message

SMS on Callr rides the same carrier network, the same numbers, and the same API as your voice traffic — with delivery you can actually see.

220+ countries, one integration

Send transactional and marketing SMS worldwide from the same API and numbers as your calls — no second provider to wire in.

Your name as the sender

For one-way messages, swap the anonymous number for an alphanumeric sender ID of up to 11 characters, where local regulations allow it — replies happen on your virtual numbers.

Delivery receipts in real time

Follow every message from created to delivered — each carrier status change is pushed to your backend as a webhook, failures included.

Any language, any alphabet

GSM and Unicode encodings are detected automatically, and long messages are split and reassembled transparently — emoji included.

Use cases

Where SMS does the work

SMS is the channel for messages that must be seen — and answered — within minutes.

Reminders & confirmations

Appointment reminders, booking confirmations, delivery updates — sent at the right moment and confirmed with a single reply.

Alerts & notifications

Incidents, security warnings, operational alerts — declared as alerting traffic so carriers route them as such.

Marketing campaigns

Promotions and product news to opted-in lists, with per-message delivery statuses to measure exactly what landed.

Two-way conversations

Support threads and data capture on virtual numbers — parse replies into structured data to confirm, qualify, or escalate automatically.

Under the hood

Plain REST, no surprises

Everything is an HTTP request or a webhook — if you can POST JSON, you can ship SMS today.

One endpoint to send

POST /sms with a recipient and a text returns 202 and a message ID — search and fetch any message back through the same API.

Status webhooks (DLR)

v2.sms.outbound.updated follows each message through created, sent, and delivered — with error, failed, and expired called out explicitly.

Flexible sender ID

Send from a phone number or an approved alphanumeric sender — or leave it empty and Callr picks the right default per destination.

GSM & Unicode, multipart

Encoding is detected per message; long texts split into parts of 153 (GSM) or 67 (Unicode) characters, up to 3,200 characters per message.

Marketing & alerting traffic

Every message declares its traffic type — marketing or alerting — the classification carriers require for compliant routing.

SMS inside call flows

Callr Actions scenarios send SMS mid-call — a confirmation after an IVR choice, a link while callers wait — without extra code.

Endpoints, webhook payloads, and code examples live in the docs. Read the docs →

Ship your first SMS today

Start free and send a message in minutes — or read the docs for endpoints and payloads.

Book a demoGet started for free