InboxGuard · Schema

DeliverabilityReport

Structured deliverability report for a tracked domain (the JSON form of GET /domains/{id}/report). Summarizes the latest scan into a per-check pass/warn/fail status, the top issues, blocklist hit count, and DMARC policy, plus a link to the branded PDF.

Email DeliverabilityDMARCDNS MonitoringAuthenticationSecurity

Properties

Name Type Description
domain string The reported domain.
score integernull Latest overall 0–100 deliverability score (null if not yet scored).
grade stringnull Letter grade for the latest score.
scannedAt stringnull When the underlying scan ran (null if none).
generatedAt string When this report was generated.
checks array Per-check rollup. 'not_applicable'/'unverified' are scoring model v3 (2026-08-05) — 'not_applicable' means the check doesn't apply to this domain (excluded from the score, never rendered as a failure)
issues array Top issues to fix, worst-first. An issue for an 'unverified' check is always severity=info and reads as a verify action, never a confident failure.
blocklistHits integer Number of DNS-blocklist listings detected.
dmarcPolicy stringnull Effective DMARC policy (none/quarantine/reject), or null if no DMARC record.
scoreSubtitle stringnull e.g. "80/100 · scored on 65 of 83 applicable points · 1 check unverified" — explains the score's denominator when a check was not_applicable/undetermined this scan. Null when there's nothing to explai
pdfUrl string Auth-gated URL for the branded one-page PDF (GET /domains/{id}/report.pdf — send your bearer token).
View JSON Schema on GitHub

JSON Schema

inboxguard-io-deliverability-report-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/inboxguard-io/json-schema/inboxguard-io-deliverability-report-schema.json",
  "title": "DeliverabilityReport",
  "description": "Structured deliverability report for a tracked domain (the JSON form of GET /domains/{id}/report). Summarizes the latest scan into a per-check pass/warn/fail status, the top issues, blocklist hit count, and DMARC policy, plus a link to the branded PDF.",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/inboxguard-io-openapi.json#/components/schemas/DeliverabilityReport",
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "The reported domain."
    },
    "score": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "maximum": 100,
      "description": "Latest overall 0–100 deliverability score (null if not yet scored)."
    },
    "grade": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "A",
        "B",
        "C",
        "D",
        "F",
        null
      ],
      "description": "Letter grade for the latest score."
    },
    "scannedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "When the underlying scan ran (null if none)."
    },
    "generatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "When this report was generated."
    },
    "checks": {
      "type": "array",
      "description": "Per-check rollup. 'not_applicable'/'unverified' are scoring model v3 (2026-08-05) — 'not_applicable' means the check doesn't apply to this domain (excluded from the score, never rendered as a failure); 'unverified' means it couldn't be checked/determined this scan (render as neutral, never pass/fail). Both are absent (never emitted) for a report generated from a pre-v3 scan.",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Check key, e.g. spf, dmarc, dkim, mtaSts, tlsRpt, mxTls, bimi, blocklist."
          },
          "label": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "pass",
              "warn",
              "fail",
              "unknown",
              "not_applicable",
              "unverified"
            ]
          }
        }
      }
    },
    "issues": {
      "type": "array",
      "description": "Top issues to fix, worst-first. An issue for an 'unverified' check is always severity=info and reads as a verify action, never a confident failure.",
      "items": {
        "$ref": "#/$defs/Issue"
      }
    },
    "blocklistHits": {
      "type": "integer",
      "description": "Number of DNS-blocklist listings detected."
    },
    "dmarcPolicy": {
      "type": [
        "string",
        "null"
      ],
      "description": "Effective DMARC policy (none/quarantine/reject), or null if no DMARC record."
    },
    "scoreSubtitle": {
      "type": [
        "string",
        "null"
      ],
      "description": "e.g. \"80/100 · scored on 65 of 83 applicable points · 1 check unverified\" — explains the score's denominator when a check was not_applicable/undetermined this scan. Null when there's nothing to explain (pre-v3 scan, or nothing excluded)."
    },
    "pdfUrl": {
      "type": "string",
      "format": "uri",
      "description": "Auth-gated URL for the branded one-page PDF (GET /domains/{id}/report.pdf — send your bearer token)."
    }
  },
  "required": [
    "domain",
    "score",
    "grade",
    "generatedAt",
    "checks",
    "issues",
    "blocklistHits",
    "dmarcPolicy",
    "pdfUrl"
  ],
  "$defs": {
    "Issue": {
      "type": "object",
      "description": "One finding inside a check.",
      "properties": {
        "severity": {
          "type": "string",
          "enum": [
            "info",
            "warn",
            "critical"
          ]
        },
        "message": {
          "type": "string"
        }
      },
      "required": [
        "severity",
        "message"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/inboxguard-io-deliverability-report"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.