Send an outbound SMS message

View as Markdown
**Tip: Due to legal requirements, contact us to approve your outbound sender identity.** Send one outbound SMS synchronously to the configured provider. Outbound SMS destinations are limited to Israel (`+972`). A `202` response confirms that the provider accepted the message into its queue. It does not confirm carrier handoff or recipient delivery. Track message progress through these webhooks: - `message.queued`: The provider accepted the message into its queue. - `message.sent`: The provider reported that it sent the message onward. This intermediate event might be omitted. - `message.delivery_status`: Recipient delivery succeeded, failed conclusively, or remained unknown when monitoring ended. See [Message lifecycle events](/api/messages#lifecycle-events) for complete payload schemas and examples.

Authentication

AuthorizationBearer
Application auth. Send `Authorization: Bearer <app_uuid>:<api_key>` using any active key in the app's collection. See [Authentication](https://voice-platform.docs.buildwithfern.com/api/authentication) for details.

Headers

Idempotency-KeystringRequiredformat: "^[A-Za-z0-9._-]{1,128}$"

Request

This endpoint expects an object.
channelenumRequired
Allowed values:
contentobjectRequired
fromstringRequired
tostringRequiredformat: "^\+[1-9]\d{1,14}$"

Message destination in canonical E.164 format. Only Israeli destinations (+972) are supported.

Response

The provider accepted the SMS into its queue.
channelenum
created_atdatetime
delivery_statusenum

Platform knowledge of recipient delivery. pending means the monitoring window remains open without a conclusive outcome.

directionenum
message_uuidstringformat: "^msg_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
sending_statusenum

Latest confirmed outbound sending milestone. queued means the provider accepted the message into its queue.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
409
Conflict Error
413
Content Too Large Error
415
Unsupported Media Type Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error