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.
/vip-usersAuthorization
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.
Max users per page.
Number of users to skip (for pagination).
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/vip-users?workspaceId=string&mediumId=string"{ "items": [ { "conversationId": "string", "userName": "string", "firstName": "string", "lastName": "string", "cuid": "string", "profilePic": "string", "birthday": "string", "lastPurchaseTimestamp": 0, "lastUserMessageTimestamp": 0, "lastAppOpenTimestamp": 0 } ], "returned": 0, "total": 0, "mayHaveMore": true, "nextOffset": 0, "scanCapped": true}{ "message": "string"}{ "message": "string"}{ "message": "string"}{ "message": "string"}{ "error": [ { "message": "string", "path": [ "string" ], "type": "string", "context": {} } ]}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**.
AI conversation-label overview
Per-day (or per-week) counts of AI conversation labels across one VIP workspace's conversations on one channel. The date axis is when the labeled user message was sent; `count` is labeled user messages, `uniqueConversations` is distinct conversations. An `activity` baseline (all user messages) lets label counts be read as rates. Buckets are UTC; the window is capped at 31 days. `workspaceId`, `mediumId`, `from`, and `to` are all **required**.