Aggregate message delivery metrics with time-series
Returns headline messaging KPIs for the selected date range — total sent, delivered, failed and read, the derived delivery and read rates, and the average delivery time — plus a per-bucket (hour/day/week/month) time-series for charting. Powers the Reports page and the insights delivery-trend graph; filter by channel, status or campaign_id, and pass phone_number_id to scope the WhatsApp Quality tile to a single sending number. Read-only; degrades to zeroed totals and an empty time_series (still 200) during a transient database blip so the continuously-polled page never flashes a 5xx.
Authorizations
Dashboard JWT token from Clerk
Query Parameters
Inclusive start of the reporting window (ISO-8601 date or datetime). Defaults to the last 30 days when omitted; the range may not exceed the platform lookback cap.
Inclusive end of the reporting window (ISO-8601 date or datetime). A single-day range (start_date === end_date) is accepted.
Alternative rolling lookback in whole days (bounded by the lookback cap). Mutually exclusive with an explicit start/end range.
x >= 1Optional single-channel filter (e.g. sms, whatsapp, email, rcs, viber, telegram).
Optional message-status filter (e.g. delivered, failed).
Optional filter to a single campaign's messages.
Time-series bucket granularity.
hour, day, week, month Optional WhatsApp multi-WABA scope — narrows the time-series to outbound rows stamped with this sending phone_number_id.