06 Line
API

Place a call

Dials `to` from one of your lines. The audio goes through the WebRTC session given in `session_id`, whose data channel then reports `call.state` events. One call at a time per line and per session.

POST
/v1/calls

Dials to from one of your lines. The audio goes through the WebRTC session given in session_id, whose data channel then reports call.state events. One call at a time per line and per session.

Authorization

headerAuthorizationBearer <token>

Your API key, 06l_…. For servers only.

Request Body

application/json
  1. body
line_id*LineId
Match^line_[0-9a-z]{26}$
to*PhoneNumber

E.164, e.g. +33612345678.

Match^\+[1-9][0-9]{6,14}$
session_id*SessionId

A WebRTC session, from POST /v1/webrtc/sessions.

Match^rtc_[0-9a-z]{26}$
client_ref?ClientRef

Your own identifier. Sending the same client_ref twice returns the first result instead of acting twice.

Lengthlength <= 255

Response Body

Already placed with this client_ref; the first call is returned.

application/json
  1. response
id*CallId
Match^call_[0-9a-z]{26}$
line_id*LineId
Match^line_[0-9a-z]{26}$
direction*string
Value in"outbound""inbound"
from*PhoneNumber

E.164, e.g. +33612345678.

Match^\+[1-9][0-9]{6,14}$
to*PhoneNumber

E.164, e.g. +33612345678.

Match^\+[1-9][0-9]{6,14}$
state*string

dialing → ringing → active → ended. Incoming calls start at ringing.

Value in"dialing""ringing""active""ended"
end_reason?string
Value in"hangup""remote_hangup""no_answer""busy""failed""line_offline"
client_ref?ClientRef

Your own identifier. Sending the same client_ref twice returns the first result instead of acting twice.

Lengthlength <= 255
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.

started_at*Timestamp

RFC 3339, UTC.

Formatdate-time
answered_at?Timestamp

RFC 3339, UTC.

Formatdate-time
ended_at?Timestamp

RFC 3339, UTC.

Formatdate-time
duration_s?integer

Talk time, from answered_at to ended_at.

Example Request
curl -X POST 'https://api.06line.com/v1/calls' \  -H 'Content-Type: application/json' \  -d '{  "line_id": "line_01jbq5a3x9e2k7m4t6v8r0c1yb",  "to": "+33698765432",  "session_id": "rtc_01jbq9h7r3m5x1k8t2v6c4d0ya"}'
Example Response
{  "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"}