Skip to main content

Analyze Drift

pro
POST/v1/reports/analyze-drift

Compares a domain's current posture against a prior-run snapshot (POST body) and reports score deltas, resolved findings, new findings, and severity escalations. Classifies the drift as improving, stable, regressing, or mixed.

What It Does

Runs the current scan (SPF, DMARC, DKIM, MTA-STS, DNSSEC). Diffs category-level scores and grades against the prior snapshot. Matches findings by category + title to identify resolved (was present, now gone), new (now present, was not before), and escalated (severity increased). Classifies the overall drift direction based on score delta and net new-critical findings.

Why It's Useful

Posture changes silently — a vendor rotates a DKIM key and coverage drops, a DNS migration drops DNSSEC, a registrar sets clientHold. Drift analysis catches these regressions.

Use Cases

Security Engineer

Weekly Posture Monitoring

Store a weekly snapshot per domain; run drift analysis to flag regressions for triage.

Catch silent regressions before they become findings in an external scan.

Change Advisory Board

Change-Management Sign-Off

After a DNS migration, run drift against the pre-migration snapshot to verify nothing regressed.

Evidence-backed migration sign-off.

Parameters

NameTypeRequiredDescription
domainstringRequiredThe domain to scan. The prior snapshot is provided as JSON in the POST body.Example: example.com

Response Fields

FieldTypeDescription
domainstringThe evaluated domain
directionstringimproving | stable | regressing | mixed
score_deltanumberOverall score change (positive = improved)
resolvedarrayFindings present in baseline that are no longer present
newarrayFindings present now that were not in baseline
escalatedarrayFindings whose severity increased
category_deltasarrayPer-category score changes

Code Examples

cURL
curl "https://api.edgedns.dev/v1/reports/analyze-drift" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d "domain=example.com"
JavaScript
const response = await fetch(
  'https://api.edgedns.dev/v1/reports/analyze-drift?domain=example.com',
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    }
  }
);

const data = await response.json();
console.log(data);
Python
import requests

response = requests.get(
    'https://api.edgedns.dev/v1/reports/analyze-drift',
    headers={'Authorization': 'Bearer YOUR_API_KEY'},
    params={
    'domain': 'example.com'
    }
)

data = response.json()
print(data)

Read the full Analyze Drift guide

Why it matters, real-world use cases, parameters, response fields, and how to call it from Claude, ChatGPT, or Gemini via MCP.

Read the guide →

Related Endpoints

External References

Learn more about the standards and protocols behind this endpoint.

Try This Endpoint

Test the Analyze Drift endpoint live in the playground.