{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "title": "Link Interceptor POST request schema",
  "description": "Sent when a shareLink is clicked and the Link Interceptor is on",
  "type": "object",
  "properties": {
    "tenantAlias": {
      "type": "string",
      "title": "Tenant Alias",
      "description": "Tenant from which the given shareLink is from"
    },
    "programId": {
      "type": "string",
      "title": "Program Id",
      "description": "The Id of the program the given shareLink is from"
    },
    "referralCode": {
      "type": "string",
      "title": "Referral Code",
      "description": "The Referrers code that will be used by the referred for the referral"
    },
    "shareLink": {
      "type": "string",
      "title": "Share Link",
      "description": "The referrer's shareLink clicked by the referred for the referral"
    },
    "referrer": {
      "type": "object",
      "description": "The Referrer user who is associated with the shareLink that was clicked on",
      "properties": {
        "id": {
          "type": "string",
          "title": "User Id",
          "description": "The user's unique identifier"
        },
        "accountId": {
          "type": "string",
          "title": "Account Id",
          "description": "The user's unique account identifier"
        },
        "firstName": {
          "type": "string",
          "title": "First Name",
          "description": "The user's first name"
        },
        "lastName": {
          "type": "string",
          "title": "First Name",
          "description": "The user's last name"
        },
        "email": {
          "type": "string",
          "title": "Email",
          "description": "The user's email address"
        },
        "imageUrl": {
          "type": "string",
          "title": "Image Url",
          "description": "The URL to an image of this user"
        }
      }
    },
    "integrationConfig": {
      "title": "Integration Configuration",
      "description": "Configuration setting for the integration",
      "type": "object"
    },
    "downstreamUrl": {
      "type": "string",
      "title": "Down Stream Link",
      "description": "The link that the user would be redirected to in absence of an integration"
    },
    "signupUrl": {
      "type": "string",
      "title": "Signup Link",
      "description": "The original signup URL configured by the program which has not been changed or processed by any integrations"
    },
    "urlParams": {
      "type": "object",
      "title": "URL Parameters",
      "description": "The URL parameters SaaSquatch backend would be attaching to the signupUrl"
    }
  }
}