{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/fnlowl-com/json-schema/fnlowl-com-widget-results-schema.json",
  "title": "WidgetResults",
  "x-generated": "2026-11-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fnlowl-com-openapi.json#/components/schemas/WidgetResults",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "views": {
      "type": "integer"
    },
    "completions": {
      "type": "integer"
    },
    "conversionPct": {
      "type": "integer"
    },
    "byReferrer": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "referrer": {
            "type": "string"
          },
          "leads": {
            "type": "integer"
          }
        },
        "required": [
          "referrer",
          "leads"
        ]
      }
    },
    "current": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "from": {
          "type": "integer"
        },
        "to": {
          "type": "integer"
        },
        "views": {
          "type": "integer"
        },
        "leads": {
          "type": "integer"
        },
        "conversions": {
          "type": "integer"
        },
        "revenueCents": {
          "type": "integer"
        }
      },
      "required": [
        "from",
        "to",
        "views",
        "leads",
        "conversions",
        "revenueCents"
      ]
    },
    "previous": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "from": {
          "type": "integer"
        },
        "to": {
          "type": "integer"
        },
        "views": {
          "type": "integer"
        },
        "leads": {
          "type": "integer"
        },
        "conversions": {
          "type": "integer"
        },
        "revenueCents": {
          "type": "integer"
        }
      },
      "required": [
        "from",
        "to",
        "views",
        "leads",
        "conversions",
        "revenueCents"
      ]
    },
    "byDevice": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "device": {
            "type": "string",
            "enum": [
              "desktop",
              "mobile"
            ]
          },
          "views": {
            "type": "integer"
          },
          "leads": {
            "type": "integer"
          }
        },
        "required": [
          "device",
          "views",
          "leads"
        ]
      }
    },
    "bySource": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "utmSource": {
            "type": "string"
          },
          "utmMedium": {
            "type": "string"
          },
          "leads": {
            "type": "integer"
          }
        },
        "required": [
          "utmSource",
          "utmMedium",
          "leads"
        ]
      }
    },
    "series": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "day": {
            "type": "integer"
          },
          "views": {
            "type": "integer"
          },
          "leads": {
            "type": "integer"
          }
        },
        "required": [
          "day",
          "views",
          "leads"
        ]
      }
    },
    "funnel": {
      "type": "object",
      "properties": {
        "views": {
          "type": "integer"
        },
        "completions": {
          "type": "integer"
        },
        "leads": {
          "type": "integer"
        },
        "conversions": {
          "type": "integer"
        },
        "revenueCents": {
          "type": "integer"
        },
        "conversionRatePct": {
          "type": "integer"
        }
      },
      "required": [
        "views",
        "completions",
        "leads",
        "conversions",
        "revenueCents",
        "conversionRatePct"
      ]
    },
    "questionDropoff": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "questionId": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "exits": {
            "type": "integer"
          }
        },
        "required": [
          "questionId",
          "text",
          "exits"
        ]
      }
    }
  },
  "required": [
    "name",
    "views",
    "completions",
    "conversionPct",
    "byReferrer",
    "current",
    "previous",
    "byDevice",
    "bySource",
    "series",
    "funnel",
    "questionDropoff"
  ]
}