json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema",
      "additionalProperties": false,
      "anyOf": [
          {
              "required": [
                  "id",
                  "layerType",
                  "title",
                  "url"
              ]
          },
          {
              "required": [
                  "id",
                  "layerType",
                  "path",
                  "title"
              ]
          }
      ],
      "description": "Keyhole Markup Language (KML) is an XML-based format for storing geographic data and associated content and is an official Open Geospatial Consortium (OGC) standard. KML is a common format for sharing geographic data with non-GIS users as it can be easily delivered on the Internet.",
      "esriDocumentation": {
          "examples": [
              {
                  "code": {
                      "operationalLayers": [
                          {
                              "id": "87a5bcad920440f293a36ff3fea1a4f8",
                              "layerType": "KML",
                              "path": "file:../commondata/kml/paris.kml",
                              "title": "Paris",
                              "visibility": true
                          }
                      ]
                  },
                  "title": "KML Layer"
              }
          ]
      },
      "properties": {
          "id": {
              "description": "A unique identifying string for the layer.",
              "type": "string"
          },
          "itemId": {
              "description": "A string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
              "type": "string"
          },
          "layerType": {
              "description": "String indicating the layer type.",
              "enum": [
                  "KML"
              ],
              "type": "string"
          },
          "listMode": {
              "description": "To show or hide the sublayer in the layer list.",
              "enum": [
                  "hide",
                  "show"
              ],
              "type": "string"
          },
          "maxScale": {
              "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator.",
              "minimum": 0,
              "type": "number"
          },
          "minScale": {
              "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator.",
              "minimum": 0,
              "type": "number"
          },
          "opacity": {
              "default": 1,
              "description": "The degree of transparency applied to the layer on the client side, where 0 is full transparency and 1 is no transparency.",
              "maximum": 1,
              "minimum": 0,
              "type": "number"
          },
          "path": {
              "description": "For offline data, a path to a KML file. A URI format is used, starting with `file:` followed by a file system path with an extension of `.kml` or `.kmz`.  A relative path must be from the file which defines the layer. For example `file:../commondata/kml/paris.kml`.",
              "pattern": "^file:.+\\.km[lz]$",
              "type": "string"
          },
          "refreshInterval": {
              "description": "Refresh interval of the layer in minutes. Non-zero value indicates automatic layer refresh at the specified interval. Value of 0 indicates auto refresh is not enabled.",
              "type": "number"
          },
          "showLegend": {
              "default": true,
              "description": "Indicates whether to allow scene authors the ability to control what layers should be shown in a client's legend.",
              "type": "boolean"
          },
          "title": {
              "description": "A user-friendly string title for the layer that can be used in a table of contents.",
              "type": "string"
          },
          "url": {
              "_format": "uri",
              "description": "The URL to the layer.",
              "type": "string"
          },
          "visibility": {
              "default": true,
              "description": "Boolean property determining whether the layer is initially visible in the web scene.",
              "type": "boolean"
          },
          "visibleFolders": {
              "description": "Array of numeric IDs of folders that will be made visible.",
              "items": {
                  "type": "integer"
              },
              "type": "array",
              "_uniqueItems": true
          }
      },
      "title": "KML Layer (KML)",
      "type": "object"
  }