Analytics
Contact fatigue scores, send velocity, deliverability rates, segment membership, and outcome attribution.
The analytics API gives you real-time insight into contact engagement, sending patterns, and deliverability — plus outcome attribution to measure the impact of your campaigns.
Contact fatigue
Get a fatigue score (0–100) for a contact with a recommendation on whether to send.
GET https://api.molted.email/v1/agent/analytics/contact-fatiguecurl "https://api.molted.email/v1/agent/analytics/contact-fatigue?tenantId=tenant_abc123&contactEmail=user@example.com" \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"contactEmail": "user@example.com",
"fatigueScore": 72,
"recommendation": "stop_sending"
}| Score range | Recommendation |
|---|---|
| 0–39 | safe_to_send — contact is not fatigued. |
| 40–69 | reduce_frequency — consider spacing out sends. |
| 70–100 | stop_sending — contact is over-saturated. |
Send velocity
Check your sending rate across different time windows, with an hourly trend breakdown for the last 24 hours.
GET https://api.molted.email/v1/agent/analytics/send-velocitycurl "https://api.molted.email/v1/agent/analytics/send-velocity?tenantId=tenant_abc123" \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"tenantId": "tenant_abc123",
"lastHour": 12,
"last24Hours": 156,
"last7Days": 892,
"hourlyTrend": [
{ "hour": "2026-04-10 08:00:00+00", "count": 5 },
{ "hour": "2026-04-10 09:00:00+00", "count": 8 },
{ "hour": "2026-04-10 10:00:00+00", "count": 12 }
]
}| Field | Type | Description |
|---|---|---|
tenantId | string | Your tenant ID. |
lastHour | number | Total sends accepted or sent in the last hour. |
last24Hours | number | Total sends in the last 24 hours. |
last7Days | number | Total sends in the last 7 days. |
hourlyTrend | array | Hourly send counts for the last 24 hours. Each element has hour (timestamp string) and count (number). Empty array if no sends in the period. |
Deliverability
Get bounce and complaint rates across time windows.
GET https://api.molted.email/v1/agent/analytics/deliverabilitycurl "https://api.molted.email/v1/agent/analytics/deliverability?tenantId=tenant_abc123" \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"periods": {
"24h": { "sent": 45, "delivered": 43, "bounced": 1, "complained": 0, "bounceRate": 0.022, "complaintRate": 0.0 },
"7d": { "sent": 312, "delivered": 305, "bounced": 4, "complained": 1, "bounceRate": 0.013, "complaintRate": 0.003 },
"30d": { "sent": 1240, "delivered": 1210, "bounced": 18, "complained": 3, "bounceRate": 0.015, "complaintRate": 0.002 }
}
}Segment check
Check whether a contact is currently a member of a specific segment. This is a targeted, single-segment lookup -- useful as a pre-send gate (e.g. "only send if this contact is in the target segment").
To list all segments a contact belongs to instead, use segments contact.
GET https://api.molted.email/v1/agent/analytics/segment-checkParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
contactEmail | string | Yes | The contact's email address. |
segmentId | string | Yes | The segment ID to check membership against. |
curl "https://api.molted.email/v1/agent/analytics/segment-check?tenantId=tenant_abc123&contactEmail=user@example.com&segmentId=SEGMENT_ID" \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"isMember": true,
"evaluatedLive": true
}evaluatedLive is true when the filter ran against live contact data for this request, and false when the result came from a cached membership snapshot. If the segment's filter expression can't be evaluated (for example, because filter_group is malformed), the response also includes an error string.
Attribution
Track outcomes and measure the impact of your email campaigns and journeys.
Ingest outcomes
Record conversion or outcome events tied to contacts.
POST https://api.molted.email/v1/outcomes/ingestcurl -X POST https://api.molted.email/v1/outcomes/ingest \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tenantId": "tenant_abc123",
"events": [
{
"contactEmail": "user@example.com",
"eventType": "purchase",
"value": 99.99,
"occurredAt": "2026-03-01T15:30:00Z"
}
]
}'List outcomes
GET https://api.molted.email/v1/outcomescurl "https://api.molted.email/v1/outcomes?tenantId=tenant_abc123" \
-H "Authorization: Bearer YOUR_API_KEY"Journey impact
Measure the impact of a journey on outcomes.
GET https://api.molted.email/v1/outcomes/journey-impactcurl "https://api.molted.email/v1/outcomes/journey-impact?tenantId=tenant_abc123&journeyId=JOURNEY_ID" \
-H "Authorization: Bearer YOUR_API_KEY"Attribution models
| Model | Description |
|---|---|
first_touch | 100% credit to the first email interaction. |
last_touch | 100% credit to the last email interaction before conversion. |
linear | Credit distributed equally across all email interactions. |
time_decay | More credit to interactions closer to the conversion event. |