{
  "title": "Vector Tile Layer (VectorTileLayer)",
  "type": "object",
  "$schema": "http://json-schema.org/draft-04/schema",
  "description": "A vector tile layer references a set of web-accessible vector tiles and the corresponding style for how those tiles should be drawn.",
  "properties": {
    "id": {
      "type": "string",
      "description": "A unique identifying string for the layer."
    },
    "isReference": {
      "type": "boolean",
      "description": "Applicable if used as a baseMapLayer. A boolean value indicating whether or not the baseMapLayer draws on top (true) of other layers, including operationalLayers , or below (false)."
    },
    "itemId": {
      "type": "string",
      "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal."
    },
    "layerType": {
      "type": "string",
      "description": "String indicating the layer type.",
      "enum": [
        "VectorTileLayer"
      ]
    },
    "listMode": {
      "type": "string",
      "description": "To show or hide the layer in the layer list",
      "enum": [
        "hide",
        "show"
      ]
    },
    "maxScale": {
      "type": "number",
      "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator."
    },
    "minScale": {
      "type": "number",
      "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator."
    },
    "opacity": {
      "type": "number",
      "description": "The degree of transparency applied to the layer on the client side, where 0 is full transparency and 1 is no transparency.",
      "minimum": 0,
      "maximum": 1,
      "default": 1
    },
    "styleUrl": {
      "type": "string",
      "description": "A url to a JSON file containing the stylesheet information used to render the layer. You may also pass an object containing the stylesheet information identical to the JSON file."
    },
    "title": {
      "type": "string",
      "description": "A user-friendly string title for the layer that can be used in a table of contents."
    },
    "visibility": {
      "type": "boolean",
      "description": "Boolean property determining whether the layer is initially visible in the web scene."
    }
  },
  "required": [
    "id",
    "layerType",
    "styleUrl",
    "title"
  ],
  "additionalProperties": false,
  "esriDocumentation": {
    "examples": [
      {
        "title": "operationalLayer",
        "description": "",
        "code": {
          "operationalLayers": [
            {
              "id": "VectorTile_3534",
              "layerType": "VectorTileLayer",
              "title": "World_Basemap",
              "styleUrl": "https://basemaps.arcgis.com/b2/arcgis/rest/services/World_Basemap/VectorTileServer/resources/styles/root.json",
              "itemId": "bdf1eec3fa79456c8c7c2bb62f86dade",
              "visibility": true,
              "opacity": 1
            }
          ]
        }
      },
      {
        "title": "baseMapLayer",
        "description": "",
        "code": {
          "baseMapLayers": [
            {
              "id": "VectorTile_3534",
              "layerType": "VectorTileLayer",
              "title": "World_Basemap",
              "styleUrl": "https://basemaps.arcgis.com/b2/arcgis/rest/services/World_Basemap/VectorTileServer/resources/styles/root.json",
              "visibility": true,
              "opacity": 1
            }
          ],
          "title": "VectorTileLayer as BaseMap",
          "elevationLayers": [
            {
              "id": "globalElevation",
              "listMode": "hide",
              "title": "Terrain3D",
              "url": "http://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer",
              "visibility": true,
              "layerType": "ArcGISTiledElevationServiceLayer"
            }
          ]
        }
      }
    ]
  }
}
