Returns an overall DMARC compliance scorecard for all domains in an account. Uses a single optimized database query to fetch stats for all domains at once.
Response includes: - total_domains: Number of domains in the account - active_domains: Domains with email volume in the period - total_email_volume: Total emails across all domains - overall_compliance_rate: Weighted average compliance rate - policy_distribution: Count of domains by DMARC policy (none/quarantine/reject) - grade_distribution: Count of domains by security grade (A-F) - domains_needing_attention: Domains with grade D or F - domains_ready_to_advance: Domains ready for stronger policy - domains: Per-domain breakdown with policy, compliance, volume, grade, and readiness
Each domain includes readiness indicators: - ready_to_advance: Boolean - true if domain can move to stronger policy - advance_to: Target policy (quarantine or reject) if ready - readiness_note: Human-readable status message - at_max_protection: True when at p=reject with 98%+ compliance
Grades reflect current protection level: - A: p=reject with 98%+ compliance (full protection) - B: p=reject 90%+ OR p=quarantine 90%+ compliance - C: p=reject 80%+ OR p=quarantine 80%+ OR p=none 90%+ - D: p=reject 70%+ OR p=quarantine 70%+ OR p=none 70%+ - F: Below 70% or no DMARC policy
| Code | Description |
|---|---|
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 500 | Server crashed for some reason |
{
"account_id": 1473,
"account_name": "My Company",
"period": {
"start_date": "2026-05-01",
"end_date": "2026-05-31",
"days": 30
},
"total_domains": 5,
"active_domains": 4,
"total_email_volume": 12500,
"overall_compliance_rate": 94.2,
"policy_distribution": {
"none": 1,
"quarantine": 2,
"reject": 1,
"not_set": 1
},
"grade_distribution": {
"A": 1,
"B": 2,
"C": 1,
"D": 0,
"F": 1
},
"domains_needing_attention": [
{
"id": 105,
"address": "legacy.example.com",
"policy": "not_set",
"compliance_rate": 0,
"volume": 0,
"grade": "F",
"ready_to_advance": false,
"readiness_note": "Configure DMARC policy to begin protection"
}
],
"domains_ready_to_advance": [
{
"id": 101,
"address": "example.com",
"policy": "none",
"compliance_rate": 96.5,
"volume": 8500,
"grade": "C",
"ready_to_advance": true,
"advance_to": "quarantine",
"readiness_note": "96.5% compliance achieved - ready to enable quarantine policy"
},
{
"id": 102,
"address": "mail.example.com",
"policy": "quarantine",
"compliance_rate": 99.1,
"volume": 2500,
"grade": "B",
"ready_to_advance": true,
"advance_to": "reject",
"readiness_note": "99.1% compliance achieved - ready for full reject policy"
}
],
"domains": [
{
"id": 101,
"address": "example.com",
"policy": "none",
"compliance_rate": 96.5,
"volume": 8500,
"grade": "C",
"ready_to_advance": true,
"advance_to": "quarantine",
"readiness_note": "96.5% compliance achieved - ready to enable quarantine policy"
},
{
"id": 102,
"address": "mail.example.com",
"policy": "quarantine",
"compliance_rate": 99.1,
"volume": 2500,
"grade": "B",
"ready_to_advance": true,
"advance_to": "reject",
"readiness_note": "99.1% compliance achieved - ready for full reject policy"
},
{
"id": 103,
"address": "marketing.example.com",
"policy": "quarantine",
"compliance_rate": 92.3,
"volume": 1200,
"grade": "B",
"ready_to_advance": false,
"readiness_note": "92.3% compliance - needs 98% for reject"
},
{
"id": 104,
"address": "support.example.com",
"policy": "reject",
"compliance_rate": 99.5,
"volume": 300,
"grade": "A",
"ready_to_advance": false,
"at_max_protection": true,
"readiness_note": "Full protection achieved - maintain current policy"
},
{
"id": 105,
"address": "legacy.example.com",
"policy": "not_set",
"compliance_rate": 0,
"volume": 0,
"grade": "F",
"ready_to_advance": false,
"readiness_note": "Configure DMARC policy to begin protection"
}
]
}
| Param name | Description |
|---|---|
|
id required |
Account ID (numeric or slug) Validations:
|
|
days optional |
Number of days to analyze (default: 30, max: 90) Validations:
|