Send a single message

Send a single SMS message to one recipient. The message is validated,
the account balance is checked and reserved, and the message is queued
for delivery via the optimal provider route.

The response is returned immediately with status accepted. Use the
message_id to poll for delivery status, or configure webhooks for
real-time updates.

Idempotency: Pass an X-Idempotency-Key header to prevent duplicate
sends. If the same key is sent again within 24 hours, the original response
is returned without re-processing.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required
^\+[1-9]\d{6,14}$

Recipient phone number in E.164 format

string
required
length between 1 and 15

Sender ID (alphanumeric max 11 chars) or phone number

string
required
length between 1 and 1600

Message content. Max 1600 characters. For SMS, messages longer than
160 chars (GSM-7) or 70 chars (UCS-2) are split into multiple segments.

string
enum
Defaults to normal
  • critical — OTPs, 2FA codes. Fastest routing, provisioned concurrency. Highest cost.
  • high — Order confirmations, alerts. Fast routing.
  • normal — Standard notifications. Default.
  • low — Marketing, bulk. Lowest cost, may be delayed during peak.
Allowed:
string
enum
Defaults to sms

Messaging channel. Phase 1-2 supports sms only.
Future phases add rcs, whatsapp, telegram, viber.

Allowed:
string
enum
Defaults to transactional
  • transactional — Triggered by user action (OTPs, order updates, alerts). Exempt from some quiet hours rules.
  • marketing — Promotional content. Subject to quiet hours, stricter opt-out enforcement.
Allowed:
uri

Override the default webhook URL for this specific message

string
length ≤ 100

Your own reference ID for this message (for reconciliation)

integer
60 to 86400

Seconds before the message expires if undelivered (60–86400)

date-time

Schedule the message for future delivery (ISO 8601 UTC)

Headers
uuid

Unique key (UUID recommended) to ensure the request is processed only once.
If the same key is sent again within 24 hours, the original response is returned.

Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json