List conversations
GET
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.
apiKeyheader
AuthorizationBearer <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.
channel?stringOnly conversations on this channel.
Length
1 <= length <= 64bindingId?stringOnly conversations on this sender (a connected WhatsApp, Telegram or Discord account).
Format
uuidcontroller?stringOnly conversations answered by agent, api (your code) or human.
Value in
"agent""api""human"updatedAfter?stringOnly conversations with activity after this time (ISO 8601).
Format
date-timecursor?stringThe previous page's nextCursor.
Length
1 <= length <= 256limit?integerHow many items to return, 1–100. Default 50.
Range
1 <= value <= 100A page of conversations
application/json- response
conversations*array<>nextCursor*string|nullcurl "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}