Hear about every message as it happens
Set a callback URL and every delivery, failure and inbound reply lands there as a GET or POST. No polling.
What we send you
Delivered
The message reached the handset, with its final status code.
Failed
The message could not be delivered, with the reason.
Inbound replies
Replies arrive with direction mo, in the same shape as a sent message.
Retries
If your endpoint does not answer 200 OK, delivery is retried. Nothing is silently dropped.
What lands on your server
Each event carries the message ID, the status and the direction.
delivered msgid 9f2a7c10 · status Delivrd
inbound reply received · direction mo
failed msgid 4c81e2 · status Failed
# Respond with 200 OK to acknowledge each event.Read next
Quickstart
Set up your first callback.
API reference
Message and report fields.
Developer docs
The retry policy and more.
Stop polling, start listening
Add a callback URL and see events arrive.
Webhooks — frequently asked questions
Delivery is retried according to the retry policy. Nothing is silently dropped, but an endpoint that never acknowledges keeps receiving retries.
mt is a message you sent; mo is a reply you received. Both use the same message object shape.