Skip to main content

Minimal send

Request parameters

string
required
Recipient phone number in E.164 format (+ followed by 8–15 digits). We auto-detect the country from the dial code. Invalid numbers return phone_invalid.
string
required
Sender ID — alphanumeric, ≤ 11 characters. Must be registered in your project. See Sender IDs.
string
Message body. Required unless template is provided. Max 1600 characters (concatenated SMS auto-splits into segments).
string
Slug or UUID of a registered SMS template. When set, body is ignored and rendered from the template using variables. See Templates.
object
Map of variable → value for template interpolation. Only used when template is set.
string
ISO-3166 alpha-2 code (NG, GH, KE, CI). Optional — we derive it from to by default. Use this to override for hybrid-numbered SIMs.
string (ISO 8601)
Schedule delivery for a future time. The message stays in scheduled state until the scheduled time, then transitions to queued and sends. Max lead time: 30 days.

Response

string
Globally unique message ID. Use this to fetch the message later.
string
One of: queued, scheduled, sent, delivered, failed, rejected, cancelled. New messages start as queued (or scheduled if send_at is in the future).
integer
Number of SMS segments the body occupies. GSM-7 body: 160/153 chars per segment. UCS-2 (emoji, non-Latin): 70/67.
string
GSM7 or UCS2. We detect automatically based on body content.
object
Per-segment cost committed for this send. amount_kobo is the smallest unit of currency (e.g. kobo for NGN, pesewas for GHS).
string
Upstream we initially routed to. The actual winning provider after failover is on GET /v1/sms/:id in provider_attempts.
boolean
true when sent with a rb_test_* key. Test messages never touch real carriers.

With a template

Scheduled send

Cancel a scheduled send before it fires via POST /v1/sms/:id/cancel. After send_at the message status becomes queued and cancellation becomes a no-op (returns conflict).

With idempotency

Always pair sends with an idempotency key from your business data — see Idempotency:

Error cases

Full catalog on Errors.