Received-message summary
GET
/v1/sms/stats/inbound/summary
const summary = await bird.sms.stats.inbound.summary({ from: "2026-05-01", to: "2026-05-31" });
console.log(summary.received);summary = client.sms.stats.inbound.summary(from_="2026-05-01", to="2026-05-31")
print(summary.received)summary, err := client.Sms.Stats.Inbound.Summary(context.Background(), bird.SmsStatsInboundSummaryParams{
From: "2026-05-01",
To: "2026-05-31",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(*summary.Received)$inbound = $bird->sms->stats->inbound->summary(['from' => '2026-05-01', 'to' => '2026-05-31']);
echo $inbound->getReceived();bird sms stats inbound summarycurl -X GET "https://us1.platform.bird.com/v1/sms/stats/inbound/summary" \
-H "Authorization: Bearer $TOKEN"Returns the total number of messages your numbers received over the period.
The total counts by the time the carrier received each message.
The response carries a count and nothing else. A received message has one state, so there are no delivery rates to derive and no latency to report; the send statistics endpoints cover those for messages you send.
The maximum window is 365 days; a longer range returns 422. Set timezone to resolve the period against your local calendar instead of UTC.
查询参数
from
string
Inclusive start of the window, either a calendar day (YYYY-MM-DD) or an RFC 3339 instant rounded down to the hour. The form you use selects the grain the total is resolved at. Interpreted in timezone, or in UTC when timezone is omitted. Must use the same form as to. A numeric UTC offset (for example +05:45) is rejected when timezone is set; pass a calendar day or a Z instant instead. Defaults to 30 days before to for day windows, or 168 hours before to for hour windows.
to
string
Inclusive end of the window, in the same form as from. Defaults to today, or the current hour for an hour window. A day window may not exceed 365 days and an hour window 720 hours.
timezone
string
IANA timezone identifier (for example Asia/Kathmandu) to report in; defaults to UTC. Day and hour boundaries and the default window when from and to are omitted both follow it, so a calendar-day from or to names a local day. A from or to carrying its own UTC offset is rejected while this is set: pass a calendar day or a Z instant.
compare
string
Set to previous_period to also include the received-message count for the immediately preceding window of equal length, plus the change between the two, so you can show "+X% vs last period" without a second request.
Possible values: previous_period
响应载荷
period
object
必填
The window the server actually computed against. The summary serves two window grains: calendar days (bounds are YYYY-MM-DD) and hours (bounds are RFC 3339 instants on the hour). The grain of from and to mirrors the grain of the request's bounds.
显示子属性
period.from
string
必填
Inclusive start of the window the response covers -- a calendar day (YYYY-MM-DD) for day windows, or an hour boundary (RFC 3339) for hour windows.
period.to
string
必填
Inclusive end of the window the response covers -- a calendar day (YYYY-MM-DD) for day windows, or an hour boundary (RFC 3339) for hour windows.
period.data_as_of
nullable string
The instant the statistics in this response are current to: events recorded up to roughly this time are reflected, while more recent events may not be yet. Statistics are served from a rolling aggregation that refreshes every few seconds, so a response is near-real-time but not live; use this field to label data freshness (for example "as of 14:03") rather than assuming the numbers are to-the-second. Null when the freshness boundary is not being reported.
received
integer
必填
Distinct messages received in the period, counted by the time the carrier received them.
comparison
object
显示子属性
comparison.period
object
必填
The preceding window these comparison figures cover -- the equal-length window ending immediately before the requested start (the prior day for day windows, the prior hour for hour windows).
显示子属性
comparison.period.from
string
必填
Inclusive start of the window the response covers -- a calendar day (YYYY-MM-DD) for day windows, or an hour boundary (RFC 3339) for hour windows.
comparison.period.to
string
必填
Inclusive end of the window the response covers -- a calendar day (YYYY-MM-DD) for day windows, or an hour boundary (RFC 3339) for hour windows.
comparison.period.data_as_of
nullable string
The instant the statistics in this response are current to: events recorded up to roughly this time are reflected, while more recent events may not be yet. Statistics are served from a rolling aggregation that refreshes every few seconds, so a response is near-real-time but not live; use this field to label data freshness (for example "as of 14:03") rather than assuming the numbers are to-the-second. Null when the freshness boundary is not being reported.
comparison.received
integer
必填
Distinct messages received in the preceding period.
comparison.delta
object
必填
显示子属性
comparison.delta.received_pct_change
nullable number
必填
Relative change in received messages versus the previous period, as a signed fraction. Null when the previous period received none.