Dynamo Developer DocsDynamo Developer Docs
External APIVip messages

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.

GET/vip-messages

Authorization

x-api-key x-date x-signature
x-api-key<token>

Your API key (the ApiKeys document id).

In: header

x-date<token>

Current timestamp in ISO-8601 (must be fresh — within −5s..+60s of server time).

In: header

x-signature<token>

HMAC-SHA256 of the x-date string keyed by your secret, lowercase hex.

In: header

Query Parameters

workspaceId*string

The VIP workspace id (from GET /workspaces).

mediumId*string

The channel id (from GET /channels).

from*string

Window start — ISO date (e.g. 2026-06-01).

to*string

Window end — ISO date (a date-only value is inclusive of that whole day).

label?string

A built-in label value (e.g. frustrated) or a custom AI label id.

contentType?string

Narrow to one entry kind.

limit?integer

Max messages per page.

before?integer

Opaque page cursor — a previous response's nextCursor (an epoch-ms timestamp).

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/vip-messages?workspaceId=string&mediumId=string&from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z"
{  "items": [    {      "timestamp": 0,      "date": "2019-08-24T14:15:22Z",      "conversationId": "string",      "userName": "string",      "kind": "text",      "source": "string",      "labels": [        "string"      ],      "customLabelIds": [        "string"      ],      "text": "string"    }  ],  "returned": 0,  "mayHaveMore": true,  "nextCursor": "string"}
{  "message": "string"}
{  "message": "string"}
{  "message": "string"}
{  "message": "string"}
{  "error": [    {      "message": "string",      "path": [        "string"      ],      "type": "string",      "context": {}    }  ]}