Dynamo Developer DocsDynamo Developer Docs
External APIMarketing Messages

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. 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.

get/marketing-messages/{broadcastId}/insights

Beta

The External API is in beta. Endpoints, parameters, and response shapes may change — including breaking changes — in future releases. Pin to documented behavior before relying on it in production.

Authorization

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

Your API key (the ApiKeys document id).

In: header

x-date<token>

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

x-signature<token>

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

In: header

x-api-version<token>

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

broadcastId*string

The marketing message id.

Query Parameters

startDate?string

Send-window start (ISO date/datetime). Only executions whose send date falls in [startDate, endDate] are returned. Must be supplied together with endDate.

endDate?string

Send-window end (ISO date/datetime, inclusive — pass end-of-day for a whole day). Must be supplied together with startDate.

Response Body

application/json

application/json

application/json

application/json

application/json

Try it

read-only

Kept in this tab only and signed in your browser — your secret never leaves your device.

Path

Query

Enter your key and secret to send.

curl -X GET "https://example.com/marketing-messages/AbC123XyZ/insights"
{  "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",  "note": "string",  "lifetime": {    "executions": 0,    "total": 0,    "reachable": 0,    "reached": 0,    "opened": 0,    "clicked": 0,    "reachedRate": 0,    "openRate": 0,    "clickRate": 0  },  "executionsTotal": 0,  "executionsReturned": 0,  "executions": [    {      "executionId": "string",      "sentAt": "string",      "finalized": true,      "progress": 0,      "isSecondaryTarget": true,      "executionCount": 0,      "total": 0,      "reachable": 0,      "reached": 0,      "opened": 0,      "clicked": 0,      "reachedRate": 0,      "openRate": 0,      "clickRate": 0,      "buttons": [        {          "id": "string",          "kind": "button",          "label": "string",          "type": "web_url",          "url": "string",          "trackedUrl": "string",          "clicks": 0        }      ]    }  ],  "window": {    "startDate": "string",    "endDate": "string"  },  "executionsInWindow": 0}
{  "message": "string"}
{  "message": "string"}
{  "message": "string"}
{  "error": [    {      "message": "string",      "path": [        "string"      ],      "type": "string",      "context": {}    }  ]}