Get an SMS
One message, with its current status.
One message, with its current status.
apiKeyAuthorizationBearer <token>Your API key, 06l_…. For servers only.
sms_id*string^sms_[0-9a-z]{26}$OK.
application/json- response
id*SmsId^sms_[0-9a-z]{26}$line_id*LineId^line_[0-9a-z]{26}$direction*string"outbound""inbound"from*PartyYour line when outbound; when inbound, the sender: a number, or a name.
^(\+[1-9][0-9]{6,14}|[A-Za-z0-9 .&'_-]{1,11})$to*PhoneNumberE.164, e.g. +33612345678.
^\+[1-9][0-9]{6,14}$text*stringencoding*string"gsm7""ucs2"segments*integer1 <= value <= 10status*stringOutbound: queued → sent → delivered, or failed. Some networks never confirm delivery: the
message then stays sent. Inbound: always received.
"queued""sent""delivered""failed""received"error?Why a message ended failed.
client_ref?ClientRefYour own identifier, 255 bytes at most. Sending the same client_ref twice returns the first result instead of acting twice.
length <= 255incomplete*booleanInbound only. Some segments never arrived within 10 minutes; missing parts are marked […].
created_by*Who did it. user from the 06 Line dashboard, api_key from your code, agent for what the network sent you, system for 06 Line itself.
created_at*TimestampRFC 3339, UTC.
date-timesent_at?TimestampRFC 3339, UTC.
date-timedelivered_at?TimestampRFC 3339, UTC.
date-timereceived_at?TimestampRFC 3339, UTC.
date-timecurl -X GET 'https://api.06line.com/v1/sms/string'{ "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": "queued", "client_ref": "order-4821-confirmation", "incomplete": false, "created_by": { "type": "api_key", "id": "key_01jbq4fz0c8w2n5r7t9y1b3d6f" }, "created_at": "2026-10-21T14:03:11Z"}List SMS GET
Sent and received messages of your company, newest first. Filter by `line_id`, by `peer` for the history with one contact, or both. Pass `next_cursor` as `before` to get the next page. For your servers: an ephemeral key gets `403`.
sms.received Webhook
An SMS arrived on one of your lines, already reassembled if it was long.