SMS

Send an SMS/MMS

Sends an SMS (or MMS when mediaUrls is set) from one of your SMS-enabled numbers. At least one of text / mediaUrls is required. Both numbers are normalized to E.164, so from matches regardless of formatting and replies thread into the same inbox conversation.

US numbers must have an approved carrier registration (/v1/sms/registrations) before messages deliver.

Replies and delivery status arrive as webhooks, not by polling: an inbound reply fires message.received with platform: "sms", the first message of a new thread also fires conversation.started, and this message's own outcome fires message.delivered or message.failed (the latter carrying the carrier's error code).

Opted-out recipients: a send to a number that replied STOP is refused with 409, never silently dropped.

Idempotency: send an Idempotency-Key header to make retries safe: same key + same body replays the original response instead of sending a second message; same key + different body returns 422; a key still in flight returns 409.

Billing: Request; paid actions are priced in credits (see GET /v1/messaging/prices) · Rate limit: 60/min

post/v1/messaging/sms/messages

Request

  • Base URL: https://apihub.co.il
  • URL: https://apihub.co.il/v1/messaging/sms/messages
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

Replay-safe: the same execution is returned instead of charging twice

X-Tagstring

Group calls into one job (e.g. one video) — see GET /v1/usage?tag=…

Request body

tostring required

Recipient number (E.164).

fromstring required

One of your SMS-enabled numbers (E.164; formatting is normalized).

textstring

Message body. Required unless mediaUrls is set. Max 10 SMS segments (1530 GSM-7 or 670 unicode characters).

sendAtstring date-time

Optional. Schedule the send for a future time (ISO 8601 with offset, e.g. 2026-08-01T12:00:00Z). Must be in the future. The message is queued and the message.delivered webhook fires when it actually sends.

mediaUrlsstring[]

Public media URLs to attach (sends as MMS). Max 10.

Response

Completed

idstring

Execution id — stable across internal retries; use it with GET /v1/executions/{id}

status'pending' | 'processing' | 'completed' | 'partial' | 'failed' | 'cancelled' | 'timeout'
operationstring
tagstring nullable

Your X-Tag, if sent

created_atstring date-time
completed_atstring date-time nullable
errorstring nullable

Changes

No recorded changes to this operation across all 2 revisions of this API.