API reference
Metrics
Read daily sending counters and breakdowns by mailbox provider, API key, template or kind.
Metrics
GET /api/v1/metrics returns the same daily counters the Metrics page shows, as JSON or CSV. Any key can read it, including Test keys. A domain-restricted key must name one of its domains.
Query
| Parameter | Values | Default | Effect |
|---|---|---|---|
days |
1 to 90 | 30 | Window that ends today (UTC). |
domain |
name or id | — | One domain instead of the organization total. |
facet |
provider, key, template, kind |
— | Adds a by array: one row per mailbox provider, API key, template or kind. |
key |
string | — | With facet: only that key (for example gmail). |
format |
json, csv |
json |
CSV returns the series, or the breakdown when facet is set. |
Response
{
"object": "metrics",
"days": 7,
"domain": null,
"series": [{ "day": "2026-08-16", "sent": 120, "delivered": 118, "bouncedHard": 1, "bouncedSoft": 1, "complained": 0, "opened": 40, "clicked": 9, "unsubscribed": 0 }],
"totals": { "sent": 840, "delivered": 830, "bouncedHard": 4, "bouncedSoft": 6, "complained": 0, "opened": 300, "clicked": 61, "unsubscribed": 2 },
"rates": { "delivery": 98.8, "bounce": 1.19, "hardBounce": 0.48, "softBounce": 0.71, "complaint": 0, "open": 35.7, "click": 7.26 },
"facet": "provider",
"by": [{ "key": "gmail", "label": "Gmail", "sent": 500, "delivered": 498, "bouncedHard": 1, "bouncedSoft": 1, "complained": 0, "opened": 200, "clicked": 40, "unsubscribed": 1, "delayed": 3, "blocked": 0 }]
}
delayed counts delivery delays. blocked counts replies the platform classified as a provider block or throttle (see Metrics & alerts).
Errors
| Status | Code | Cause |
|---|---|---|
| 403 | forbidden_domain |
A domain-restricted key asked for the organization total. |
| 422 | unknown_domain |
The domain is not one this key may read. |
| 422 | validation_error |
days outside 1 to 90, or an unknown facet. |
Example
curl -H "Authorization: Bearer $F5SEND_API_KEY" \
"https://api.f5send.com/api/v1/metrics?days=7&facet=provider&format=csv"