Reputation
Monitor sending domain health (DKIM, SPF, DMARC), sending reputation metrics, and AWS SES Virtual Deliverability Manager (VDM) findings. Self-hosted edition uses domain-level checks; cloud edition adds per-workspace SES tenant reputation.
Posthawk tracks two layers of reputation:
1. Domain health — DNS-level checks (DKIM, SPF, DMARC) per domain
2. SES reputation metrics — bounce rate, complaint rate, delivery rate computed from email_logs over the trailing window
Cloud edition also tracks SES Virtual Deliverability Manager (VDM) findings per-workspace tenant. See the "Tenant Reputation (Cloud)" section for tenant-specific endpoints.
Sync endpoints trigger an immediate refresh of cached metrics. Useful right after domain DNS changes or after a large send to see updated rates.
/reputation/domainsGet health status (DKIM, SPF, DMARC) for all sending domains.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your JWT.
curl https://api.posthawk.dev/reputation/domains \
-H "Authorization: Bearer your_jwt_token"{
"success": true,
"data": [
{
"domain": "yourdomain.com",
"dkim_status": "verified",
"spf_status": "verified",
"dmarc_status": "verified",
"last_checked_at": "2026-04-28T10:00:00Z"
}
]
}/reputation/metricsGet computed reputation metrics over the trailing window. Bounce + complaint rates are what AWS SES uses to gate accounts; warn at >4% bounce / >0.1% complaint.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your JWT.
curl https://api.posthawk.dev/reputation/metrics \
-H "Authorization: Bearer your_jwt_token"{
"success": true,
"data": {
"bounce_rate": 0.02,
"complaint_rate": 0.001,
"delivery_rate": 0.98,
"open_rate": 0.45,
"computed_at": "2026-04-28T10:00:00Z"
}
}/reputation/syncRun both domain-health and metrics syncs. Returns when both complete.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your JWT.
curl -X POST https://api.posthawk.dev/reputation/sync \
-H "Authorization: Bearer your_jwt_token"{
"success": true,
"data": {
"domains_synced": 3,
"metrics_window_hours": 24,
"synced_at": "2026-04-28T10:00:00Z"
}
}/reputation/sync/domainsRe-check DKIM/SPF/DMARC for every domain in the workspace.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your JWT.
curl -X POST https://api.posthawk.dev/reputation/sync/domains \
-H "Authorization: Bearer your_jwt_token"{
"success": true,
"data": { "domains_synced": 3, "synced_at": "2026-04-28T10:00:00Z" }
}/reputation/sync/metricsRecompute bounce/complaint/delivery/open rates from email_logs. Used by the dashboard "Refresh" button.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your JWT.
curl -X POST https://api.posthawk.dev/reputation/sync/metrics \
-H "Authorization: Bearer your_jwt_token"{
"success": true,
"data": {
"bounce_rate": 0.018,
"complaint_rate": 0.0008,
"delivery_rate": 0.982,
"synced_at": "2026-04-28T10:00:00Z"
}
}