06 Line
API

List calls

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.

GET
/v1/calls

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.

Authorization

headerAuthorizationBearer <token>

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

Query Parameters

line_id?string

Only this line.

Match^line_[0-9a-z]{26}$
peer?string

Only exchanges with this party (a number in E.164, or a sender name), for the history with one contact.

Match^(\+[1-9][0-9]{6,14}|[A-Za-z0-9 .&'_-]{1,11})$
before?string

Cursor from the previous page (next_cursor).

limit?integer

From 1 to 100; anything else answers 400 invalid_request with param limit.

Range1 <= value <= 100
Default50

Response Body

OK.

application/json
  1. response
calls*array<>
next_cursor*|

Null on the last page.

Example Request
curl -X GET 'https://api.06line.com/v1/calls'
Example Response
{  "calls": [    {      "id": "call_01jbq7e4m2x8k5t1v9r3c6d0yb",      "line_id": "line_01jbq5a3x9e2k7m4t6v8r0c1yb",      "direction": "outbound",      "from": "+33612345678",      "to": "+33698765432",      "state": "ended",      "end_reason": "remote_hangup",      "created_by": {        "type": "user",        "id": "usr_01jbq3m5k7x9t1v3r5c7d9e1fb"      },      "started_at": "2026-10-21T15:12:03Z",      "answered_at": "2026-10-21T15:12:11Z",      "ended_at": "2026-10-21T15:16:40Z",      "duration_s": 269    }  ],  "next_cursor": null}