The reports section in your account now shows the complete state of every message, not just daily totals. It is the information you need when a customer calls and says "I never received anything".
What you see for each message
- the final status, with the exact time the carrier confirmed it;
- how many parts the message was split into, and the resulting cost;
- the sender used and the recipient, with the number partially masked;
- the failure reason, when delivery did not succeed;
- the history of callbacks sent to your application, with the response code received.
That last point resolves a whole class of integration problems: if your endpoint returned an error or timed out, you see it directly, without digging through your own logs.
Filtering on what matters
You can filter by time range, status, sender and message type. The combination that proves useful in practice is "failed, last 24 hours, grouped by reason" — it shows immediately whether you have an isolated problem or a systematic one.
Why we built it
Diagnosing a failed delivery previously meant either an API call per message or a message to support. Both work, neither is fast in the middle of an incident.
The data was already there. Now it is visible too.
What comes next
We are working on exports for large ranges and configurable alerts on sudden drops in delivery rate, so you learn about a routing problem before your customers do.