Deliverability panel

Outbound delivery health over a window: delivery rate, status counts, and a breakdown of why sends failed. Served by the API's GET /messages/stats, so the aggregation is server-side — accurate over any window, not a client-side sample.

Installation

npx shadcn@latest add @handset/deliverability-panel

Usage

import { DeliverabilityPanel } from "@/components/handset/deliverability-panel";

<DeliverabilityPanel tenantId={tenant.id} start="2026-08-01" />

Reads GET /messages/stats through your proxy. The window defaults to the last 30 days server-side; pass start / end (RFC 3339 or YYYY-MM-DD) to change it. delivery_rate is delivered / (delivered + failed); in-flight messages (sent, pending) are shown but excluded from that ratio. Failure reasons are the API's error_codes.

Props

Props
PropTypeDefaultDescription
tenantIdstring—Scope to one tenant's messages.
start / endstring—Window bounds (RFC 3339 or YYYY-MM-DD). Default: last 30 days.
classNamestring—Merged onto the root card.