{
  "$schema" : "https://json-schema.org/draft/2020-12/schema",
  "type" : "object",
  "properties" : {
    "timestamp" : {
      "type" : "string",
      "format" : "date-time",
      "x-isAttributed" : false,
      "description" : "The timestamp when the event originally occurred"
    },
    "source_address" : {
      "type" : "string",
      "x-isAttributed" : false,
      "oneOf" : [ {
        "format" : "ipv4"
      }, {
        "format" : "ipv6"
      } ],
      "description" : "The originating IP address of the request"
    },
    "geoip_city" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "The city name of the source address"
    },
    "geoip_country_code" : {
      "type" : "string",
      "x-isAttributed" : false,
      "pattern" : "[A-Z]{2}",
      "description" : "Two-character ISO 3166-1 country code for the source IP address"
    },
    "geoip_country_name" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "The country name of the source address"
    },
    "geoip_organization" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "The organization name attributed from source address"
    },
    "geoip_region" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "The region name of the source address"
    },
    "server_address" : {
      "type" : "string",
      "x-isAttributed" : false,
      "oneOf" : [ {
        "format" : "ipv4"
      }, {
        "format" : "ipv6"
      } ],
      "description" : "The IP address of the server"
    },
    "url_host" : {
      "type" : "string",
      "x-isAttributed" : false,
      "format" : "hostname",
      "description" : "The URL host of the target website"
    },
    "http_method" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "The HTTP method used in the request"
    },
    "url_path" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "The URL path of the resource requests"
    },
    "response_status" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "The HTTP status codes returned over HTTP call",
      "pattern" : "\\d+"
    },
    "outgoing_bytes" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "The size of the HTTP response that was returned to the client, in bytes",
      "pattern" : "\\d+"
    },
    "user_agent" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "The user agent value from the HTTP request headers"
    },
    "referer" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "The referer value from the HTTP request headers"
    },
    "forwarded_for" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "List of IP addresses identifying the trace of the request from the client to web server,\nthrough any intermediate proxies"
    },
    "auth_user" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "The username of the currently authenticated client requesting the web page"
    },
    "source_json" : {
      "type" : "object",
      "x-isAttributed" : false,
      "description" : "The data that was received or collected by our collector or endpoint agent, formatted as JSON"
    },
    "source_data" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "The unparsed, original log line as received from the collector"
    },
    "custom_data" : {
      "type" : "object",
      "x-isAttributed" : false,
      "description" : "JSON string produced by applying one or more user-defined custom parsers to the original data"
    },
    "entry_id" : {
      "type" : "string",
      "x-isAttributed" : false,
      "description" : "Unique Entry ID assigned to each document or log entry"
    }
  },
  "required" : [ "timestamp", "source_address" ],
  "description" : "Web server access log"
}