Read sending metrics
The numbers on the console's Metrics page for the last 7, 15, 30 or 90 days (days, 30 by default, ending today in UTC), for every domain or one…
https://app.usenotix.dev/api/v1/metricsFull access and read only keys can call this. Sending access keys cannot. Key permissions lists the extra rules some calls have.
The numbers on the console's Metrics page for the last 7, 15, 30 or 90 days (days, 30 by default, ending today in UTC), for every domain or one (domainId): emails sent, the deliverability rate, every day's delivered, bounced and complained counts, the bounce rate split into permanent and temporary bounces, the complaint rate, and the open and click rates.
Rates are percentages of emails sent, worked out from the same daily counts that decide when a domain is paused: rates.permanentBounce is the rate the pause at 4% is judged on and rates.complaint the one the pause at 0.08% is judged on (both over 7 days). Open and click rates are percentages of delivered email and count only domains with open or click tracking on; each is null when no domain in scope tracks it. Undetermined bounces are not counted apart yet: they are in bounces.temporary, and bounces.undetermined is 0.
A key limited to one domain reads only that domain; any other domainId answers 404, as does a domain that is not the team's. A sending-only key cannot read it.
Query parameters
How many days, ending today (UTC). Default 30.
One of 7, 15, 30, 90.
Only this domain. A key limited to one domain always reads its own domain.
Minimum 0.
Headers
Bearer followed by your API key.
Errors
The domain is not one of the team's, or not the key's own domain
Every error has the same shape. See all error codes.
curl -X GET "https://app.usenotix.dev/api/v1/metrics" \
-H "Authorization: Bearer $NOTIX_API_KEY"
{
"range": {
"days": 30,
"from": "2026-09-07",
"to": "2026-10-06"
},
"domainId": 1,
"totals": {
"sent": 1,
"delivered": 1,
"bounced": 1,
"hardBounced": 1,
"complained": 1,
"opened": 1,
"clicked": 1
},
"bounces": {
"permanent": 1,
"temporary": 1,
"undetermined": 1
},
"rates": {
"deliverability": 1,
"bounce": 1,
"permanentBounce": 1,
"complaint": 1,
"open": 1,
"click": 1
},
"tracking": {
"openDomains": 1,
"clickDomains": 1
},
"daily": [
{
"date": "string",
"sent": 1,
"delivered": 1,
"bounced": 1,
"hardBounced": 1,
"complained": 1,
"opened": 1,
"clicked": 1
}
],
"domains": [
{
"id": 1,
"name": "Acme",
"sent": 1
}
]
}