Export VIP user messages to CSV
Export all VIP user messages in a window to a CSV uploaded to Storage, and return `{ totalCount, csvUrl }`. Same VIP-workspace gate, optional `label` / `contentType` filters, and 31-day cap as the list route — it returns every matching row rather than a capped page. `workspaceId`, `mediumId`, `from`, and `to` are **required**.
/vip-messages/exportAuthorization
x-api-key x-date x-signature Your API key (the ApiKeys document id).
In: header
Current timestamp in ISO-8601 (must be fresh — within −5s..+60s of server time).
In: header
HMAC-SHA256 of the x-date string keyed by your secret, lowercase hex.
In: header
Query Parameters
The VIP workspace id (from GET /workspaces).
The channel id (from GET /channels).
Window start — ISO date (e.g. 2026-06-01).
Window end — ISO date (a date-only value is inclusive of that whole day).
A built-in label value or a custom AI label id.
Narrow to one entry kind.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/vip-messages/export?workspaceId=string&mediumId=string&from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z"{ "totalCount": 0, "csvUrl": "string"}{ "message": "string"}{ "message": "string"}{ "message": "string"}{ "message": "string"}{ "error": [ { "message": "string", "path": [ "string" ], "type": "string", "context": {} } ]}{ "message": "string"}List workspaces
List the org's workspaces so callers can discover `workspaceId`s. The VIP label/message/user routes are workspace-scoped (those features exist only in VIP workspaces), so this is their discovery entrypoint.
List VIP user messages
VIP user messages in a window, newest first. With `label` set, only messages carrying that built-in label value or custom AI label id (the drill-down behind a label-overview count); without it, every VIP user message in the window. Rows carry the full message `text` plus a `kind` (text | postback | attachment | other) and `source`. Paged with a `before` timestamp cursor (echo `nextCursor` back as `before`). `workspaceId`, `mediumId`, `from`, and `to` are all **required**; the window is capped at 31 days. The workspace must be a VIP workspace and the channel must be connected to it.