Get sending health and deliverability limits
/v1/email/healthconst health = await bird.email.health({ from: "2026-05-01", to: "2026-05-31" });
console.log(health.status);
for (const signal of health.signals) {
console.log(signal.metric, signal.value, signal.status);
}health = client.email.health(from_="2026-05-01", to="2026-05-31")
print(health.status)
for signal in health.signals:
print(signal.metric, signal.value, signal.status)health, err := client.Email.Health(context.Background(), bird.EmailHealthParams{
From: time.Now().AddDate(0, 0, -30),
To: time.Now(),
})
if err != nil {
log.Fatal(err)
}
fmt.Println(*health.Status)
for _, signal := range *health.Signals {
fmt.Println(*signal.Metric, *signal.Status)
}$health = $bird->email->health(['from' => '2026-05-01', 'to' => '2026-05-31']);
echo $health->getStatus(), "\n";
foreach ($health->getSignals() ?? [] as $signal) {
echo $signal->getMetric(), ' ', $signal->getValue(), ' ', $signal->getStatus(), "\n";
}bird email healthcurl -X GET "https://us1.platform.bird.com/v1/email/health" \
-H "Authorization: Bearer $TOKEN"{
"period": {
"data_as_of": null,
"from": "2026-05-25",
"to": "2026-06-01"
},
"status": "watching",
"signals": [
{
"metric": "delivery_rate",
"value": 0.995,
"limit": null,
"status": "healthy",
"thresholds": {
"direction": "below",
"throttled": 0.984,
"watching": 0.99
}
},
{
"metric": "open_rate",
"value": 0.20100503,
"limit": null,
"status": "healthy"
},
{
"metric": "bounce_rate",
"value": 0.005,
"limit": 0.005,
"status": "watching",
"thresholds": {
"direction": "above",
"throttled": 0.006,
"watching": 0.004
}
},
{
"metric": "complaint_rate",
"value": 0.00010050251,
"limit": 0.003,
"status": "healthy",
"thresholds": {
"direction": "above",
"throttled": 0.001,
"watching": 0.0006
}
}
]
}
Returns your workspace's sending-health verdict for the requested window, together with reference deliverability limits and the boundaries used to classify risk. Use it to render a health badge, label the bounce-rate and complaint-rate limits, and draw the risk lines on a deliverability chart without hard-coding thresholds that we may retune.
The overall status is healthy, watching, or throttled, taken as the worst of the delivery-rate, bounce-rate, and complaint-rate signals. It describes deliverability risk and never pauses your sending on its own. For the counts and rates the verdict is derived from, call Get aggregate email statistics over the same window.
Rates follow each event's occurrence time. A bounce or complaint that occurred during the window counts toward it even when the message was sent earlier. When you omit both dates the window ends today (UTC) and starts 7 days earlier. A window longer than 365 days returns 422.
Parámetros de consulta
fromstringStart date (inclusive) in YYYY-MM-DD, UTC. Defaults to 7 days before to when omitted.
tostringEnd date (inclusive) in YYYY-MM-DD, UTC. Defaults to today (UTC) when omitted. Window may not exceed 365 days. Day boundaries are always UTC; unlike the statistics reads, this one takes no timezone.
Carga de respuesta
periodThe date range the verdict was computed over, echoed back from the request.
Mostrar atributos secundarios
period.fromInclusive start date the response covers (YYYY-MM-DD).
period.toInclusive end date the response covers (YYYY-MM-DD).
period.data_as_ofThe 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 reflects data from up to a few seconds ago. 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.
statusOverall sending-health verdict for the window, taken as the worst status among the bounce-rate, complaint-rate, and delivery-rate signals. The open-rate signal, which can be strong, is not part of this roll-up. The overall verdict is one of healthy, watching, or throttled. It is healthy when the other three signals are each healthy or better. It is watching when at least one is watching, and throttled when at least one is throttled. This verdict describes deliverability risk. It never pauses your sending on its own.
Possible values: healthy, watching, throttled
signalsThe per-rate signals include delivery_rate, open_rate, bounce_rate, and complaint_rate. Read a signal by matching on its metric. Each entry carries its current value, a reference deliverability limit (null where no limit applies), and its own verdict. Delivery rate, bounce rate, and complaint rate also carry the thresholds their verdict was classified against; open rate does not, because a high open rate is never a risk.
Recursos relacionados
Continúa con la documentación, guías y ejemplos de este tema.