Get (a single) marketing message metadata
One marketing message's metadata (no insight numbers) **plus** `messages` — its **current** message creative, one entry per variant (most have one). For the per-send delivery funnel, call `GET /marketing-messages/{broadcastId}/insights`.
/marketing-messages/{broadcastId}Beta
Authorization
x-api-key x-date x-signature x-api-version Your API key (the ApiKeys document id).
In: header
Current timestamp as an IMF-fixdate string (GMT, US locale) "EEE, dd MMM yyyy HH:mm:ss z", e.g. "Sun, 06 Dec 2020 12:59:11 GMT". 30-second TTL.
In: header
HMAC-SHA256 of the x-date string keyed by your secret, lowercase hex.
In: header
API version you're coding against — currently 1. Required; a missing or unsupported value returns 400 with Missing or unsupported x-api-version header. Supported versions: 1.
In: header
Path Parameters
The marketing message id.
Response Body
application/json
application/json
application/json
application/json
Try it
read-onlyKept in this tab only and signed in your browser — your secret never leaves your device.
Path
Enter your key and secret to send.
curl -X GET "https://example.com/marketing-messages/AbC123XyZ"{ "id": "string", "name": "string", "type": "SINGLE", "target": "string", "active": true, "isMM": true, "workspaceId": "string", "mediumId": "string", "mediumName": "string", "scheduled": true, "scheduledFor": "string", "frequency": "string", "lastSentAt": "string", "nextSendAt": "string", "lastExecutionId": "string", "metaMessageCampaignName": "string", "createdAt": "string", "messages": [ { "id": "string", "messageType": "REGULAR", "greeting": "string", "title": "string", "subtitle": "string", "imageUrl": "string", "videoUrl": "string", "mediaType": "IMAGE", "videoId": "string", "attachmentId": "string", "couponCode": "string", "couponExpireTime": "string", "offerName": "string", "buttons": [ { "id": "string", "kind": "button", "label": "string", "type": "web_url", "url": "string", "trackedUrl": "string", "clicks": 0, "followUp": { "id": "string", "messageType": "REGULAR", "greeting": "string", "title": "string", "subtitle": "string", "imageUrl": "string", "videoUrl": "string", "mediaType": "IMAGE", "videoId": "string", "attachmentId": "string", "couponCode": "string", "couponExpireTime": "string", "offerName": "string", "buttons": [], "cards": [ { "id": "string", "messageType": "REGULAR", "greeting": "string", "title": "string", "subtitle": "string", "imageUrl": "string", "videoUrl": "string", "mediaType": "IMAGE", "videoId": "string", "attachmentId": "string", "couponCode": "string", "couponExpireTime": "string", "offerName": "string", "buttons": [], "cards": [] } ] } } ], "cards": [ { "id": "string", "messageType": "REGULAR", "greeting": "string", "title": "string", "subtitle": "string", "imageUrl": "string", "videoUrl": "string", "mediaType": "IMAGE", "videoId": "string", "attachmentId": "string", "couponCode": "string", "couponExpireTime": "string", "offerName": "string", "buttons": [ { "id": "string", "kind": "button", "label": "string", "type": "web_url", "url": "string", "trackedUrl": "string", "clicks": 0, "followUp": { "id": "string", "messageType": "REGULAR", "greeting": "string", "title": "string", "subtitle": "string", "imageUrl": "string", "videoUrl": "string", "mediaType": "IMAGE", "videoId": "string", "attachmentId": "string", "couponCode": "string", "couponExpireTime": "string", "offerName": "string", "buttons": [], "cards": [] } } ], "cards": [] } ] } ]}{ "message": "string"}{ "message": "string"}{ "message": "string"}List marketing messages
List Meta (paid) **marketing messages** — metadata only; insight numbers live on the per-message `/insights` endpoint. Newest created first (stable — ties break on id). The optional `startDate`/`endDate` window (both together) matches the date `dateField` selects — send dates by default, or the **next scheduled send** (`dateField=scheduled`) to cover a future range. Page past the `limit` cap with `offset`.
Get (a single) marketing message insights
One marketing message's metadata **plus** per-send delivery insights and a lifetime rollup. Each `executions` entry is one logical send; up to 50 are returned (`executionsReturned`), with `executionsTotal` giving the true count. Also carries the message creative: `messages` is the **current** creative (one entry per variant); each send reports `notificationIndex` — the variant it used — plus `sentMessage`, the creative **exactly as that send went out** (compare it with `messages` to spot later edits) with per-button `clicks` folded in wherever the button sits (top-level, carousel card, or follow-up). Optional `startDate` / `endDate` (both together) window the **returned executions** by send date — without a window, a recurring message returns its newest sends up to the cap, which can miss a historical range entirely. `lifetime` and `executionsTotal` always cover **all** sends; a windowed response adds `window` and `executionsInWindow` so you can detect a truncated window.