{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/email-spam-tester-com/json-schema/email-spam-tester-com-report-out-schema.json",
  "title": "ReportOut",
  "x-generated": "2026-11-06",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/email-spam-tester-com-openapi.json#/components/schemas/ReportOut",
  "properties": {
    "report_url": {
      "type": "string",
      "title": "Report Url",
      "default": ""
    },
    "generated_by": {
      "type": "string",
      "title": "Generated By",
      "default": "Email Spam Tester (https://email-spam-tester.com)"
    },
    "slug": {
      "type": "string",
      "title": "Slug"
    },
    "analysis_status": {
      "type": "string",
      "title": "Analysis Status"
    },
    "ai_status": {
      "type": "string",
      "title": "Ai Status"
    },
    "score_compat": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Score Compat"
    },
    "score_ours": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Score Ours"
    },
    "subscores": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Subscores"
    },
    "scoring_version": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Scoring Version"
    },
    "complete": {
      "type": "boolean",
      "title": "Complete"
    },
    "errored_checks": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Errored Checks"
    },
    "ai_verdict": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ai Verdict"
    },
    "ai_confidence": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ai Confidence"
    },
    "received_at": {
      "type": "string",
      "format": "date-time",
      "title": "Received At"
    },
    "checks_ready_at": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "null"
        }
      ],
      "title": "Checks Ready At"
    },
    "message": {
      "anyOf": [
        {
          "$ref": "#/$defs/MessageOut"
        },
        {
          "type": "null"
        }
      ]
    },
    "panel": {
      "items": {
        "$ref": "#/$defs/EngineOut"
      },
      "type": "array",
      "title": "Panel"
    },
    "checks": {
      "items": {
        "$ref": "#/$defs/CheckOut"
      },
      "type": "array",
      "title": "Checks"
    },
    "fixes": {
      "items": {
        "$ref": "#/$defs/FixOut"
      },
      "type": "array",
      "title": "Fixes"
    },
    "translating": {
      "type": "boolean",
      "title": "Translating",
      "default": false
    }
  },
  "type": "object",
  "required": [
    "slug",
    "analysis_status",
    "ai_status",
    "score_compat",
    "score_ours",
    "subscores",
    "scoring_version",
    "complete",
    "errored_checks",
    "ai_verdict",
    "ai_confidence",
    "received_at",
    "checks_ready_at",
    "message",
    "panel",
    "checks",
    "fixes"
  ],
  "$defs": {
    "CheckOut": {
      "properties": {
        "id": {
          "type": "string",
          "title": "Id"
        },
        "category": {
          "type": "string",
          "title": "Category"
        },
        "status": {
          "type": "string",
          "title": "Status"
        },
        "title": {
          "type": "string",
          "title": "Title"
        },
        "summary": {
          "type": "string",
          "title": "Summary"
        },
        "summary_localised": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Summary Localised"
        },
        "weight_compat": {
          "type": "number",
          "title": "Weight Compat"
        },
        "weight_ours": {
          "type": "number",
          "title": "Weight Ours"
        },
        "evidence": {
          "additionalProperties": true,
          "type": "object",
          "title": "Evidence"
        },
        "citations": {
          "additionalProperties": true,
          "type": "object",
          "title": "Citations",
          "default": {}
        }
      },
      "type": "object",
      "required": [
        "id",
        "category",
        "status",
        "title",
        "summary",
        "weight_compat",
        "weight_ours",
        "evidence"
      ],
      "title": "CheckOut"
    },
    "EngineOut": {
      "properties": {
        "id": {
          "type": "string",
          "title": "Id"
        },
        "title": {
          "type": "string",
          "title": "Title"
        },
        "status": {
          "type": "string",
          "title": "Status"
        },
        "summary": {
          "type": "string",
          "title": "Summary"
        },
        "evidence": {
          "additionalProperties": true,
          "type": "object",
          "title": "Evidence"
        },
        "scores": {
          "type": "boolean",
          "title": "Scores"
        }
      },
      "type": "object",
      "required": [
        "id",
        "title",
        "status",
        "summary",
        "evidence",
        "scores"
      ],
      "title": "EngineOut"
    },
    "FixOut": {
      "properties": {
        "id": {
          "type": "string",
          "title": "Id"
        },
        "fix": {
          "additionalProperties": true,
          "type": "object",
          "title": "Fix"
        },
        "gain_compat": {
          "type": "number",
          "title": "Gain Compat"
        },
        "gain_ours": {
          "type": "number",
          "title": "Gain Ours"
        },
        "source": {
          "type": "string",
          "title": "Source"
        }
      },
      "type": "object",
      "required": [
        "id",
        "fix",
        "gain_compat",
        "gain_ours",
        "source"
      ],
      "title": "FixOut"
    },
    "MessageOut": {
      "properties": {
        "subject": {
          "type": "string",
          "title": "Subject"
        },
        "from_addr": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "From Addr"
        },
        "bounce_address": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bounce Address"
        },
        "size_bytes": {
          "type": "integer",
          "title": "Size Bytes"
        },
        "has_html": {
          "type": "boolean",
          "title": "Has Html"
        },
        "has_text": {
          "type": "boolean",
          "title": "Has Text"
        },
        "forged_headers": {
          "additionalProperties": true,
          "type": "object",
          "title": "Forged Headers"
        },
        "kind": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Kind"
        }
      },
      "type": "object",
      "required": [
        "subject",
        "from_addr",
        "bounce_address",
        "size_bytes",
        "has_html",
        "has_text",
        "forged_headers"
      ],
      "title": "MessageOut"
    }
  }
}