Send an SMS, MMS or RCS message
send_messageSend approved SMS, MMS, or RCS messages via Vobiz, with idempotency, scheduling, cost preview, and per-recipient delivery tracking.
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. If your client supports MCP elicitation, the server asks the user to approve directly and this flag is not relied on; otherwise it is your attestation that the user approved. | |
| 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. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | True only when every recipient was handed to the network; false when any recipient was not sent, or when the result is an error. | |
| note | No | What the statuses mean and what to do next. | |
| messages | No | One entry per recipient, in the order given: id, to, status (scheduled, sent, not_sent, unknown), errorCode and errorMessage when not sent. | |
| sent_count | No | Recipients whose message was accepted (status scheduled or sent). | |
| http_statuses | No | HTTP status Vobiz returned for each accepted recipient. | |
| not_sent_count | No | Recipients refused or failed; see their errorCode (e.g. opted_out). |