reports

Get detailed report

Retrieve comprehensive deliverability analysis report

get/report/{id}

Path parameters

idstring required

Base32-encoded test ID (with hyphens)

Response

Report retrieved successfully

idstring required

Report identifier (base32-encoded with hyphens)

test_idstring required

Associated test ID (base32-encoded with hyphens)

scoreinteger required

Overall deliverability score as percentage (0-100)

grade'A+' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' required

Letter grade representation of the score (A+ is best, F is worst)

blacklistsobject

Map of IP addresses to their blacklist check results (array of checks per IP)

whitelistsobject

Map of IP addresses to their DNS whitelist check results (informational only)

raw_headersstring

Raw email headers

created_atstring date-time required

Example response

{
  "score": 85,
  "grade": "A",
  "summary": {
    "dns_score": 42,
    "dns_grade": "A",
    "authentication_score": 28,
    "authentication_grade": "A",
    "spam_score": 15,
    "spam_grade": "A",
    "blacklist_score": 20,
    "blacklist_grade": "A",
    "header_score": 9,
    "header_grade": "A",
    "content_score": 18,
    "content_grade": "A"
  },
  "authentication": {
    "spf": {
      "result": "pass",
      "domain": "example.com",
      "selector": "default"
    },
    "dkim": [
      {
        "result": "pass",
        "domain": "example.com",
        "selector": "default"
      }
    ],
    "dmarc": {
      "result": "pass",
      "domain": "example.com",
      "selector": "default"
    },
    "bimi": {
      "result": "pass",
      "domain": "example.com",
      "selector": "default"
    },
    "arc": {
      "result": "pass",
      "chain_valid": true,
      "chain_length": 2,
      "details": "ARC chain valid with 2 intermediaries"
    },
    "iprev": {
      "result": "pass",
      "ip": "195.110.101.58",
      "hostname": "authsmtp74.register.it",
      "details": "smtp.remote-ip=195.110.101.58 (authsmtp74.register.it)"
    },
    "x_google_dkim": {
      "result": "pass",
      "domain": "example.com",
      "selector": "default"
    },
    "x_aligned_from": {
      "result": "pass",
      "domain": "example.com",
      "selector": "default"
    }
  },
  "spamassassin": {
    "deliverability_score": 80,
    "deliverability_grade": "B",
    "version": "SpamAssassin 4.0.1",
    "score": 2.3,
    "required_score": 5,
    "tests": [
      "BAYES_00",
      "DKIM_SIGNED"
    ],
    "test_details": {
      "BAYES_00": {
        "name": "BAYES_00",
        "score": -1.9,
        "description": "Bayes spam probability is 0 to 1%"
      },
      "DKIM_SIGNED": {
        "name": "DKIM_SIGNED",
        "score": 0.1,
        "description": "Message has a DKIM or DK signature, not necessarily valid"
      }
    }
  },
  "rspamd": {
    "deliverability_score": 85,
    "deliverability_grade": "A",
    "score": -3.91,
    "threshold": 15,
    "action": "no action",
    "server": "rspamd.example.com",
    "symbols": {
      "BAYES_HAM": {
        "name": "BAYES_HAM",
        "score": -1.9,
        "params": "0.02"
      }
    }
  },
  "dns_results": {
    "from_domain": "example.com",
    "rp_domain": "example.com",
    "from_mx_records": [
      {
        "host": "mail.example.com",
        "priority": 10,
        "valid": true,
        "error": "Failed to lookup MX records"
      }
    ],
    "rp_mx_records": [
      {
        "host": "mail.example.com",
        "priority": 10,
        "valid": true,
        "error": "Failed to lookup MX records"
      }
    ],
    "spf_records": [
      {
        "domain": "example.com",
        "record": "v=spf1 include:_spf.example.com ~all",
        "valid": true,
        "all_qualifier": "~",
        "error": "No SPF record found"
      }
    ],
    "dkim_records": [
      {
        "selector": "default",
        "domain": "example.com",
        "record": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA...",
        "valid": true,
        "error": "No DKIM record found"
      }
    ],
    "dmarc_record": {
      "record": "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com",
      "policy": "quarantine",
      "subdomain_policy": "quarantine",
      "percentage": 100,
      "spf_alignment": "relaxed",
      "dkim_alignment": "relaxed",
      "valid": true,
      "error": "No DMARC record found"
    },
    "bimi_record": {
      "selector": "default",
      "domain": "example.com",
      "record": "v=BIMI1; l=https://example.com/logo.svg",
      "logo_url": "https://example.com/logo.svg",
      "vmc_url": "https://example.com/vmc.pem",
      "valid": true,
      "error": "No BIMI record found"
    },
    "ptr_records": [
      "mail.example.com",
      "smtp.example.com"
    ],
    "ptr_forward_records": [
      "192.0.2.1",
      "2001:db8::1"
    ]
  },
  "blacklists": {
    "192.0.2.1": [
      {
        "rbl": "zen.spamhaus.org",
        "listed": false
      },
      {
        "rbl": "bl.spamcop.net",
        "listed": false
      }
    ]
  },
  "whitelists": {
    "192.0.2.1": [
      {
        "rbl": "list.dnswl.org",
        "listed": false
      },
      {
        "rbl": "swl.spamhaus.org",
        "listed": false
      }
    ]
  },
  "content_analysis": {
    "has_html": true,
    "has_plaintext": true,
    "html_issues": [
      {
        "type": "missing_alt",
        "severity": "medium",
        "message": "3 images are missing alt attributes",
        "location": "HTML body line 42",
        "advice": "Add descriptive alt text to all images for better accessibility and deliverability"
      }
    ],
    "links": [
      {
        "url": "https://example.com/page",
        "status": "valid",
        "http_code": 200,
        "redirect_chain": [
          "https://example.com",
          "https://www.example.com"
        ]
      }
    ],
    "images": [
      {
        "src": "https://example.com/logo.png",
        "has_alt": true,
        "alt_text": "Company Logo"
      }
    ],
    "text_to_image_ratio": 0.75,
    "has_unsubscribe_link": true,
    "unsubscribe_methods": [
      "link",
      "list-unsubscribe-header"
    ]
  },
  "header_analysis": {
    "has_mime_structure": true,
    "headers": {
      "from": {
        "present": true,
        "value": "sender@example.com",
        "valid": true,
        "importance": "required"
      },
      "date": {
        "present": true,
        "value": "Mon, 1 Jan 2024 12:00:00 +0000",
        "valid": true,
        "importance": "required"
      }
    },
    "received_chain": [
      {
        "from": "mail.example.com",
        "by": "mx.receiver.com",
        "with": "ESMTPS",
        "ip": "192.0.2.1",
        "reverse": "mail.example.com"
      }
    ],
    "domain_alignment": {
      "from_domain": "example.com",
      "from_org_domain": "example.com",
      "return_path_domain": "example.com",
      "return_path_org_domain": "example.com",
      "dkim_domains": [
        {
          "domain": "mail.example.com",
          "org_domain": "example.com"
        }
      ],
      "aligned": true,
      "relaxed_aligned": true,
      "issues": [
        "Return-Path domain does not match From domain"
      ]
    },
    "issues": [
      {
        "header": "Date",
        "severity": "medium",
        "message": "Date header is in the future",
        "advice": "Ensure your mail server clock is synchronized with NTP"
      }
    ]
  }
}

Changes