Documentation
Sign inGet started

SMS log

The SMS log, the Messages page in the Bird dashboard, is your workspace's record of every message it has sent: every send made through POST /v1/sms/messages lands here, newest first. Use it to confirm a message went out, see where it is in the delivery lifecycle, and read its segment count, cost, and carrier detail. It is the per-message companion to the aggregate Metrics page: Metrics tells you the rates across everything you send, the SMS log lets you drill into a single message. The page also carries the Send SMS button for one-off sends from the dashboard. For a tour of where this page sits, see the dashboard tour.
The SMS Messages page in the Bird dashboard: a table of sent messages with status (Delivered, Undelivered), sender, recipient, message text, a category badge (AUTH, TXN, MKTG, SVC), and sent time, above a recipient search box and status and date filters

The message list

Each row is one message. The columns are:
ColumnWhat it shows
StatusThe message's current delivery status (see Statuses), shown as a color-coded indicator
FromThe sender: the number, sender ID, or short code the message was sent from
ToThe recipient's number
MessageThe start of the message body (click it, or anywhere on the row, to open the message)
CategoryThe message category, shown as a short badge (TXN, MKTG, AUTH, SVC)
SentWhen the send was accepted, as a relative time (hover for the exact timestamp)
The list is paginated, 25 messages per page; use Prev and Next to move between pages.

Searching and filtering

A message log fills up fast, so the page leads with a recipient search and four filters. They combine: a status filter plus a date range narrows to messages matching both.
Search by recipient. The search box matches an exact recipient number in E.164 format. Type the full number you sent to (e.g. +31612345678) to find every message addressed to it; it is not a substring search.
Status. Filter to one or more delivery statuses. Status is multi-select, so you can, say, show everything that didn't arrive by selecting Undelivered, Failed, and Expired together. The options are the statuses listed in Statuses.
Category. Filter by message category: Transactional, Marketing, Authentication, or Service.
Direction. Filter by Outbound or Inbound. Bird SMS is outbound-only today, so every message is Outbound; the Inbound option applies once receiving is available.
Date. Filter by when the message was sent; pick a preset or choose a custom range from the calendar.
When a filter combination matches nothing, the page shows a no-results state with a Clear filters action to reset back to the full list.

Statuses

A message's status is where it currently sits in the delivery lifecycle. A message walks from accepted toward a terminal receipt.
StatusMeaning
AcceptedBird admitted the message and is preparing to hand it to a carrier
SentHanded to the carrier; awaiting a delivery receipt
DeliveredThe carrier confirmed delivery to the handset
UndeliveredA non-permanent non-delivery: the handset was off, unreachable, or the content was blocked
FailedA permanent failure; the message will not be delivered
RejectedThe message was refused (a policy check, a failed charge, or a carrier that turned it away)
ExpiredThe message's validity window elapsed before a terminal receipt arrived
ScheduledQueued to send at a future time; applies once send-later scheduling is available
CanceledA scheduled message canceled before sending; applies once scheduling is available
ReceivedAn inbound message; applies once receiving is available
The indicator is color-coded: green for delivered and received, blue for in-flight (Accepted, Sent, Scheduled), a warning color for Undelivered and Expired, and a destructive color for Failed, Rejected, and Canceled.

Inspecting a message

Click any row to open the message in a side panel. It has two tabs, Events and Details, and its header shows the message body, the current status, the recipient, and the category. While a message is still in flight, the panel refreshes itself every few seconds, so a status change or a delivery receipt appears without a manual reload.
The SMS message detail sheet in the Bird dashboard: the Events tab showing the per-message lifecycle timeline (Accepted, Sent after 221 ms, and Delivered after 2.6 s on carrier EE) over the dimmed message list

Events

The default tab is a timeline of everything that happened to the message, in order, each with its timestamp. This is the same event stream described in the SMS events, rendered for one message: Accepted, then Sent, then Delivered, or a failure event (Undelivered, Failed, Rejected, Expired). Delivery events show the carrier and MCC/MNC (the mobile network) they were confirmed on; failure events carry their error description inline (the error code is on the Details tab), so a failed message tells you why on its own timeline.

Details

The Details tab is the message's metadata:
  • Message ID, Direction, From, To, and Category
  • Segments: the billable segment count, the encoding (GSM_7BIT or UCS2), and the character count (see segments and encoding)
  • Cost: the amount and currency, once the message has been priced
  • Carrier and MCC/MNC: the delivering network, when known
  • Validity period: the window the message stays valid for delivery, in seconds
  • Sent, Handed to carrier, and Delivered timestamps
  • Error: the description and code, on a message that didn't arrive
  • Any Tags and Metadata you set on the send
Most fields can be copied with one click.

The same log over the API

The list behind this page is GET /v1/sms/messages, whose filters (status, category, tag, an exact recipient, a time window) cover the same searches the page offers. The per-message timeline the Events tab renders is not part of the public API today; to reconcile programmatically, read a message with GET /v1/sms/messages/{message_id}, whose status, sent_at, delivered_at, and last_error fields reflect the latest event, or consume webhook events as they happen.

Next steps

  • SMS metrics: aggregate delivery, failure, segment, and spend numbers across everything you send
  • SMS events: the full event vocabulary the timeline is built from
  • Sending SMS: the send payload, including categories, tags, and metadata