Webhooks

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.

Events

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.

Example events

What lands on your server

Each event carries the message ID, the status and the direction.

callback events
delivered   msgid 9f2a7c10 · status Delivrd
inbound     reply received · direction mo
failed      msgid 4c81e2   · status Failed

# Respond with 200 OK to acknowledge each event.
Related

Read next

Quickstart

Set up your first callback.

API reference

Message and report fields.

Developer docs

The retry policy and more.

Get Started

Stop polling, start listening

Add a callback URL and see events arrive.

Answers To Your Questions

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.