Email performance

Outbound emails sent in the range and their tracking events (delivered, opened, clicked, bounced, complained, unsubscribed), with rates.

GET https://api.centerfy.ai/webhooks/inbound/analytics/email

Headers

HeaderRequiredValueDescription
x-api-keyYesyour sub-account API key (cfy_…)Authenticates the request; or use Authorization: Bearer <key>.

Query parameters

NameTypeRequiredDefaultDescription
fromstring (YYYY-MM-DD)No—First day of the range (inclusive, local date). Defaults to 29 days before to (a 30-day range).
tostring (YYYY-MM-DD)No—Last day of the range (inclusive, local date). Defaults to today. The range can span at most 366 days.
timezonestringNo—IANA time zone for day boundaries, e.g. America/New_York (max 64 characters). Defaults to your company time zone, else UTC.

Example

curl -X GET "https://api.centerfy.ai/webhooks/inbound/analytics/email" \
  -H "x-api-key: $CENTERFY_API_KEY"
import { CenterfyClient } from "@centerfy/sdk";

const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });

const result = await centerfy.analytics.email();
console.log(result);
centerfy analytics email

MCP tool: centerfy_analytics_email (see MCP server)

Response

{
  "status": "success",
  "tz": "America/New_York",
  "from": "2026-09-06",
  "to": "2026-10-05",
  "capped": false,
  "sent": 200,
  "events": {
    "delivered": 190,
    "opened": 120,
    "clicked": 30,
    "bounced": 6,
    "complained": 0,
    "unsubscribed": 2
  },
  "unique_emails": {
    "delivered": 188,
    "opened": 95,
    "clicked": 22,
    "bounced": 6,
    "complained": 0,
    "unsubscribed": 2
  },
  "rates": {
    "delivery_rate": 0.94,
    "open_rate": 0.475,
    "click_rate": 0.11,
    "bounce_rate": 0.03,
    "complaint_rate": 0,
    "unsubscribe_rate": 0.01
  }
}

Errors

  • 400 — if from/to aren’t real YYYY-MM-DD dates, from is after to, the range is over 366 days, or the timezone is unknown.
  • 401 — if unauthenticated.

Notes

events counts every event; unique_emails counts distinct emails per event. Rates are unique_emails ÷ sent as fractions (0.475 = 47.5%), rounded to 4 decimal places, and null when nothing was sent. Events are only recorded for email sent through a tracked provider, so rates are a lower bound. Days run from local midnight to midnight in tz. capped is true when a data source exceeded 20,000 rows — narrow the range for exact figures.

© 2026 Centerfy AI. All rights reserved.