Skip to main content
POST
Send a single SMS message through your sending list. The message is queued for delivery and assigned an opaque, variable-length message identifier for tracking.

Body Parameters

string
required
Recipient phone number in E.164 format (e.g. +14155551234).
string
required
Sending list phone number in E.164 format. Must belong to your account.
string
required
Message body text. Use the {{messageId}} placeholder to insert the unique message ID into the body at send time.
Intended to auto-shorten URLs in the message body for click tracking, but this is not currently active — raw URLs are sent unshortened. For click-tracked links, create the link via the Shorten Link endpoint and put the returned short URL in your body.
object
Optional per-contact data for macro substitution. Supports first_name (string), last_name (string), custom_fields (object), and timezone (string). These values are used to populate template variables like {{first_name}} in the message body.
object
Optional key-value metadata dictionary. Currently accepted but not stored or returned — the endpoint reads this field and then discards it, so it cannot yet be used to correlate messages with your own systems.

Response Fields

boolean
Whether the message was successfully queued.
string
An opaque, variable-length message identifier for tracking delivery and clicks.
string
Current message status. Will be "queued" on successful submission.

Examples

Error Codes

Authenticated requests can also fail with 401 invalid_credentials, 403 account_suspended, or 429 rate_limited — see Error Codes.

Next Steps

Campaign Execution

How messages flow from queue to delivery

Create Contact

Add contacts before sending