API
sms.received
An SMS arrived on one of your lines, already reassembled if it was long.
An SMS arrived on one of your lines, already reassembled if it was long.
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.received
application/json
{ "id": "evt_01jbq8g6p4z2m8k1t5v3r9c7da", "type": "sms.received", "created_at": "2026-10-21T14:05:42Z", "data": { "id": "sms_01jbq8g6n1x7k3t9v5r2c8d4yb", "line_id": "line_01jbq5a3x9e2k7m4t6v8r0c1yb", "direction": "inbound", "from": "+33698765432", "to": "+33612345678", "text": "OK, see you tomorrow.", "encoding": "gsm7", "segments": 1, "status": "received", "incomplete": false, "created_by": { "type": "agent", "id": "agt_01jbq0a1b2c3d4e5f6g7h8j9k0" }, "created_at": "2026-10-21T14:05:42Z", "received_at": "2026-10-21T14:05:41Z" }}{ "06line-Signature": "t=1792606542,v1=5f1c0e3d8a..."}