Skip to content

Send an SMS to one or more recipients.

POST  /api/v1/sms/send  · Permission: sms.send

Terminal window
curl -X POST https://restlink23telecom.com/api/v1/sms/send \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": [
"+14155551234",
"+447911123456"
],
"message": "Your verification code is 847291",
"sender_id": "MyApp"
}'
FieldTypeRequiredDescription
tostring[]Yes1 to 100 phone numbers in E.164 format
messagestringYesMessage text — encoding is detected automatically
sender_idstringYesAlphanumeric sender ID (max 11 chars) or phone number
200 OK
{
"status": true,
"messages": [
{"dnis": "+14155551234", "message_id": "api_42_1743667200123456789_a3f8b2c1d9e45f67", "segment_num": 1},
{"dnis": "+447911123456", "message_id": "api_42_1743667200123456789_b7c4e8f1a2d3690b", "segment_num": 1}
],
"results": [
{"dnis": "+14155551234", "message_id": "api_42_1743667200123456789_a3f8b2c1d9e45f67", "segments": 1, "status": "accepted"},
{"dnis": "+447911123456", "message_id": "api_42_1743667200123456789_b7c4e8f1a2d3690b", "segments": 1, "status": "accepted"}
],
"summary": {
"total_recipients": 2,
"total_segments": 2,
"total_cost": 0.02,
"encoding": "GSM-7",
"accepted_count": 2,
"blocked_count": 0,
"queue_error_count": 0,
"config_error_count": 0,
"db_error_count": 0
}
}
FieldDescription
messagesAccepted messages only (backward-compatible array)
resultsAll recipients with their individual status
summaryTotals: accepted, blocked, errors, cost, detected encoding
results[].statusMeaning
acceptedQueued for delivery
blocked_countryRecipient’s country is in your blocked list
queue_errorInternal queue failure
config_errorSMS sending not configured on the account
HTTPCodeDescription
400INVALID_BODYCannot parse request body
400INVALID_TOMissing or empty to array
400INVALID_MESSAGEMissing or empty message
400INVALID_SENDERMissing or empty sender_id
400TOO_MANY_RECIPIENTSOver 100 recipients
402INSUFFICIENT_BALANCEBalance too low — response includes balance, estimated_cost, currency, total_recipients, billable_recipients, segments
403NO_SMS_ACCESSSMS not enabled on your account
403CONFIG_ERRORSMS credentials incomplete — contact support
403WORKSPACE_NOT_AVAILABLETarget workspace was deleted — use a live workspace
500DB_ERRORCould not queue (atomic rollback) — retry the whole request

The send response confirms acceptance, not delivery. To learn whether the message reached the handset: