{
  "definitions": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://example.com/root.json",
  "type": "object",
  "title": "The Root Schema",
  "required": [
    "eventTimestamp",
    "screenId",
    "type"
  ],
  "additionalProperties": false,
  "properties": {
    "eventTimestamp": {
      "$id": "#/properties/eventTimestamp",
      "type": "string",
      "description": "EventTimestamp must be ISO 8601 UTC",
      "format": "date-time"
    },
    "screenId": {
      "$id": "#/properties/screenId",
      "type": "string",
      "title": "Screen id",
      "examples": [
        "ad71dba8-c881-11e8-a8d5-f2801f1b9fd1"
      ],
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "type": {
      "$id": "#/properties/type",
      "type": "string",
      "description": "Diagnostics type",
      "examples": [
        "INFO",
        "HEARTBEAT",
        "ERROR",
        "STATISTICS",
        "SCREEN"
      ]
    },
    "payload": {
      "$id": "#/properties/payload",
      "type": "object",
      "description": "Diagnostics payload, a dictionary of key/values"
    }
  }
}