List conversations

GET
/v1/conversations

Returns the conversations in your workspace, most recently active first. Filter by channel, sender or controller — for example controller=human lists the conversations waiting for a person.

Requires an API key with the messages:read scope.

Authorization

apiKey
headerAuthorizationBearer <token>

A secret API key from the dashboard (Developers → API keys): vl_live_…, or vl_test_… for test mode. Each operation says which scope the key needs.

Query Parameters

channel?string

Only conversations on this channel.

Length1 <= length <= 64
bindingId?string

Only conversations on this sender (a connected WhatsApp, Telegram or Discord account).

Formatuuid
controller?string

Only conversations answered by agent, api (your code) or human.

Value in"agent""api""human"
updatedAfter?string

Only conversations with activity after this time (ISO 8601).

Formatdate-time
cursor?string

The previous page's nextCursor.

Length1 <= length <= 256
limit?integer

How many items to return, 1–100. Default 50.

Range1 <= value <= 100

Response Body

A page of conversations

application/json
  1. response
conversations*array<>
nextCursor*string|null
Example Request
curl "https://api.vlayers.ai/v1/conversations?controller=human&limit=20" \  -H "Authorization: Bearer $VOICELAYER_API_KEY"
Example Response
{  "conversations": [    {      "id": "0192f5b0-7c3e-7a51-9b2d-4e8f1a6c3d21",      "channel": "sms",      "lineId": "0192f5a8-1a2b-7c3d-8e4f-5a6b7c8d9e01",      "bindingId": null,      "peer": {        "address": "+15550123"      },      "controller": "api",      "status": "open",      "openedAt": "2026-10-20T15:04:05.000Z",      "lastActivityAt": "2026-10-20T15:04:05.000Z",      "test": true    }  ],  "nextCursor": null}