{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/handover-sh/json-schema/handover-sh-acquisition-overview-envelope-schema.json",
  "title": "AcquisitionOverviewEnvelope",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/handover-sh-openapi.json#/components/schemas/AcquisitionOverviewEnvelope",
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "days",
        "generatedAt",
        "scope",
        "funnel",
        "previous",
        "funnelDelta",
        "channels",
        "pages"
      ],
      "properties": {
        "days": {
          "type": "integer"
        },
        "generatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "scope": {
          "type": "string",
          "enum": [
            "platform",
            "organization"
          ]
        },
        "funnel": {
          "$ref": "#/$defs/AcquisitionFunnel"
        },
        "previous": {
          "$ref": "#/$defs/AcquisitionPreviousPeriod"
        },
        "funnelDelta": {
          "$ref": "#/$defs/AcquisitionFunnel"
        },
        "channels": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "source",
              "medium",
              "campaign",
              "visitors"
            ],
            "properties": {
              "source": {
                "type": "string"
              },
              "medium": {
                "type": "string"
              },
              "campaign": {
                "type": "string"
              },
              "visitors": {
                "type": "integer"
              }
            }
          }
        },
        "pages": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "path",
              "pageKind",
              "visitors",
              "views"
            ],
            "properties": {
              "path": {
                "type": "string"
              },
              "pageKind": {
                "type": "string"
              },
              "visitors": {
                "type": "integer"
              },
              "views": {
                "type": "integer"
              }
            }
          }
        }
      }
    }
  },
  "$defs": {
    "AcquisitionFunnel": {
      "type": "object",
      "required": [
        "visitors",
        "engagedVisitors",
        "ctaVisitors",
        "signedInVisitors",
        "activatedPrincipals",
        "firstHandoversCreated",
        "continuedHandovers",
        "continuedOriginators",
        "totalHandoversCreated",
        "totalCreatorPrincipals"
      ],
      "properties": {
        "visitors": {
          "type": "integer"
        },
        "engagedVisitors": {
          "type": "integer"
        },
        "ctaVisitors": {
          "type": "integer"
        },
        "signedInVisitors": {
          "type": "integer"
        },
        "activatedPrincipals": {
          "type": "integer"
        },
        "firstHandoversCreated": {
          "type": "integer"
        },
        "continuedHandovers": {
          "type": "integer"
        },
        "continuedOriginators": {
          "type": "integer"
        },
        "totalHandoversCreated": {
          "type": "integer"
        },
        "totalCreatorPrincipals": {
          "type": "integer"
        }
      }
    },
    "AcquisitionPreviousPeriod": {
      "type": "object",
      "required": [
        "start",
        "end",
        "funnel"
      ],
      "properties": {
        "start": {
          "type": "string",
          "format": "date-time"
        },
        "end": {
          "type": "string",
          "format": "date-time"
        },
        "funnel": {
          "$ref": "#/$defs/AcquisitionFunnel"
        }
      }
    }
  }
}