Skip to the documentation
API

Read what became of sent mail

What became of the mail sent, as the Analytics page of the app shows it.

GET/analytics/sending

Runs the real call on your workspace.

GET /analytics/sending

What became of the mail sent, as the Analytics page of the app shows it.

Example

Needs emails:read. The window is days, 30 unless you say otherwise and at most 365, or minutes, which wins, and it starts at the beginning of its oldest bucket. grain cuts it into days, hours or minutes.

curl
curl "$OE/analytics/sending?days=7" -H "$AUTH"
Response
{  "object": "sending_analytics",  "since": "2026-09-26T00:00:00.000Z",  "until": "2026-10-02T09:41:00.000Z",  "grain": "day",  "offsetMinutes": 0,  "totals": {    "sends": 412,    "testSends": 3,    "recipients": 498,    "delivered": 486,    "failed": 1,    "bounced": 8,    "complained": 1,    "uncertain": 0,    "pending": 2  },  "days": [    { "day": "2026-10-01", "sent": 74, "delivered": 72, "failed": 0, "bounced": 2, "complained": 0 }  ],  "statuses": [{ "label": "sent", "count": 409 }],  "sources": [    { "label": "api", "count": 288 },    { "label": "composer", "count": 124 }  ],  "senders": [{ "label": "[email protected]", "count": 412 }],  "suppressed": [{ "label": "bounce", "count": 27 }]}

totals counts what was sent and to how many recipients, and what became of it: delivered, failed, bounced, complained about, uncertain and still pending. days has the same per bucket. statuses, sources and senders count the sends by status, by where they came from and by the address they went out as, and suppressed counts the suppressed addresses by why.

A key or an app limited to particular addresses counts only the mail sent from them, and address narrows it to one address.

Reference