RefreshDocsConsole →

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"

Usage

GET /api/v1/usage returns how much of your plan the organization has used. Any key can read it, including Test keys. The quota belongs to the organization, so a domain-restricted key sees the organization totals.

curl -H "Authorization: Bearer $F5SEND_API_KEY" https://api.f5send.com/api/v1/usage
{
  "object": "usage",
  "plan": "free",
  "emails": {
    "monthly": { "used": 120, "limit": 3000, "allowance": 3000, "overage": false, "resets_at": "2026-11-01T00:00:00.000Z" },
    "daily": { "used": 7, "limit": 100, "resets_at": "2026-10-15T00:00:00.000Z" }
  },
  "contacts": { "used": 42, "limit": 1000 },
  "rate_limit": { "limit": 10, "duration": "1s" }
}
Field Meaning
emails.monthly.used Live recipients counted this UTC month. Each recipient is one email.
emails.monthly.limit The hard monthly limit. null means no cap. 0 means sending is stopped.
emails.monthly.allowance The volume the plan includes.
emails.monthly.overage true when mail past the allowance is billed, up to limit.
emails.daily The same counter for the current UTC day. limit is null when the day has no cap.
contacts Stored contacts and the plan allowance. limit is null when unlimited.
rate_limit Requests per duration for the calling key.
resets_at When the counter returns to 0 (UTC).

If the platform cannot read the counters, the call returns 503 usage_unavailable with Retry-After: 5.