AI Email Marketing
Analytics
The numbers behind the Analytics page: totals, rates, a day-by-day series and breakdowns by campaign and mailbox.
GET
/v1/stats/overviewGet the overview
GET/v1/stats/reportGet a report
GET/v1/stats/campaigns/{id}Get campaign stats
Get the overview
GET
/api/v1/stats/overviewAll-time totals for the workspace: sent is every email, contacted is people.
Any API key, read-only included.
Errors
401Missing or invalid key429More than 120 requests a minute
Request
curl https://app.zicreach.com/api/v1/stats/overview \
-H "Authorization: Bearer zk_your_key"
Response200
{
"data": {
"campaigns_active": 3,
"sent": 13100,
"contacted": 8420,
"opened": 2911,
"replied": 214,
"open_rate": 35.1,
"reply_rate": 2.6,
"suppressed": 57
}
}
Get a report
GET
/api/v1/stats/reportTotals, rates and a day-by-day series for a date range of up to a year. sent counts every email (follow-ups included) on the day it went out; contacted counts people; rates are per person contacted.
Any API key, read-only included.
Parameters
| Name | Type | Description |
|---|---|---|
from query |
date | Start date, YYYY-MM-DD. Default 30 days ago. |
to query |
date | End date, YYYY-MM-DD. Default today. |
campaign_id query |
uuid | Only this campaign. |
Errors
401Missing or invalid key422Invalid input, or not ready; the body has message and an errors object, one entry per field429More than 120 requests a minute
Request
curl https://app.zicreach.com/api/v1/stats/report \
-H "Authorization: Bearer zk_your_key"
Response200
{
"data": {
"from": "2026-08-27",
"to": "2026-09-25",
"totals": {
"sent": 1640,
"contacted": 1002,
"opened": 318,
"clicked": 41,
"replied": 25,
"bounced": 9
},
"rates": {
"open": 32,
"click": 4.1,
"reply": 2.5,
"bounce": 0.9
},
"daily": [
{
"date": "2026-09-24",
"sent": 141,
"contacted": 86,
"opened": 30,
"clicked": 3,
"replied": 2,
"bounced": 1
}
],
"campaigns": [
{
"id": "9d1c6a2e-4b7f-4e0a-9a51-2f8c3b6d7e10",
"name": "Q4 founders",
"status": "active",
"sent": 1050,
"contacted": 640,
"opened": 201,
"clicked": 22,
"replied": 17,
"bounced": 5,
"reply_rate": 2.7,
"open_rate": 31.7
}
],
"accounts": [
{
"email": "sara@acme.io",
"sent": 830,
"contacted": 510,
"opened": 160,
"replied": 13,
"bounced": 4,
"reply_rate": 2.6,
"bounce_rate": 0.8
}
],
"reply_types": {
"interested": 9,
"not_interested": 7,
"out_of_office": 6,
"unclassified": 3
},
"opportunities": {
"count": 4,
"value": 38000,
"won": 1,
"won_value": 12000,
"currency": "USD"
}
}
}
Get campaign stats
GET
/api/v1/stats/campaigns/{id}Same as GET /campaigns/{id}/stats.
Any API key, read-only included.
Parameters
| Name | Type | Description |
|---|---|---|
idrequired path |
uuid | Campaign id. |
Errors
401Missing or invalid key404Not found in this workspace422Invalid input, or not ready; the body has message and an errors object, one entry per field429More than 120 requests a minute
Request
curl https://app.zicreach.com/api/v1/stats/campaigns/9d1c6a2e-4b7f-4e0a-9a51-2f8c3b6d7e10 \
-H "Authorization: Bearer zk_your_key"
Response200
{
"data": {
"campaign": {
"id": "9d1c6a2e-4b7f-4e0a-9a51-2f8c3b6d7e10",
"name": "Q4 founders",
"status": "active"
},
"totals": {
"recipients": 240,
"sent": 212,
"delivered": 209,
"opened": 71,
"clicked": 8,
"replied": 6,
"bounced": 3,
"unsubscribed": 1,
"pending": 28,
"failed": 0
},
"rates": {
"open": 34,
"click": 3.8,
"reply": 2.9,
"bounce": 1.4,
"unsubscribe": 0.5,
"progress": 88.3
},
"variants": [
{
"index": 0,
"subject": "Quick question, {{first_name|there}}",
"sent": 212,
"replied": 6,
"reply_rate": 2.9
}
],
"daily": [
{
"date": "2026-09-24",
"sent": 40
}
]
}
}