Send an SMS, MMS or RCS message
send_messageSends SMS, MMS, or RCS messages via Vobiz; confirm the exact sender, recipients, and text, then preview cost and schedule or send with idempotency.
Instructions
Send a real SMS, MMS or RCS message through Vobiz (POST /api/v1/sms/messages). Each recipient becomes its own message and is billed. Required: from, to, idempotency_key, and confirm: true after the user approved the exact sender, recipients and text. For sms/mms, from is one of your Vobiz messaging numbers (see list_messaging_numbers); for rcs it is your RCS sender name. Use preview_message_cost first to show the price and segment count. Opted-out recipients are refused by Vobiz (opted_out). status scheduled = held until scheduled_at; sent = handed to the network; delivery receipts update it to delivered or failed (check get_message). Repeating an idempotency_key never sends twice.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient numbers in E.164, e.g. ['+14155550123']. Capped by VOBIZ_MAX_RECIPIENTS_PER_SEND. | |
| tag | No | Your label, stored on every message; filter list_messages by it. | |
| from | Yes | Sender: an E.164 Vobiz messaging number (sms/mms), or your RCS sender name (rcs). | |
| text | No | Message body. Required for sms and rcs. Long SMS are split into billed segments. | |
| title | No | MMS subject line. | |
| channel | No | sms (default), mms or rcs. | |
| confirm | Yes | Must be true, set only after the user explicitly approved this send. | |
| media_urls | No | Public https media URLs (MMS up to 10; RCS sends the first). | |
| scheduled_at | No | Send later at this RFC 3339 time, e.g. 2026-11-01T09:00:00Z. | |
| dlt_entity_id | No | India TRAI DLT Principal Entity ID. | |
| dlt_header_id | No | India TRAI DLT sender header ID. | |
| dlt_template_id | No | India TRAI DLT content template ID; text must match it. | |
| failover_to_sms | No | RCS only: send the text as SMS if RCS cannot be delivered. | |
| idempotency_key | Yes | Unique key for this intended operation (e.g. a UUID). Repeating it replays the first result instead of acting again. |