Skip to content
Linq Copy agent prompt

List carrier (BYOC) voice calls for a phone number

GET/v3/phone-numbers/{phoneNumber}/call-voice

List the carrier voice calls received on one of your phone numbers, newest first, with cursor pagination. Each record is the durable form of the call_voice.* webhooks for that call; the id is the same id those webhooks carry. Results are scoped to the authenticated partner — a number that isn’t yours (or simply has no calls) returns 200 with an empty call_voice array, not an error.

Path ParametersExpand Collapse
phoneNumber: string
Query ParametersExpand Collapse
cursor: optional string

Pagination cursor from a previous next_cursor response

limit: optional number

Maximum number of calls to return

minimum1
maximum100
ReturnsExpand Collapse
call_voice: array of CallVoiceRecord { id, direction, from, 4 more }

Calls for the phone number, newest first.

id: string

Stable call id, identical to the id in the call_voice.* webhooks.

formatuuid
direction: "inbound"
from: string

External caller, E.164.

status: "completed" or "busy" or "no_answer" or 2 more

Terminal call outcome. Null while the call is still in progress; set once it ends.

One of the following:
"completed"
"busy"
"no_answer"
"failed"
"canceled"
to: string

Your line that was called, E.164.

ended_at: optional string

When the call ended. Null while still in progress.

formatdate-time
started_at: optional string

When the call was answered. Null if it never connected.

formatdate-time
next_cursor: optional string

Cursor for the next page of results. Null when there are no more. Pass this value as the cursor parameter in the next request.

List carrier (BYOC) voice calls for a phone number

curl https://api.linqapp.com/api/partner/v3/phone-numbers/$PHONE_NUMBER/call-voice \
    -H "Authorization: Bearer $LINQ_API_V3_API_KEY"
{
  "call_voice": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "direction": "inbound",
      "from": "+12052532136",
      "status": "completed",
      "to": "+12052535597",
      "ended_at": "2026-03-05T12:05:00Z",
      "started_at": "2026-03-05T12:00:05Z"
    }
  ],
  "next_cursor": "next_cursor"
}
{
  "error": {
    "status": 401,
    "code": 2004,
    "message": "Unauthorized - missing or invalid authentication token",
    "doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/2xxx/2004/"
  },
  "success": false
}
{
  "error": {
    "status": 500,
    "code": 3006,
    "message": "Internal server error",
    "doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/3xxx/3006/"
  },
  "success": false
}
Returns Examples
{
  "call_voice": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "direction": "inbound",
      "from": "+12052532136",
      "status": "completed",
      "to": "+12052535597",
      "ended_at": "2026-03-05T12:05:00Z",
      "started_at": "2026-03-05T12:00:05Z"
    }
  ],
  "next_cursor": "next_cursor"
}
{
  "error": {
    "status": 401,
    "code": 2004,
    "message": "Unauthorized - missing or invalid authentication token",
    "doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/2xxx/2004/"
  },
  "success": false
}
{
  "error": {
    "status": 500,
    "code": 3006,
    "message": "Internal server error",
    "doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/3xxx/3006/"
  },
  "success": false
}