Skip to navigation

Message status callback

View as MarkdownOpen in Claude

Payload sent by SignalWire to the status_callback URL each time a message transitions to a new state. The same payload shape is used for Relay SDK message callbacks, SWML send_sms status callbacks, and SWML messaging reply.status_url callbacks.

Configure status_callback when sending a message.

Status callbacks are advisory, best-effort notifications — delivery can be delayed or fail silently, so don’t gate time-critical actions on receiving one. See Status callback reliability.

Payload

The payload of this webhook request is an object.
idstringRequiredformat: "uuid"
The unique ID of the message segment.
project_idstringRequiredformat: "uuid"
The ID of the project the message belongs to.
statusenumRequired
The current delivery state of the message.
tostringRequired
The destination phone number.
fromstringRequired
The source phone number.
bodystringRequired
The message body text.
number_of_segmentsintegerRequired
Number of segments the message body was split into for delivery.
timestampdatetimeRequired
Timestamp of the status transition.
error_codestring or nullRequired

Provider-specific error code if delivery failed. Null when no error occurred.

error_messagestring or nullRequired

Human-readable error message if delivery failed. Null when no error occurred.

custom_variablesobjectOptional

The same custom_variables key/value pairs you supplied when sending the message, echoed back so you can match this callback to a record in your own system. Included only when the message was sent with custom variables.

Response

200
Webhook received