API
sms.status
An SMS you sent moved to `sent`, `delivered` or `failed`.
An SMS you sent moved to sent, delivered or failed.
06line-Signature*stringt=<unix seconds>,v1=<hex HMAC-SHA256 of "t.body" with your endpoint secret>. Reject events older than 5 minutes.
application/json- body
id*stringUnique; the same event may arrive twice, skip it by id.
Match
^evt_[0-9a-z]{26}$type*stringValue in
"sms.received""sms.status""call.recorded""webhook.test"created_at*TimestampRFC 3339, UTC.
Format
date-timedata*Any 2xx within 10 seconds acknowledges the event. Anything else is retried for 24 hours.
Example Requests
POST/sms.status
application/json
{ "id": "evt_01jbq8m2c6v0k4t8x2r6d0e4yb", "type": "sms.status", "created_at": "2026-10-21T14:03:19Z", "data": { "id": "sms_01jbq6c2v8d4n1k5r7t9x3e6za", "line_id": "line_01jbq5a3x9e2k7m4t6v8r0c1yb", "direction": "outbound", "from": "+33612345678", "to": "+33698765432", "text": "Your appointment is confirmed for tomorrow at 10:00.", "encoding": "gsm7", "segments": 1, "status": "delivered", "client_ref": "order-4821-confirmation", "incomplete": false, "created_by": { "type": "api_key", "id": "key_01jbq4fz0c8w2n5r7t9y1b3d6f" }, "created_at": "2026-10-21T14:03:11Z", "sent_at": "2026-10-21T14:03:12Z", "delivered_at": "2026-10-21T14:03:19Z" }}{ "06line-Signature": "t=1792606542,v1=5f1c0e3d8a..."}