Skip to main content
List Chats
Cursor pagination. Pass the response’s next_cursor back as ?cursor= for the next page; has_more is false on the last page. Cursors are opaque - don’t parse them.
transcript is null in list items unless you pass include=transcript.
Use ?origin=widget to see only real end-user conversations from your embedded widget, excluding chat tests run from the Vocily dashboard.

Authorizations

Authorization
string
header
required

Your API key as a Bearer token, e.g. Authorization: Bearer vk_….

Query Parameters

agent_id
string | null

Filter by agent id

status
string | null

Filter by status

origin
string | null

Filter by who started it — comma-list of: widget | dashboard. Use it to exclude your own dashboard chat tests, e.g. ?origin=widget. Rows with an unknown origin are excluded when this is set.

date_from
string<date-time> | null

started_at >= this datetime

date_to
string<date-time> | null

started_at <= this datetime

cursor
string | null

Opaque cursor from a previous response's next_cursor

include
string | null

Comma-list of heavy fields to include. Currently: transcript

limit
integer
default:20

Maximum records to return in one page.

Required range: 1 <= x <= 100

Response

Successful Response

Envelope for GET /v1/chats. Same cursor contract as GET /v1/calls, so one paging loop reads both.

data
PublicChatRead · object[]
required

The page of chats.

has_more
boolean
required

Whether another page exists.

next_cursor
string | null
required

Pass as cursor to fetch the next page. null on the last page.