DocumentationAnalytics API
Analytics API
Aggregated open, click and bounce metrics over the REST API.
The analytics endpoints return aggregated send metrics for your tenant. They use the dashboard JWT session (tenant-scoped) — they are not exposed through API-key scopes.
All endpoints accept an optional ?days parameter (default 30, capped at 90) and exclude logs removed by retention.
Summary
GET /analytics/summary?days=30
Returns totals and rates over the period:
{
"period": { "days": 30, "since": "...", "until": "..." },
"totals": { "total": 0, "sent": 0, "opened": 0, "clicked": 0, "bounced": 0, "complained": 0, "failed": 0 },
"rates": { "openRate": 0, "clickRate": 0, "bounceRate": 0, "complaintRate": 0 }
}
sent counts SENT + DELIVERED; rates are percentages rounded to one decimal.
Daily time series
GET /analytics/daily?days=30
Returns one zero-filled bucket per day, for charts:
{ "days": 30, "daily": [{ "date": "2026-07-01", "sent": 0, "opened": 0, "clicked": 0, "bounced": 0 }] }
Top templates
GET /analytics/top-templates?days=30
Returns the top 10 templates by send volume:
{ "top": [{ "id": "...", "name": "...", "subject": "...", "sent": 0, "opened": 0, "clicked": 0 }] }
See Email statuses for what each counter means.