{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/checker-lazynext/json-schema/checker-lazynext-scan-request-schema.json",
  "title": "ScanRequest",
  "x-generated": "2026-11-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/checker-lazynext-openapi.json#/components/schemas/ScanRequest",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Public http/https page. Rendered via headless browser; consumes daily quota."
    },
    "html": {
      "type": "string",
      "description": "Raw markup to scan statically (≤512KB, no quota)."
    },
    "site": {
      "type": "boolean",
      "description": "Crawl same-origin pages (3 free / 10 Pro) and add cross-page checks."
    },
    "license": {
      "type": "string",
      "format": "email",
      "description": "Pro purchase email — higher limits, deeper crawls, monitoring."
    },
    "email_report": {
      "type": "boolean",
      "description": "Pro only: email the report to the license address."
    },
    "viewport": {
      "type": "string",
      "enum": [
        "mobile",
        "desktop"
      ],
      "description": "Rendered-scan viewport profile — mobile emulates a 390×844 handset (touch + mobile UA, the default); desktop keeps the pre-mobile baseline render. Ignored for `html` scans and site crawls."
    }
  }
}