Get a call
AuthorizationBearer <token>Your API key, 06l_…. For servers only.
call_id*string^call_[0-9a-z]{26}$OK.
application/json- response
id*CallId^call_[0-9a-z]{26}$line_id*LineId^line_[0-9a-z]{26}$direction*string"outbound""inbound"from*stringYour line when outbound. When inbound, the caller as the network gives it: usually E.164, empty when the caller hides the number.
to*PhoneNumberE.164, e.g. +33612345678.
^\+[1-9][0-9]{6,14}$state*stringdialing → ringing → active → ended. Incoming calls start at ringing.
"dialing""ringing""active""ended"end_reason?string"hangup""remote_hangup""no_answer""busy""failed""line_offline"client_ref?ClientRefYour own identifier, 255 bytes at most. Sending the same client_ref twice returns the first result instead of acting twice.
length <= 255created_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.
started_at*TimestampRFC 3339, UTC.
date-timeanswered_at?TimestampRFC 3339, UTC.
date-timeended_at?TimestampRFC 3339, UTC.
date-timeduration_s?integerTalk time, from answered_at to ended_at.
curl -X GET 'https://api.06line.com/v1/calls/string'{ "id": "call_01jbq7e4m2x8k5t1v9r3c6d0yb", "line_id": "line_01jbq5a3x9e2k7m4t6v8r0c1yb", "direction": "outbound", "from": "+33612345678", "to": "+33698765432", "state": "dialing", "created_by": { "type": "user", "id": "usr_01jbq3m5k7x9t1v3r5c7d9e1fb" }, "started_at": "2026-10-21T15:12:03Z"}Hang up a call POST
Ends the call, or declines it while it rings. Hanging up an ended call is not an error; it returns the call as it is.
List calls GET
Placed and received calls of your company, newest first. Same filters and paging as `GET /v1/sms`. An ephemeral key restricted to a line lists the calls of that line only.