Send SMS
send_smsSend SMS to any international number via your own textbee account and Android phone, auto-selecting the active device for delivery.
Instructions
Send an SMS through the user's own textbee account and Android phone. Recipients must be in international E.164 format such as +15550100123. The sending phone is chosen automatically: the account default device, otherwise the enabled device with the most recent heartbeat. Only pass device_id when the user explicitly names a phone; ids come from list_devices. Sending costs the user a real message against their textbee plan quota, so do not send speculatively and do not retry a send that may already have gone out. When the account has SMS queueing enabled the result includes an sms_batch_id; pass it to get_messages as sms_batch_id to check per-recipient delivery status.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The SMS body, plain text. Long messages are split into segments by the carrier and each segment counts against the quota; the result reports the segment count. | |
| device_id | No | Which registered phone sends the message. Omit in almost every case and let textbee choose. Pass it only when the user asks for a specific phone. Ids come from list_devices. | |
| recipients | Yes | Phone numbers in international E.164 format including the country code, for example ["+15550100123"]. Each recipient counts as one message. The plan caps how many recipients one send may have; the server rejects the send beyond it. | |
| scheduled_at | No | ISO 8601 timestamp to send later instead of now, for example 2026-09-01T14:30:00Z. Must be in the future, and requires the account's server to have queueing enabled. Omit to send immediately. | |
| sim_subscription_id | No | Which SIM sends on a dual-SIM phone. The server does not validate this: a wrong value is silently ignored and the phone default SIM is used. The id is shown in the textbee Android app. |