Raw schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Publisher domain to screen, for example example.com. Private/local targets, raw IPs, internal hosts, and non-standard ports are rejected."
},
"vertical": {
"type": "string",
"enum": [
"news",
"sports",
"entertainment",
"technology",
"education",
"gaming",
"other"
],
"description": "Optional publisher vertical used for interpretation."
},
"metrics": {
"type": "object",
"properties": {
"impressionsPerPageview": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100
},
"impressionsPerSession": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"pageviewsPerSession": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000
},
"dashboardViewabilityRate": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"fillRate": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"averageCpm": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"revenuePerSession": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"monthlyPageviews": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"description": "Actual monthly pageview volume. When provided, the yield simulator uses this scale instead of the standard 100k baseline."
},
"monthlySessions": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"description": "Actual monthly session count. Used with pageviewsPerSession to derive scale when monthlyPageviews is not supplied directly."
}
},
"additionalProperties": false,
"description": "Optional publisher-supplied metrics used for directional revenue interpretation."
},
"options": {
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"markdown",
"json",
"markdown_and_json"
],
"default": "markdown"
},
"compact": {
"type": "boolean",
"default": false,
"description": "When true with JSON output, return the compact agent-oriented report shape instead of the full report object."
},
"maxPages": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 2
},
"includeEvidence": {
"type": "boolean",
"default": true
},
"enableBrowser": {
"type": "boolean",
"default": false,
"description": "When true, run optional Playwright diagnostics for rendered slots, provider-aware network/console errors, selected provider privacy-review signals, and bfcache signals."
},
"includeScreenshots": {
"type": "boolean",
"default": false,
"description": "When true with enableBrowser, save a full-page screenshot artifact using a relative artifact path."
},
"artifactsDir": {
"type": "string",
"minLength": 1,
"default": "audit-artifacts",
"description": "Relative directory for optional artifacts. Absolute paths, current-directory output, and parent traversal are rejected."
},
"enablePageSpeed": {
"type": "boolean",
"default": false,
"description": "When true, request public PageSpeed/Core Web Vitals diagnostics."
},
"pageSpeedStrategy": {
"type": "string",
"enum": [
"mobile",
"desktop"
],
"default": "mobile"
},
"concurrency": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 2,
"description": "Maximum number of audit collection tasks to run at once."
},
"whiteLabel": {
"type": "boolean",
"default": false,
"description": "When true, format the audit report as a white-labeled pitch presentation for ad-ops consultants/agencies to present directly to their publisher clients."
},
"partnerId": {
"type": "string",
"description": "Optional referral or partner tracking identifier embedded in call-to-action URLs."
}
},
"additionalProperties": false,
"description": "Optional output and audit controls."
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}