API
Get an SMS
One message, with its current status.
GET
One message, with its current status.
apiKeyheader
AuthorizationBearer <token>Your API key, 06l_…. For servers only.
sms_id*stringMatch
^sms_[0-9a-z]{26}$OK.
application/json- response
id*SmsIdMatch
^sms_[0-9a-z]{26}$line_id*LineIdMatch
^line_[0-9a-z]{26}$direction*stringValue in
"outbound""inbound"from*PhoneNumberE.164, e.g. +33612345678.
Match
^\+[1-9][0-9]{6,14}$to*PhoneNumberE.164, e.g. +33612345678.
Match
^\+[1-9][0-9]{6,14}$text*stringencoding*stringValue in
"gsm7""ucs2"segments*integerRange
1 <= value <= 10status*stringOutbound: queued → sent → delivered, or failed. Some networks never confirm delivery: the
message then stays sent. Inbound: always received.
Value in
"queued""sent""delivered""failed""received"error?client_ref?ClientRefYour own identifier. Sending the same client_ref twice returns the first result instead of acting twice.
Length
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.
Format
date-timesent_at?TimestampRFC 3339, UTC.
Format
date-timedelivered_at?TimestampRFC 3339, UTC.
Format
date-timereceived_at?TimestampRFC 3339, UTC.
Format
date-timecurl -X GET 'https://api.06line.com/v1/sms/string'Example Response
{ "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"}