Skip to content

Security Score

Get the email security score for a domain with a detailed breakdown.

Get Security Score

GET /api/v1/domains/{id}/score

Path Parameters

ParameterTypeDescription
iduuidDomain ID

Response

json
{
  "data": {
    "score": 85,
    "grade": "B",
    "label": "Good",
    "usageType": "sends-and-receives",
    "lastCheckedAt": "2024-01-15T10:30:00Z",
    "breakdown": {
      "mx": {
        "configured": true,
        "tlsSupported": true,
        "daneSupported": false
      },
      "spf": {
        "valid": true,
        "policy": "~all"
      },
      "dkim": {
        "configured": true,
        "validSelectors": 2,
        "totalSelectors": 2
      },
      "dmarc": {
        "valid": true,
        "policy": "quarantine",
        "reportingConfigured": true
      },
      "mtaSts": {
        "valid": true,
        "mode": "testing"
      },
      "tlsRpt": {
        "valid": true,
        "reportingConfigured": true
      },
      "bimi": {
        "configured": false,
        "logoValid": false
      },
      "dnssec": {
        "enabled": true,
        "valid": true
      }
    }
  }
}

Example

bash
curl -H "Authorization: Bearer ms_your_token" \
  https://app.mailshield.app/api/v1/domains/550e8400-e29b-41d4-a716-446655440000/score

Score Calculation

The score (0-100) varies based on the domain's usage type.

Score Grades

GradeScore RangeLabel
A90-100Excellent
B80-89Good
C70-79Fair
D60-69Poor
F0-59Critical

Sends and Receives (Standard)

For domains that both send and receive email:

ComponentPointsDescription
MX10Valid records + TLS support
SPF15Valid record + strict policy
DKIM10Valid selectors with strong keys
DMARC25Policy + reporting configured
MTA-STS10Valid policy in enforce mode
TLS-RPT10Reporting configured
BIMI5Valid logo
DNSSEC10Enabled and valid
DANE5TLSA records configured

Receives Only

For domains that only receive email:

ComponentPointsDescription
MX15Valid records + TLS
SPF15Must be -all
DMARC20Must be p=reject
MTA-STS15Valid policy
TLS-RPT10Reporting configured
DNSSEC15Enabled and valid
DANE10TLSA records

Sends Only

For domains that only send email:

ComponentPointsDescription
MX10For bounce handling
SPF20Critical for sending
DKIM20Strong keys required
DMARC25Policy + reporting
BIMI10Brand visibility
DNSSEC15DNS protection

Parked Domains

For parked domains (normalized to 100):

ComponentPointsDescription
MX10Null MX preferred
SPF15Must be -all
DMARC25Must be p=reject
DNSSEC10Enabled and valid

No Score Response

If no DNS checks have been run yet:

json
{
  "data": {
    "score": null,
    "grade": null,
    "label": "Not checked",
    "message": "No DNS checks have been run yet. Use POST /api/v1/domains/:id/checks to run checks.",
    "lastCheckedAt": null
  }
}

Monitor and secure your email domains.