Export VIP users to CSV
Export all matched VIP users to a CSV uploaded to Storage, and return `{ totalCount, csvUrl }`. Same VIP-workspace gate + birthday filters as the list route; serializes every matched row rather than a page. `workspaceId` and `mediumId` are **required**.
/vip-users/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).
When true, only users with a known birthday.
Only users whose birthday is in this calendar month.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/vip-users/export?workspaceId=string&mediumId=string"{ "totalCount": 0, "csvUrl": "string"}{ "message": "string"}{ "message": "string"}{ "message": "string"}{ "message": "string"}{ "error": [ { "message": "string", "path": [ "string" ], "type": "string", "context": {} } ]}{ "message": "string"}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.
List VIP users
The VIP users (players marked VIP for the workspace) on one channel, with their profile fields and resolved personal-info (including birthday). Rows are highest-LTV first; paginated via `limit` + `offset` with `total` and `nextOffset`. Optional birthday filters: `hasBirthday=true` and `birthdayMonth=1..12`. `workspaceId` and `mediumId` are **required**; the workspace must be a VIP workspace and the channel connected to it.