{
  "schemaVersion": 1,
  "operation": {
    "operationId": "getDashboardVisual",
    "method": "GET",
    "path": "/api/v1/workspaces/{workspace}/dashboards/{dashboard}/pages/{page}/visuals/{visual}",
    "summary": "Describe dashboard visual",
    "description": "",
    "tags": [
      "BI"
    ],
    "effect": "read",
    "confirmation": "never",
    "authorization": {
      "mode": "privilege",
      "privilege": "VIEW_ITEM"
    },
    "parameters": [
      {
        "name": "workspace",
        "in": "path",
        "required": true,
        "description": "",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "dashboard",
        "in": "path",
        "required": true,
        "description": "",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "page",
        "in": "path",
        "required": true,
        "description": "",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "visual",
        "in": "path",
        "required": true,
        "description": "",
        "schema": {
          "type": "string"
        }
      }
    ],
    "responses": [
      {
        "status": "200",
        "description": "The request has succeeded.",
        "content": [
          {
            "contentType": "application/json",
            "schema": {
              "$ref": "#/components/schemas/DashboardVisualDescribeResponse"
            }
          }
        ]
      },
      {
        "status": "400",
        "description": "The server could not understand the request due to invalid syntax.",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      },
      {
        "status": "401",
        "description": "Access is unauthorized.",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      },
      {
        "status": "403",
        "description": "Access is forbidden.",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      },
      {
        "status": "404",
        "description": "The server cannot find the requested resource.",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      },
      {
        "status": "409",
        "description": "The request conflicts with the current state of the server.",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      },
      {
        "status": "412",
        "description": "Precondition failed.",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      },
      {
        "status": "413",
        "description": "Client error",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      },
      {
        "status": "415",
        "description": "Client error",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      },
      {
        "status": "422",
        "description": "Client error",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      },
      {
        "status": "429",
        "description": "Client error",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      },
      {
        "status": "500",
        "description": "Server error",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      },
      {
        "status": "502",
        "description": "Server error",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      },
      {
        "status": "503",
        "description": "Service unavailable.",
        "content": [
          {
            "contentType": "application/problem+json",
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            }
          }
        ]
      }
    ]
  },
  "schemas": {
    "CartesianVisualizationPresentation": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationPresentation"
        }
      ],
      "example": {
        "area": true,
        "comboSeries": [
          {
            "axis": "primary",
            "mark": "line",
            "seriesValue": "example"
          }
        ],
        "dataZoom": true,
        "histogramBins": 1,
        "labelPosition": "automatic",
        "orientation": "horizontal",
        "showSymbols": true,
        "smooth": true,
        "stacked": true,
        "step": true,
        "symbolSize": 1
      },
      "properties": {
        "area": {
          "example": true,
          "type": "boolean"
        },
        "comboSeries": {
          "example": [
            {
              "axis": "primary",
              "mark": "line",
              "seriesValue": "example"
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationComboSeries"
          },
          "type": "array"
        },
        "dataZoom": {
          "example": true,
          "type": "boolean"
        },
        "histogramBins": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "labelPosition": {
          "$ref": "#/components/schemas/VisualizationLabelPosition"
        },
        "orientation": {
          "$ref": "#/components/schemas/VisualizationOrientation"
        },
        "showSymbols": {
          "example": true,
          "type": "boolean"
        },
        "smooth": {
          "example": true,
          "type": "boolean"
        },
        "stacked": {
          "example": true,
          "type": "boolean"
        },
        "step": {
          "example": true,
          "type": "boolean"
        },
        "symbolSize": {
          "example": 1,
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "smooth",
        "stacked",
        "showSymbols",
        "dataZoom",
        "area",
        "step"
      ],
      "type": "object"
    },
    "CartesianVisualizationSpec": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationSpecBase"
        }
      ],
      "example": {
        "kind": "example",
        "mark": "line",
        "presentation": {
          "area": true,
          "comboSeries": [
            {
              "axis": "primary",
              "mark": "line",
              "seriesValue": "example"
            }
          ],
          "dataZoom": true,
          "histogramBins": 1,
          "labelPosition": "automatic",
          "orientation": "horizontal",
          "showSymbols": true,
          "smooth": true,
          "stacked": true,
          "step": true,
          "symbolSize": 1
        },
        "series": {
          "dataset": "example",
          "field": "example"
        },
        "x": {
          "dataset": "example",
          "field": "example"
        },
        "y": [
          {
            "dataset": "example",
            "field": "example"
          }
        ]
      },
      "properties": {
        "kind": {
          "enum": [
            "cartesian"
          ],
          "example": "example",
          "type": "string"
        },
        "mark": {
          "$ref": "#/components/schemas/VisualizationCartesianMark"
        },
        "presentation": {
          "$ref": "#/components/schemas/CartesianVisualizationPresentation"
        },
        "series": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "x": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "y": {
          "example": [
            {
              "dataset": "example",
              "field": "example"
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationFieldRef"
          },
          "type": "array"
        }
      },
      "required": [
        "kind",
        "mark",
        "x",
        "y",
        "presentation"
      ],
      "type": "object"
    },
    "CompactVisualizationFormat": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationFormatBase"
        }
      ],
      "example": {
        "kind": "example",
        "maximumFractionDigits": 1
      },
      "properties": {
        "kind": {
          "enum": [
            "compact"
          ],
          "example": "example",
          "type": "string"
        },
        "maximumFractionDigits": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "CurrencyVisualizationFormat": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationFormatBase"
        }
      ],
      "example": {
        "currency": "example",
        "kind": "example",
        "maximumFractionDigits": 1,
        "minimumFractionDigits": 1
      },
      "properties": {
        "currency": {
          "example": "example",
          "type": "string"
        },
        "kind": {
          "enum": [
            "currency"
          ],
          "example": "example",
          "type": "string"
        },
        "maximumFractionDigits": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "minimumFractionDigits": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "kind",
        "currency"
      ],
      "type": "object"
    },
    "CustomVisualizationSpec": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationSpecBase"
        }
      ],
      "example": {
        "engine": "vega_lite",
        "kind": "example",
        "program": "example",
        "programDigest": "example"
      },
      "properties": {
        "engine": {
          "$ref": "#/components/schemas/VisualizationCustomEngine"
        },
        "kind": {
          "enum": [
            "custom"
          ],
          "example": "example",
          "type": "string"
        },
        "program": {
          "example": "example",
          "type": "string"
        },
        "programDigest": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "engine",
        "program",
        "programDigest"
      ],
      "type": "object"
    },
    "DashboardComponentPlacement": {
      "example": {
        "col": 1,
        "colSpan": 1,
        "row": 1,
        "rowSpan": 1
      },
      "properties": {
        "col": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "colSpan": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "row": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "rowSpan": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "DashboardVisualDescribeResponse": {
      "example": {
        "componentId": "example",
        "height": 1,
        "id": "example",
        "placement": {
          "col": 1,
          "colSpan": 1,
          "row": 1,
          "rowSpan": 1
        },
        "rendererID": "example",
        "specRevision": "example",
        "width": 1,
        "x": 1,
        "y": 1
      },
      "properties": {
        "componentId": {
          "example": "example",
          "type": "string"
        },
        "height": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "id": {
          "example": "example",
          "type": "string"
        },
        "placement": {
          "$ref": "#/components/schemas/DashboardComponentPlacement"
        },
        "rendererID": {
          "example": "example",
          "type": "string"
        },
        "spec": {
          "$ref": "#/components/schemas/VisualizationSpec"
        },
        "specRevision": {
          "example": "example",
          "type": "string"
        },
        "width": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "x": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "y": {
          "example": 1,
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "id",
        "rendererID",
        "specRevision",
        "spec"
      ],
      "type": "object"
    },
    "DurationVisualizationFormat": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationFormatBase"
        }
      ],
      "example": {
        "kind": "example",
        "unit": "example"
      },
      "properties": {
        "kind": {
          "enum": [
            "duration"
          ],
          "example": "example",
          "type": "string"
        },
        "unit": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "unit"
      ],
      "type": "object"
    },
    "GeographicVisualizationPresentation": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationPresentation"
        }
      ],
      "example": {
        "basemap": {
          "archiveDigest": "example",
          "archiveUrl": "example",
          "attribution": "example",
          "bounds": [
            1
          ],
          "glyphsUrl": "example",
          "id": "example",
          "labelAnchor": "example",
          "license": "example",
          "maximumZoom": 1,
          "minimumZoom": 1,
          "source": "example",
          "spriteUrl": "example",
          "styleDigest": "example",
          "styleUrl": "example"
        },
        "camera": {
          "center": [
            1
          ],
          "maximumZoom": 1,
          "minimumZoom": 1,
          "mode": "fit_data",
          "padding": 1,
          "zoom": 1
        },
        "controls": {
          "compass": true,
          "reset": true,
          "zoom": true
        },
        "labelDensity": "hidden",
        "roam": true,
        "theme": "auto"
      },
      "properties": {
        "basemap": {
          "$ref": "#/components/schemas/VisualizationMapStyleAsset"
        },
        "camera": {
          "$ref": "#/components/schemas/VisualizationMapCamera"
        },
        "controls": {
          "$ref": "#/components/schemas/VisualizationMapControls"
        },
        "labelDensity": {
          "$ref": "#/components/schemas/VisualizationMapLabelDensity"
        },
        "roam": {
          "example": true,
          "type": "boolean"
        },
        "theme": {
          "$ref": "#/components/schemas/VisualizationMapTheme"
        }
      },
      "required": [
        "roam",
        "theme",
        "labelDensity",
        "camera",
        "controls"
      ],
      "type": "object"
    },
    "GeographicVisualizationSpec": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationSpecBase"
        }
      ],
      "example": {
        "kind": "example",
        "layers": [],
        "presentation": {
          "basemap": {
            "archiveDigest": "example",
            "archiveUrl": "example",
            "attribution": "example",
            "bounds": [
              1
            ],
            "glyphsUrl": "example",
            "id": "example",
            "labelAnchor": "example",
            "license": "example",
            "maximumZoom": 1,
            "minimumZoom": 1,
            "source": "example",
            "spriteUrl": "example",
            "styleDigest": "example",
            "styleUrl": "example"
          },
          "camera": {
            "center": [
              1
            ],
            "maximumZoom": 1,
            "minimumZoom": 1,
            "mode": "fit_data",
            "padding": 1,
            "zoom": 1
          },
          "controls": {
            "compass": true,
            "reset": true,
            "zoom": true
          },
          "labelDensity": "hidden",
          "roam": true,
          "theme": "auto"
        },
        "spatialInteractions": [
          {
            "gestures": [
              "box"
            ],
            "id": "example",
            "latitude": {
              "source": {
                "dataset": "example",
                "field": "example"
              },
              "targetFactID": "example",
              "targetFieldID": "example"
            },
            "longitude": {
              "source": {
                "dataset": "example",
                "field": "example"
              },
              "targetFactID": "example",
              "targetFieldID": "example"
            },
            "targets": [
              "example"
            ]
          }
        ]
      },
      "properties": {
        "kind": {
          "enum": [
            "geographic"
          ],
          "example": "example",
          "type": "string"
        },
        "layers": {
          "example": [],
          "items": {
            "$ref": "#/components/schemas/VisualizationGeographicLayer"
          },
          "type": "array"
        },
        "presentation": {
          "$ref": "#/components/schemas/GeographicVisualizationPresentation"
        },
        "spatialInteractions": {
          "example": [
            {
              "gestures": [
                "box"
              ],
              "id": "example",
              "latitude": {
                "source": {
                  "dataset": "example",
                  "field": "example"
                },
                "targetFactID": "example",
                "targetFieldID": "example"
              },
              "longitude": {
                "source": {
                  "dataset": "example",
                  "field": "example"
                },
                "targetFactID": "example",
                "targetFieldID": "example"
              },
              "targets": [
                "example"
              ]
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationSpatialSelectionInteraction"
          },
          "type": "array"
        }
      },
      "required": [
        "kind",
        "layers",
        "spatialInteractions",
        "presentation"
      ],
      "type": "object"
    },
    "GridVisualizationPresentation": {
      "example": {
        "rowHeight": 1,
        "showHeader": true,
        "striped": true
      },
      "properties": {
        "rowHeight": {
          "example": 1,
          "format": "int64",
          "type": "integer"
        },
        "showHeader": {
          "example": true,
          "type": "boolean"
        },
        "striped": {
          "example": true,
          "type": "boolean"
        }
      },
      "required": [
        "rowHeight",
        "striped",
        "showHeader"
      ],
      "type": "object"
    },
    "HierarchyVisualizationPresentation": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationPresentation"
        }
      ],
      "example": {
        "breadcrumb": true,
        "curveness": 1,
        "focus": "none",
        "initialDepth": 1,
        "layout": "standard",
        "nodeGap": 1,
        "orientation": "horizontal",
        "roam": true
      },
      "properties": {
        "breadcrumb": {
          "example": true,
          "type": "boolean"
        },
        "curveness": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "focus": {
          "$ref": "#/components/schemas/VisualizationGraphFocus"
        },
        "initialDepth": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "layout": {
          "$ref": "#/components/schemas/VisualizationHierarchyLayout"
        },
        "nodeGap": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "orientation": {
          "$ref": "#/components/schemas/VisualizationOrientation"
        },
        "roam": {
          "example": true,
          "type": "boolean"
        }
      },
      "required": [
        "orientation",
        "roam"
      ],
      "type": "object"
    },
    "HierarchyVisualizationSpec": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationSpecBase"
        }
      ],
      "example": {
        "kind": "example",
        "mark": "treemap",
        "node": {
          "dataset": "example",
          "field": "example"
        },
        "parent": {
          "dataset": "example",
          "field": "example"
        },
        "presentation": {
          "breadcrumb": true,
          "curveness": 1,
          "focus": "none",
          "initialDepth": 1,
          "layout": "standard",
          "nodeGap": 1,
          "orientation": "horizontal",
          "roam": true
        },
        "source": {
          "dataset": "example",
          "field": "example"
        },
        "target": {
          "dataset": "example",
          "field": "example"
        },
        "value": {
          "dataset": "example",
          "field": "example"
        }
      },
      "properties": {
        "kind": {
          "enum": [
            "hierarchy"
          ],
          "example": "example",
          "type": "string"
        },
        "mark": {
          "$ref": "#/components/schemas/VisualizationHierarchyMark"
        },
        "node": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "parent": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "presentation": {
          "$ref": "#/components/schemas/HierarchyVisualizationPresentation"
        },
        "source": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "target": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "value": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        }
      },
      "required": [
        "kind",
        "mark",
        "node",
        "presentation"
      ],
      "type": "object"
    },
    "KPIVisualizationPresentation": {
      "example": {
        "note": "example",
        "thresholds": [
          {
            "tone": "neutral",
            "value": 1
          }
        ],
        "tone": "neutral",
        "trend": "neutral"
      },
      "properties": {
        "note": {
          "example": "example",
          "type": "string"
        },
        "thresholds": {
          "example": [
            {
              "tone": "neutral",
              "value": 1
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationThreshold"
          },
          "type": "array"
        },
        "tone": {
          "$ref": "#/components/schemas/VisualizationTone"
        },
        "trend": {
          "$ref": "#/components/schemas/VisualizationKPITrend"
        }
      },
      "required": [
        "trend"
      ],
      "type": "object"
    },
    "KPIVisualizationSpec": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationSpecBase"
        }
      ],
      "example": {
        "comparison": {
          "dataset": "example",
          "field": "example"
        },
        "kind": "example",
        "presentation": {
          "note": "example",
          "thresholds": [
            {
              "tone": "neutral",
              "value": 1
            }
          ],
          "tone": "neutral",
          "trend": "neutral"
        },
        "trend": {
          "dataset": "example",
          "field": "example"
        },
        "value": {
          "dataset": "example",
          "field": "example"
        }
      },
      "properties": {
        "comparison": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "kind": {
          "enum": [
            "kpi"
          ],
          "example": "example",
          "type": "string"
        },
        "presentation": {
          "$ref": "#/components/schemas/KPIVisualizationPresentation"
        },
        "trend": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "value": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        }
      },
      "required": [
        "kind",
        "value",
        "presentation"
      ],
      "type": "object"
    },
    "MatrixVisualizationSpec": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationSpecBase"
        }
      ],
      "example": {
        "columns": [
          {
            "dataset": "example",
            "field": "example"
          }
        ],
        "kind": "example",
        "measureFormatting": {
          "key": []
        },
        "measures": [
          {
            "dataset": "example",
            "field": "example"
          }
        ],
        "presentation": {
          "rowHeight": 1,
          "showHeader": true,
          "striped": true
        },
        "rows": [
          {
            "dataset": "example",
            "field": "example"
          }
        ]
      },
      "properties": {
        "columns": {
          "example": [
            {
              "dataset": "example",
              "field": "example"
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationFieldRef"
          },
          "type": "array"
        },
        "kind": {
          "enum": [
            "matrix"
          ],
          "example": "example",
          "type": "string"
        },
        "measureFormatting": {
          "additionalProperties": {
            "items": {
              "$ref": "#/components/schemas/TableVisualizationFormattingRule"
            },
            "type": "array"
          },
          "example": {
            "key": []
          },
          "type": "object"
        },
        "measures": {
          "example": [
            {
              "dataset": "example",
              "field": "example"
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationFieldRef"
          },
          "type": "array"
        },
        "presentation": {
          "$ref": "#/components/schemas/GridVisualizationPresentation"
        },
        "rows": {
          "example": [
            {
              "dataset": "example",
              "field": "example"
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationFieldRef"
          },
          "type": "array"
        }
      },
      "required": [
        "kind",
        "rows",
        "columns",
        "measures",
        "measureFormatting",
        "presentation"
      ],
      "type": "object"
    },
    "NumberVisualizationFormat": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationFormatBase"
        }
      ],
      "example": {
        "kind": "example",
        "maximumFractionDigits": 1,
        "minimumFractionDigits": 1
      },
      "properties": {
        "kind": {
          "enum": [
            "number"
          ],
          "example": "example",
          "type": "string"
        },
        "maximumFractionDigits": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "minimumFractionDigits": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "PercentVisualizationFormat": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationFormatBase"
        }
      ],
      "example": {
        "kind": "example",
        "maximumFractionDigits": 1,
        "minimumFractionDigits": 1
      },
      "properties": {
        "kind": {
          "enum": [
            "percent"
          ],
          "example": "example",
          "type": "string"
        },
        "maximumFractionDigits": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "minimumFractionDigits": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "PivotVisualizationSpec": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationSpecBase"
        }
      ],
      "example": {
        "columns": [
          {
            "dataset": "example",
            "field": "example"
          }
        ],
        "kind": "example",
        "measureFormatting": {
          "key": []
        },
        "measures": [
          {
            "dataset": "example",
            "field": "example"
          }
        ],
        "presentation": {
          "rowHeight": 1,
          "showHeader": true,
          "striped": true
        },
        "rows": [
          {
            "dataset": "example",
            "field": "example"
          }
        ]
      },
      "properties": {
        "columns": {
          "example": [
            {
              "dataset": "example",
              "field": "example"
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationFieldRef"
          },
          "type": "array"
        },
        "kind": {
          "enum": [
            "pivot"
          ],
          "example": "example",
          "type": "string"
        },
        "measureFormatting": {
          "additionalProperties": {
            "items": {
              "$ref": "#/components/schemas/TableVisualizationFormattingRule"
            },
            "type": "array"
          },
          "example": {
            "key": []
          },
          "type": "object"
        },
        "measures": {
          "example": [
            {
              "dataset": "example",
              "field": "example"
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationFieldRef"
          },
          "type": "array"
        },
        "presentation": {
          "$ref": "#/components/schemas/GridVisualizationPresentation"
        },
        "rows": {
          "example": [
            {
              "dataset": "example",
              "field": "example"
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationFieldRef"
          },
          "type": "array"
        }
      },
      "required": [
        "kind",
        "rows",
        "columns",
        "measures",
        "measureFormatting",
        "presentation"
      ],
      "type": "object"
    },
    "PolarVisualizationPresentation": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationPresentation"
        }
      ],
      "example": {
        "area": true,
        "maximum": 1,
        "minimum": 1,
        "progressWidth": 1,
        "showPointer": true,
        "target": 1,
        "thresholds": [
          {
            "tone": "neutral",
            "value": 1
          }
        ]
      },
      "properties": {
        "area": {
          "example": true,
          "type": "boolean"
        },
        "maximum": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "minimum": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "progressWidth": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "showPointer": {
          "example": true,
          "type": "boolean"
        },
        "target": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "thresholds": {
          "example": [
            {
              "tone": "neutral",
              "value": 1
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationThreshold"
          },
          "type": "array"
        }
      },
      "required": [
        "showPointer"
      ],
      "type": "object"
    },
    "PolarVisualizationSpec": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationSpecBase"
        }
      ],
      "example": {
        "category": {
          "dataset": "example",
          "field": "example"
        },
        "kind": "example",
        "mark": "radar",
        "presentation": {
          "area": true,
          "maximum": 1,
          "minimum": 1,
          "progressWidth": 1,
          "showPointer": true,
          "target": 1,
          "thresholds": [
            {
              "tone": "neutral",
              "value": 1
            }
          ]
        },
        "series": {
          "dataset": "example",
          "field": "example"
        },
        "value": {
          "dataset": "example",
          "field": "example"
        }
      },
      "properties": {
        "category": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "kind": {
          "enum": [
            "polar"
          ],
          "example": "example",
          "type": "string"
        },
        "mark": {
          "$ref": "#/components/schemas/VisualizationPolarMark"
        },
        "presentation": {
          "$ref": "#/components/schemas/PolarVisualizationPresentation"
        },
        "series": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "value": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        }
      },
      "required": [
        "kind",
        "mark",
        "value",
        "presentation"
      ],
      "type": "object"
    },
    "ProblemDetails": {
      "example": {
        "code": "example",
        "detail": "example",
        "errors": [
          {
            "code": "example",
            "detail": "example",
            "field": "example"
          }
        ],
        "instance": "example",
        "requestId": "example",
        "status": 1,
        "title": "example",
        "type": "example"
      },
      "properties": {
        "code": {
          "example": "example",
          "type": "string"
        },
        "detail": {
          "example": "example",
          "type": "string"
        },
        "errors": {
          "example": [
            {
              "code": "example",
              "detail": "example",
              "field": "example"
            }
          ],
          "items": {
            "$ref": "#/components/schemas/ProblemFieldError"
          },
          "type": "array"
        },
        "instance": {
          "example": "example",
          "type": "string"
        },
        "requestId": {
          "example": "example",
          "type": "string"
        },
        "status": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "title": {
          "example": "example",
          "type": "string"
        },
        "type": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "detail",
        "instance",
        "code",
        "requestId",
        "errors"
      ],
      "type": "object"
    },
    "ProblemFieldError": {
      "example": {
        "code": "example",
        "detail": "example",
        "field": "example"
      },
      "properties": {
        "code": {
          "example": "example",
          "type": "string"
        },
        "detail": {
          "example": "example",
          "type": "string"
        },
        "field": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "field",
        "code",
        "detail"
      ],
      "type": "object"
    },
    "ProportionalVisualizationPresentation": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationPresentation"
        }
      ],
      "example": {
        "align": "example",
        "centerLabel": "example",
        "innerRadius": 1,
        "labelPosition": "automatic",
        "orientation": "horizontal",
        "outerRadius": 1,
        "rose": true,
        "sort": "ascending"
      },
      "properties": {
        "align": {
          "example": "example",
          "type": "string"
        },
        "centerLabel": {
          "example": "example",
          "type": "string"
        },
        "innerRadius": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "labelPosition": {
          "$ref": "#/components/schemas/VisualizationLabelPosition"
        },
        "orientation": {
          "$ref": "#/components/schemas/VisualizationOrientation"
        },
        "outerRadius": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "rose": {
          "example": true,
          "type": "boolean"
        },
        "sort": {
          "$ref": "#/components/schemas/VisualizationSortDirection"
        }
      },
      "required": [
        "orientation",
        "rose"
      ],
      "type": "object"
    },
    "ProportionalVisualizationSpec": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationSpecBase"
        }
      ],
      "example": {
        "category": {
          "dataset": "example",
          "field": "example"
        },
        "kind": "example",
        "mark": "pie",
        "presentation": {
          "align": "example",
          "centerLabel": "example",
          "innerRadius": 1,
          "labelPosition": "automatic",
          "orientation": "horizontal",
          "outerRadius": 1,
          "rose": true,
          "sort": "ascending"
        },
        "series": {
          "dataset": "example",
          "field": "example"
        },
        "value": {
          "dataset": "example",
          "field": "example"
        }
      },
      "properties": {
        "category": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "kind": {
          "enum": [
            "proportional"
          ],
          "example": "example",
          "type": "string"
        },
        "mark": {
          "$ref": "#/components/schemas/VisualizationProportionalMark"
        },
        "presentation": {
          "$ref": "#/components/schemas/ProportionalVisualizationPresentation"
        },
        "series": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "value": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        }
      },
      "required": [
        "kind",
        "mark",
        "category",
        "value",
        "presentation"
      ],
      "type": "object"
    },
    "TableBackgroundScaleFormattingRule": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TableVisualizationFormattingRuleBase"
        }
      ],
      "example": {
        "highColor": "example",
        "kind": "example",
        "lowColor": "example",
        "maximum": 1,
        "minimum": 1
      },
      "properties": {
        "highColor": {
          "example": "example",
          "type": "string"
        },
        "kind": {
          "enum": [
            "background_scale"
          ],
          "example": "example",
          "type": "string"
        },
        "lowColor": {
          "example": "example",
          "type": "string"
        },
        "maximum": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "minimum": {
          "example": 1,
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "TableBadgeFormattingRule": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TableVisualizationFormattingRuleBase"
        }
      ],
      "example": {
        "kind": "example",
        "values": {
          "key": "example"
        }
      },
      "properties": {
        "kind": {
          "enum": [
            "badge"
          ],
          "example": "example",
          "type": "string"
        },
        "values": {
          "additionalProperties": {
            "type": "string"
          },
          "example": {
            "key": "example"
          },
          "type": "object"
        }
      },
      "required": [
        "kind",
        "values"
      ],
      "type": "object"
    },
    "TableDataBarFormattingRule": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TableVisualizationFormattingRuleBase"
        }
      ],
      "example": {
        "background": "example",
        "color": "example",
        "kind": "example",
        "maximum": 1,
        "minimum": 1
      },
      "properties": {
        "background": {
          "example": "example",
          "type": "string"
        },
        "color": {
          "example": "example",
          "type": "string"
        },
        "kind": {
          "enum": [
            "data_bar"
          ],
          "example": "example",
          "type": "string"
        },
        "maximum": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "minimum": {
          "example": 1,
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "kind",
        "color"
      ],
      "type": "object"
    },
    "TableTextColorFormattingRule": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TableVisualizationFormattingRuleBase"
        }
      ],
      "example": {
        "color": "example",
        "kind": "example",
        "maximum": 1,
        "minimum": 1,
        "values": {
          "key": "example"
        }
      },
      "properties": {
        "color": {
          "example": "example",
          "type": "string"
        },
        "kind": {
          "enum": [
            "text_color"
          ],
          "example": "example",
          "type": "string"
        },
        "maximum": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "minimum": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "values": {
          "additionalProperties": {
            "type": "string"
          },
          "example": {
            "key": "example"
          },
          "type": "object"
        }
      },
      "required": [
        "kind",
        "color"
      ],
      "type": "object"
    },
    "TableVisualizationColumn": {
      "example": {
        "columnValue": "example",
        "field": {
          "dataset": "example",
          "field": "example"
        },
        "formatting": [],
        "group": "example",
        "label": "example",
        "measure": "example",
        "width": 1
      },
      "properties": {
        "columnValue": {
          "example": "example",
          "type": "string"
        },
        "field": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "formatting": {
          "example": [],
          "items": {
            "$ref": "#/components/schemas/TableVisualizationFormattingRule"
          },
          "type": "array"
        },
        "group": {
          "example": "example",
          "type": "string"
        },
        "label": {
          "example": "example",
          "type": "string"
        },
        "measure": {
          "example": "example",
          "type": "string"
        },
        "width": {
          "example": 1,
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "field",
        "label",
        "formatting"
      ],
      "type": "object"
    },
    "TableVisualizationFormattingRule": {
      "discriminator": {
        "mapping": {
          "background_scale": "#/components/schemas/TableBackgroundScaleFormattingRule",
          "badge": "#/components/schemas/TableBadgeFormattingRule",
          "data_bar": "#/components/schemas/TableDataBarFormattingRule",
          "text_color": "#/components/schemas/TableTextColorFormattingRule"
        },
        "propertyName": "kind"
      },
      "oneOf": [
        {
          "$ref": "#/components/schemas/TableBadgeFormattingRule"
        },
        {
          "$ref": "#/components/schemas/TableTextColorFormattingRule"
        },
        {
          "$ref": "#/components/schemas/TableBackgroundScaleFormattingRule"
        },
        {
          "$ref": "#/components/schemas/TableDataBarFormattingRule"
        }
      ]
    },
    "TableVisualizationFormattingRuleBase": {
      "example": {
        "kind": "example"
      },
      "properties": {
        "kind": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "TableVisualizationSpec": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationSpecBase"
        }
      ],
      "example": {
        "columns": [
          {
            "columnValue": "example",
            "field": {
              "dataset": "example",
              "field": "example"
            },
            "formatting": [],
            "group": "example",
            "label": "example",
            "measure": "example",
            "width": 1
          }
        ],
        "defaultSort": [
          {
            "direction": "ascending",
            "field": {
              "dataset": "example",
              "field": "example"
            }
          }
        ],
        "kind": "example",
        "presentation": {
          "rowHeight": 1,
          "showHeader": true,
          "striped": true
        }
      },
      "properties": {
        "columns": {
          "example": [
            {
              "columnValue": "example",
              "field": {
                "dataset": "example",
                "field": "example"
              },
              "formatting": [],
              "group": "example",
              "label": "example",
              "measure": "example",
              "width": 1
            }
          ],
          "items": {
            "$ref": "#/components/schemas/TableVisualizationColumn"
          },
          "type": "array"
        },
        "defaultSort": {
          "example": [
            {
              "direction": "ascending",
              "field": {
                "dataset": "example",
                "field": "example"
              }
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationSort"
          },
          "type": "array"
        },
        "kind": {
          "enum": [
            "table"
          ],
          "example": "example",
          "type": "string"
        },
        "presentation": {
          "$ref": "#/components/schemas/GridVisualizationPresentation"
        }
      },
      "required": [
        "kind",
        "columns",
        "presentation"
      ],
      "type": "object"
    },
    "TemporalVisualizationFormat": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationFormatBase"
        }
      ],
      "example": {
        "dateStyle": "example",
        "kind": "example",
        "timeStyle": "example"
      },
      "properties": {
        "dateStyle": {
          "example": "example",
          "type": "string"
        },
        "kind": {
          "enum": [
            "temporal"
          ],
          "example": "example",
          "type": "string"
        },
        "timeStyle": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "VisualizationAccessibility": {
      "example": {
        "announceChanges": true,
        "description": "example",
        "summary": "example",
        "title": "example"
      },
      "properties": {
        "announceChanges": {
          "example": true,
          "type": "boolean"
        },
        "description": {
          "example": "example",
          "type": "string"
        },
        "summary": {
          "example": "example",
          "type": "string"
        },
        "title": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "title",
        "description"
      ],
      "type": "object"
    },
    "VisualizationAxis": {
      "enum": [
        "primary",
        "secondary"
      ],
      "example": "primary",
      "type": "string"
    },
    "VisualizationCartesianMark": {
      "enum": [
        "line",
        "area",
        "bar",
        "column",
        "scatter",
        "histogram",
        "combo",
        "waterfall",
        "candlestick",
        "boxplot",
        "heatmap"
      ],
      "example": "line",
      "type": "string"
    },
    "VisualizationChoroplethLayer": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationGeographicLayerBase"
        }
      ],
      "example": {
        "category": {
          "dataset": "example",
          "field": "example"
        },
        "color": {
          "domainMaximum": 1,
          "domainMidpoint": 1,
          "domainMinimum": 1,
          "kind": "sequential",
          "nullColor": "example",
          "palette": "example",
          "reverse": true
        },
        "geometry": {
          "attribution": "example",
          "digest": "example",
          "id": "example",
          "identifierSystem": "example",
          "license": "example",
          "source": "example",
          "url": "example"
        },
        "join": {
          "dataset": "example",
          "field": "example"
        },
        "kind": "example",
        "opacity": 1,
        "stroke": {
          "color": "example",
          "opacity": 1,
          "width": 1
        },
        "value": {
          "dataset": "example",
          "field": "example"
        }
      },
      "properties": {
        "category": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "color": {
          "$ref": "#/components/schemas/VisualizationMapColorScale"
        },
        "geometry": {
          "$ref": "#/components/schemas/VisualizationGeometryAsset"
        },
        "join": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "kind": {
          "enum": [
            "choropleth"
          ],
          "example": "example",
          "type": "string"
        },
        "opacity": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "stroke": {
          "$ref": "#/components/schemas/VisualizationMapStroke"
        },
        "value": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        }
      },
      "required": [
        "kind",
        "geometry",
        "join",
        "color",
        "stroke",
        "opacity"
      ],
      "type": "object"
    },
    "VisualizationComboSeries": {
      "example": {
        "axis": "primary",
        "mark": "line",
        "seriesValue": "example"
      },
      "properties": {
        "axis": {
          "$ref": "#/components/schemas/VisualizationAxis"
        },
        "mark": {
          "$ref": "#/components/schemas/VisualizationCartesianMark"
        },
        "seriesValue": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "seriesValue",
        "mark",
        "axis"
      ],
      "type": "object"
    },
    "VisualizationCompleteness": {
      "enum": [
        "complete",
        "truncated",
        "partial",
        "empty"
      ],
      "example": "complete",
      "type": "string"
    },
    "VisualizationCustomEngine": {
      "enum": [
        "vega_lite"
      ],
      "example": "vega_lite",
      "type": "string"
    },
    "VisualizationDataBudget": {
      "example": {
        "maxRows": 1,
        "requiredCompleteness": "complete"
      },
      "properties": {
        "maxRows": {
          "example": 1,
          "format": "int64",
          "type": "integer"
        },
        "requiredCompleteness": {
          "$ref": "#/components/schemas/VisualizationCompleteness"
        }
      },
      "required": [
        "maxRows",
        "requiredCompleteness"
      ],
      "type": "object"
    },
    "VisualizationDataType": {
      "enum": [
        "string",
        "boolean",
        "integer",
        "decimal",
        "temporal",
        "date",
        "geographic"
      ],
      "example": "string",
      "type": "string"
    },
    "VisualizationDatasetSchema": {
      "example": {
        "fields": [
          {
            "dataType": "string",
            "geographic": {
              "geometryAsset": "example",
              "identifierSystem": "example",
              "joinField": "example",
              "unmatchedPolicy": "example"
            },
            "grid": {
              "columnValue": "example",
              "formatting": [],
              "group": "example",
              "measure": "example"
            },
            "id": "example",
            "label": "example",
            "nullable": true,
            "role": "dimension",
            "sourceRef": "example",
            "time": {
              "calendar": "example",
              "grain": "example",
              "meaning": "instant",
              "timezone": "example",
              "weekStart": "monday"
            }
          }
        ],
        "id": "example"
      },
      "properties": {
        "fields": {
          "example": [
            {
              "dataType": "string",
              "geographic": {
                "geometryAsset": "example",
                "identifierSystem": "example",
                "joinField": "example",
                "unmatchedPolicy": "example"
              },
              "grid": {
                "columnValue": "example",
                "formatting": [],
                "group": "example",
                "measure": "example"
              },
              "id": "example",
              "label": "example",
              "nullable": true,
              "role": "dimension",
              "sourceRef": "example",
              "time": {
                "calendar": "example",
                "grain": "example",
                "meaning": "instant",
                "timezone": "example",
                "weekStart": "monday"
              }
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationField"
          },
          "type": "array"
        },
        "id": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "id",
        "fields"
      ],
      "type": "object"
    },
    "VisualizationDensityLayer": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationGeographicLayerBase"
        }
      ],
      "example": {
        "color": {
          "domainMaximum": 1,
          "domainMidpoint": 1,
          "domainMinimum": 1,
          "kind": "sequential",
          "nullColor": "example",
          "palette": "example",
          "reverse": true
        },
        "heat": {
          "intensity": 1,
          "radius": 1
        },
        "kind": "example",
        "latitude": {
          "dataset": "example",
          "field": "example"
        },
        "longitude": {
          "dataset": "example",
          "field": "example"
        },
        "opacity": 1,
        "value": {
          "dataset": "example",
          "field": "example"
        }
      },
      "properties": {
        "color": {
          "$ref": "#/components/schemas/VisualizationMapColorScale"
        },
        "heat": {
          "$ref": "#/components/schemas/VisualizationMapHeatStyle"
        },
        "kind": {
          "enum": [
            "density"
          ],
          "example": "example",
          "type": "string"
        },
        "latitude": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "longitude": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "opacity": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "value": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        }
      },
      "required": [
        "kind",
        "latitude",
        "longitude",
        "color",
        "heat",
        "opacity"
      ],
      "type": "object"
    },
    "VisualizationField": {
      "example": {
        "dataType": "string",
        "geographic": {
          "geometryAsset": "example",
          "identifierSystem": "example",
          "joinField": "example",
          "unmatchedPolicy": "example"
        },
        "grid": {
          "columnValue": "example",
          "formatting": [],
          "group": "example",
          "measure": "example"
        },
        "id": "example",
        "label": "example",
        "nullable": true,
        "role": "dimension",
        "sourceRef": "example",
        "time": {
          "calendar": "example",
          "grain": "example",
          "meaning": "instant",
          "timezone": "example",
          "weekStart": "monday"
        }
      },
      "properties": {
        "dataType": {
          "$ref": "#/components/schemas/VisualizationDataType"
        },
        "format": {
          "$ref": "#/components/schemas/VisualizationFormat"
        },
        "geographic": {
          "$ref": "#/components/schemas/VisualizationGeographicMetadata"
        },
        "grid": {
          "$ref": "#/components/schemas/VisualizationGridFieldMetadata"
        },
        "id": {
          "example": "example",
          "type": "string"
        },
        "label": {
          "example": "example",
          "type": "string"
        },
        "nullable": {
          "example": true,
          "type": "boolean"
        },
        "role": {
          "$ref": "#/components/schemas/VisualizationFieldRole"
        },
        "sourceRef": {
          "example": "example",
          "type": "string"
        },
        "time": {
          "$ref": "#/components/schemas/VisualizationTemporalMetadata"
        }
      },
      "required": [
        "id",
        "role",
        "dataType",
        "nullable",
        "label"
      ],
      "type": "object"
    },
    "VisualizationFieldRef": {
      "example": {
        "dataset": "example",
        "field": "example"
      },
      "properties": {
        "dataset": {
          "example": "example",
          "type": "string"
        },
        "field": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "dataset",
        "field"
      ],
      "type": "object"
    },
    "VisualizationFieldRole": {
      "enum": [
        "dimension",
        "measure",
        "metadata",
        "identity"
      ],
      "example": "dimension",
      "type": "string"
    },
    "VisualizationFormat": {
      "discriminator": {
        "mapping": {
          "compact": "#/components/schemas/CompactVisualizationFormat",
          "currency": "#/components/schemas/CurrencyVisualizationFormat",
          "duration": "#/components/schemas/DurationVisualizationFormat",
          "number": "#/components/schemas/NumberVisualizationFormat",
          "percent": "#/components/schemas/PercentVisualizationFormat",
          "temporal": "#/components/schemas/TemporalVisualizationFormat"
        },
        "propertyName": "kind"
      },
      "oneOf": [
        {
          "$ref": "#/components/schemas/NumberVisualizationFormat"
        },
        {
          "$ref": "#/components/schemas/CurrencyVisualizationFormat"
        },
        {
          "$ref": "#/components/schemas/PercentVisualizationFormat"
        },
        {
          "$ref": "#/components/schemas/CompactVisualizationFormat"
        },
        {
          "$ref": "#/components/schemas/DurationVisualizationFormat"
        },
        {
          "$ref": "#/components/schemas/TemporalVisualizationFormat"
        }
      ]
    },
    "VisualizationFormatBase": {
      "example": {
        "kind": "example"
      },
      "properties": {
        "kind": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "VisualizationGeographicLayer": {
      "discriminator": {
        "mapping": {
          "choropleth": "#/components/schemas/VisualizationChoroplethLayer",
          "density": "#/components/schemas/VisualizationDensityLayer",
          "heat": "#/components/schemas/VisualizationHeatLayer",
          "path": "#/components/schemas/VisualizationPathLayer",
          "point": "#/components/schemas/VisualizationPointLayer",
          "reference": "#/components/schemas/VisualizationReferenceLayer"
        },
        "propertyName": "kind"
      },
      "oneOf": [
        {
          "$ref": "#/components/schemas/VisualizationPointLayer"
        },
        {
          "$ref": "#/components/schemas/VisualizationChoroplethLayer"
        },
        {
          "$ref": "#/components/schemas/VisualizationHeatLayer"
        },
        {
          "$ref": "#/components/schemas/VisualizationDensityLayer"
        },
        {
          "$ref": "#/components/schemas/VisualizationReferenceLayer"
        },
        {
          "$ref": "#/components/schemas/VisualizationPathLayer"
        }
      ]
    },
    "VisualizationGeographicLayerBase": {
      "example": {
        "id": "example",
        "kind": "example",
        "label": {
          "dataset": "example",
          "field": "example"
        },
        "position": "below_labels",
        "tooltip": [
          {
            "dataset": "example",
            "field": "example"
          }
        ],
        "visibility": {
          "maximumZoom": 1,
          "minimumZoom": 1
        }
      },
      "properties": {
        "id": {
          "example": "example",
          "type": "string"
        },
        "kind": {
          "example": "example",
          "type": "string"
        },
        "label": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "position": {
          "$ref": "#/components/schemas/VisualizationMapLayerPosition"
        },
        "tooltip": {
          "example": [
            {
              "dataset": "example",
              "field": "example"
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationFieldRef"
          },
          "type": "array"
        },
        "visibility": {
          "$ref": "#/components/schemas/VisualizationMapVisibility"
        }
      },
      "required": [
        "id",
        "kind",
        "tooltip",
        "position",
        "visibility"
      ],
      "type": "object"
    },
    "VisualizationGeographicMetadata": {
      "example": {
        "geometryAsset": "example",
        "identifierSystem": "example",
        "joinField": "example",
        "unmatchedPolicy": "example"
      },
      "properties": {
        "geometryAsset": {
          "example": "example",
          "type": "string"
        },
        "identifierSystem": {
          "example": "example",
          "type": "string"
        },
        "joinField": {
          "example": "example",
          "type": "string"
        },
        "unmatchedPolicy": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "identifierSystem",
        "geometryAsset",
        "joinField",
        "unmatchedPolicy"
      ],
      "type": "object"
    },
    "VisualizationGeometryAsset": {
      "example": {
        "attribution": "example",
        "digest": "example",
        "id": "example",
        "identifierSystem": "example",
        "license": "example",
        "source": "example",
        "url": "example"
      },
      "properties": {
        "attribution": {
          "example": "example",
          "type": "string"
        },
        "digest": {
          "example": "example",
          "type": "string"
        },
        "id": {
          "example": "example",
          "type": "string"
        },
        "identifierSystem": {
          "example": "example",
          "type": "string"
        },
        "license": {
          "example": "example",
          "type": "string"
        },
        "source": {
          "example": "example",
          "type": "string"
        },
        "url": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "id",
        "digest",
        "source",
        "license",
        "attribution",
        "identifierSystem",
        "url"
      ],
      "type": "object"
    },
    "VisualizationGraphFocus": {
      "enum": [
        "none",
        "adjacency"
      ],
      "example": "none",
      "type": "string"
    },
    "VisualizationGridFieldMetadata": {
      "example": {
        "columnValue": "example",
        "formatting": [],
        "group": "example",
        "measure": "example"
      },
      "properties": {
        "columnValue": {
          "example": "example",
          "type": "string"
        },
        "formatting": {
          "example": [],
          "items": {
            "$ref": "#/components/schemas/TableVisualizationFormattingRule"
          },
          "type": "array"
        },
        "group": {
          "example": "example",
          "type": "string"
        },
        "measure": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "formatting"
      ],
      "type": "object"
    },
    "VisualizationHeatLayer": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationGeographicLayerBase"
        }
      ],
      "example": {
        "color": {
          "domainMaximum": 1,
          "domainMidpoint": 1,
          "domainMinimum": 1,
          "kind": "sequential",
          "nullColor": "example",
          "palette": "example",
          "reverse": true
        },
        "heat": {
          "intensity": 1,
          "radius": 1
        },
        "kind": "example",
        "latitude": {
          "dataset": "example",
          "field": "example"
        },
        "longitude": {
          "dataset": "example",
          "field": "example"
        },
        "opacity": 1,
        "value": {
          "dataset": "example",
          "field": "example"
        }
      },
      "properties": {
        "color": {
          "$ref": "#/components/schemas/VisualizationMapColorScale"
        },
        "heat": {
          "$ref": "#/components/schemas/VisualizationMapHeatStyle"
        },
        "kind": {
          "enum": [
            "heat"
          ],
          "example": "example",
          "type": "string"
        },
        "latitude": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "longitude": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "opacity": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "value": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        }
      },
      "required": [
        "kind",
        "latitude",
        "longitude",
        "color",
        "heat",
        "opacity"
      ],
      "type": "object"
    },
    "VisualizationHierarchyLayout": {
      "enum": [
        "standard",
        "circular"
      ],
      "example": "standard",
      "type": "string"
    },
    "VisualizationHierarchyMark": {
      "enum": [
        "treemap",
        "sunburst",
        "tree",
        "sankey",
        "graph"
      ],
      "example": "treemap",
      "type": "string"
    },
    "VisualizationInteraction": {
      "example": {
        "id": "example",
        "kind": "select",
        "mappings": [
          {
            "grain": "example",
            "label": {
              "dataset": "example",
              "field": "example"
            },
            "source": {
              "dataset": "example",
              "field": "example"
            },
            "targetFactID": "example",
            "targetFieldID": "example"
          }
        ],
        "mode": "single",
        "requiresStableIdentity": true,
        "targets": [
          "example"
        ]
      },
      "properties": {
        "id": {
          "example": "example",
          "type": "string"
        },
        "kind": {
          "$ref": "#/components/schemas/VisualizationInteractionKind"
        },
        "mappings": {
          "example": [
            {
              "grain": "example",
              "label": {
                "dataset": "example",
                "field": "example"
              },
              "source": {
                "dataset": "example",
                "field": "example"
              },
              "targetFactID": "example",
              "targetFieldID": "example"
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationInteractionMapping"
          },
          "type": "array"
        },
        "mode": {
          "$ref": "#/components/schemas/VisualizationSelectionMode"
        },
        "requiresStableIdentity": {
          "example": true,
          "type": "boolean"
        },
        "targets": {
          "example": [
            "example"
          ],
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "id",
        "kind",
        "mappings",
        "targets",
        "mode",
        "requiresStableIdentity"
      ],
      "type": "object"
    },
    "VisualizationInteractionKind": {
      "enum": [
        "select",
        "filter",
        "drill",
        "navigate"
      ],
      "example": "select",
      "type": "string"
    },
    "VisualizationInteractionMapping": {
      "example": {
        "grain": "example",
        "label": {
          "dataset": "example",
          "field": "example"
        },
        "source": {
          "dataset": "example",
          "field": "example"
        },
        "targetFactID": "example",
        "targetFieldID": "example"
      },
      "properties": {
        "grain": {
          "example": "example",
          "type": "string"
        },
        "label": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "source": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "targetFactID": {
          "example": "example",
          "type": "string"
        },
        "targetFieldID": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "source",
        "targetFieldID"
      ],
      "type": "object"
    },
    "VisualizationKPITrend": {
      "enum": [
        "neutral",
        "positive",
        "negative"
      ],
      "example": "neutral",
      "type": "string"
    },
    "VisualizationLabelPosition": {
      "enum": [
        "automatic",
        "inside",
        "outside",
        "top"
      ],
      "example": "automatic",
      "type": "string"
    },
    "VisualizationLegendPosition": {
      "enum": [
        "hidden",
        "top",
        "right",
        "bottom",
        "left"
      ],
      "example": "hidden",
      "type": "string"
    },
    "VisualizationMapCamera": {
      "example": {
        "center": [
          1
        ],
        "maximumZoom": 1,
        "minimumZoom": 1,
        "mode": "fit_data",
        "padding": 1,
        "zoom": 1
      },
      "properties": {
        "center": {
          "example": [
            1
          ],
          "items": {
            "format": "double",
            "type": "number"
          },
          "type": "array"
        },
        "maximumZoom": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "minimumZoom": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "mode": {
          "$ref": "#/components/schemas/VisualizationMapCameraMode"
        },
        "padding": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "zoom": {
          "example": 1,
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "mode",
        "padding",
        "minimumZoom",
        "maximumZoom"
      ],
      "type": "object"
    },
    "VisualizationMapCameraMode": {
      "enum": [
        "fit_data",
        "fixed",
        "preserve"
      ],
      "example": "fit_data",
      "type": "string"
    },
    "VisualizationMapCluster": {
      "example": {
        "enabled": true,
        "maximumZoom": 1,
        "minimumPoints": 1,
        "radius": 1,
        "showCount": true
      },
      "properties": {
        "enabled": {
          "example": true,
          "type": "boolean"
        },
        "maximumZoom": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "minimumPoints": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "radius": {
          "example": 1,
          "format": "int32",
          "type": "integer"
        },
        "showCount": {
          "example": true,
          "type": "boolean"
        }
      },
      "required": [
        "enabled",
        "radius",
        "maximumZoom",
        "minimumPoints",
        "showCount"
      ],
      "type": "object"
    },
    "VisualizationMapColorScale": {
      "example": {
        "domainMaximum": 1,
        "domainMidpoint": 1,
        "domainMinimum": 1,
        "kind": "sequential",
        "nullColor": "example",
        "palette": "example",
        "reverse": true
      },
      "properties": {
        "domainMaximum": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "domainMidpoint": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "domainMinimum": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "kind": {
          "$ref": "#/components/schemas/VisualizationMapColorScaleKind"
        },
        "nullColor": {
          "example": "example",
          "type": "string"
        },
        "palette": {
          "example": "example",
          "type": "string"
        },
        "reverse": {
          "example": true,
          "type": "boolean"
        }
      },
      "required": [
        "kind",
        "palette",
        "reverse",
        "nullColor"
      ],
      "type": "object"
    },
    "VisualizationMapColorScaleKind": {
      "enum": [
        "sequential",
        "diverging",
        "categorical"
      ],
      "example": "sequential",
      "type": "string"
    },
    "VisualizationMapControls": {
      "example": {
        "compass": true,
        "reset": true,
        "zoom": true
      },
      "properties": {
        "compass": {
          "example": true,
          "type": "boolean"
        },
        "reset": {
          "example": true,
          "type": "boolean"
        },
        "zoom": {
          "example": true,
          "type": "boolean"
        }
      },
      "required": [
        "zoom",
        "reset",
        "compass"
      ],
      "type": "object"
    },
    "VisualizationMapHeatStyle": {
      "example": {
        "intensity": 1,
        "radius": 1
      },
      "properties": {
        "intensity": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "radius": {
          "example": 1,
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "radius",
        "intensity"
      ],
      "type": "object"
    },
    "VisualizationMapLabelDensity": {
      "enum": [
        "hidden",
        "normal",
        "dense"
      ],
      "example": "hidden",
      "type": "string"
    },
    "VisualizationMapLayerPosition": {
      "enum": [
        "below_labels",
        "above_labels"
      ],
      "example": "below_labels",
      "type": "string"
    },
    "VisualizationMapLineStyle": {
      "example": {
        "curvature": 1,
        "width": 1
      },
      "properties": {
        "curvature": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "width": {
          "example": 1,
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "width",
        "curvature"
      ],
      "type": "object"
    },
    "VisualizationMapSizeScale": {
      "example": {
        "domainMaximum": 1,
        "domainMinimum": 1,
        "maximumRadius": 1,
        "minimumRadius": 1
      },
      "properties": {
        "domainMaximum": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "domainMinimum": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "maximumRadius": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "minimumRadius": {
          "example": 1,
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "minimumRadius",
        "maximumRadius"
      ],
      "type": "object"
    },
    "VisualizationMapStroke": {
      "example": {
        "color": "example",
        "opacity": 1,
        "width": 1
      },
      "properties": {
        "color": {
          "example": "example",
          "type": "string"
        },
        "opacity": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "width": {
          "example": 1,
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "color",
        "width",
        "opacity"
      ],
      "type": "object"
    },
    "VisualizationMapStyleAsset": {
      "example": {
        "archiveDigest": "example",
        "archiveUrl": "example",
        "attribution": "example",
        "bounds": [
          1
        ],
        "glyphsUrl": "example",
        "id": "example",
        "labelAnchor": "example",
        "license": "example",
        "maximumZoom": 1,
        "minimumZoom": 1,
        "source": "example",
        "spriteUrl": "example",
        "styleDigest": "example",
        "styleUrl": "example"
      },
      "properties": {
        "archiveDigest": {
          "example": "example",
          "type": "string"
        },
        "archiveUrl": {
          "example": "example",
          "type": "string"
        },
        "attribution": {
          "example": "example",
          "type": "string"
        },
        "bounds": {
          "example": [
            1
          ],
          "items": {
            "format": "double",
            "type": "number"
          },
          "type": "array"
        },
        "glyphsUrl": {
          "example": "example",
          "type": "string"
        },
        "id": {
          "example": "example",
          "type": "string"
        },
        "labelAnchor": {
          "example": "example",
          "type": "string"
        },
        "license": {
          "example": "example",
          "type": "string"
        },
        "maximumZoom": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "minimumZoom": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "source": {
          "example": "example",
          "type": "string"
        },
        "spriteUrl": {
          "example": "example",
          "type": "string"
        },
        "styleDigest": {
          "example": "example",
          "type": "string"
        },
        "styleUrl": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "id",
        "styleUrl",
        "styleDigest",
        "archiveUrl",
        "archiveDigest",
        "glyphsUrl",
        "spriteUrl",
        "source",
        "license",
        "attribution",
        "minimumZoom",
        "maximumZoom",
        "bounds",
        "labelAnchor"
      ],
      "type": "object"
    },
    "VisualizationMapTheme": {
      "enum": [
        "auto",
        "light",
        "dark"
      ],
      "example": "auto",
      "type": "string"
    },
    "VisualizationMapVisibility": {
      "example": {
        "maximumZoom": 1,
        "minimumZoom": 1
      },
      "properties": {
        "maximumZoom": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "minimumZoom": {
          "example": 1,
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "minimumZoom",
        "maximumZoom"
      ],
      "type": "object"
    },
    "VisualizationOrientation": {
      "enum": [
        "horizontal",
        "vertical"
      ],
      "example": "horizontal",
      "type": "string"
    },
    "VisualizationPathLayer": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationGeographicLayerBase"
        }
      ],
      "example": {
        "category": {
          "dataset": "example",
          "field": "example"
        },
        "color": {
          "domainMaximum": 1,
          "domainMidpoint": 1,
          "domainMinimum": 1,
          "kind": "sequential",
          "nullColor": "example",
          "palette": "example",
          "reverse": true
        },
        "kind": "example",
        "latitude": {
          "dataset": "example",
          "field": "example"
        },
        "line": {
          "curvature": 1,
          "width": 1
        },
        "longitude": {
          "dataset": "example",
          "field": "example"
        },
        "opacity": 1,
        "order": {
          "dataset": "example",
          "field": "example"
        },
        "path": {
          "dataset": "example",
          "field": "example"
        },
        "stroke": {
          "color": "example",
          "opacity": 1,
          "width": 1
        },
        "value": {
          "dataset": "example",
          "field": "example"
        }
      },
      "properties": {
        "category": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "color": {
          "$ref": "#/components/schemas/VisualizationMapColorScale"
        },
        "kind": {
          "enum": [
            "path"
          ],
          "example": "example",
          "type": "string"
        },
        "latitude": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "line": {
          "$ref": "#/components/schemas/VisualizationMapLineStyle"
        },
        "longitude": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "opacity": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "order": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "path": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "stroke": {
          "$ref": "#/components/schemas/VisualizationMapStroke"
        },
        "value": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        }
      },
      "required": [
        "kind",
        "latitude",
        "longitude",
        "path",
        "order",
        "color",
        "stroke",
        "line",
        "opacity"
      ],
      "type": "object"
    },
    "VisualizationPointLayer": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationGeographicLayerBase"
        }
      ],
      "example": {
        "category": {
          "dataset": "example",
          "field": "example"
        },
        "cluster": {
          "enabled": true,
          "maximumZoom": 1,
          "minimumPoints": 1,
          "radius": 1,
          "showCount": true
        },
        "color": {
          "domainMaximum": 1,
          "domainMidpoint": 1,
          "domainMinimum": 1,
          "kind": "sequential",
          "nullColor": "example",
          "palette": "example",
          "reverse": true
        },
        "kind": "example",
        "latitude": {
          "dataset": "example",
          "field": "example"
        },
        "longitude": {
          "dataset": "example",
          "field": "example"
        },
        "opacity": 1,
        "size": {
          "domainMaximum": 1,
          "domainMinimum": 1,
          "maximumRadius": 1,
          "minimumRadius": 1
        },
        "stroke": {
          "color": "example",
          "opacity": 1,
          "width": 1
        },
        "value": {
          "dataset": "example",
          "field": "example"
        }
      },
      "properties": {
        "category": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "cluster": {
          "$ref": "#/components/schemas/VisualizationMapCluster"
        },
        "color": {
          "$ref": "#/components/schemas/VisualizationMapColorScale"
        },
        "kind": {
          "enum": [
            "point"
          ],
          "example": "example",
          "type": "string"
        },
        "latitude": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "longitude": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "opacity": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "size": {
          "$ref": "#/components/schemas/VisualizationMapSizeScale"
        },
        "stroke": {
          "$ref": "#/components/schemas/VisualizationMapStroke"
        },
        "value": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        }
      },
      "required": [
        "kind",
        "latitude",
        "longitude",
        "size",
        "color",
        "stroke",
        "cluster",
        "opacity"
      ],
      "type": "object"
    },
    "VisualizationPolarMark": {
      "enum": [
        "radar",
        "gauge"
      ],
      "example": "radar",
      "type": "string"
    },
    "VisualizationPresentation": {
      "example": {
        "legend": "hidden",
        "showLabels": true
      },
      "properties": {
        "legend": {
          "$ref": "#/components/schemas/VisualizationLegendPosition"
        },
        "showLabels": {
          "example": true,
          "type": "boolean"
        }
      },
      "required": [
        "legend",
        "showLabels"
      ],
      "type": "object"
    },
    "VisualizationProportionalMark": {
      "enum": [
        "pie",
        "donut",
        "funnel"
      ],
      "example": "pie",
      "type": "string"
    },
    "VisualizationReferenceLayer": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VisualizationGeographicLayerBase"
        }
      ],
      "example": {
        "color": {
          "domainMaximum": 1,
          "domainMidpoint": 1,
          "domainMinimum": 1,
          "kind": "sequential",
          "nullColor": "example",
          "palette": "example",
          "reverse": true
        },
        "geometry": {
          "attribution": "example",
          "digest": "example",
          "id": "example",
          "identifierSystem": "example",
          "license": "example",
          "source": "example",
          "url": "example"
        },
        "kind": "example",
        "opacity": 1,
        "stroke": {
          "color": "example",
          "opacity": 1,
          "width": 1
        }
      },
      "properties": {
        "color": {
          "$ref": "#/components/schemas/VisualizationMapColorScale"
        },
        "geometry": {
          "$ref": "#/components/schemas/VisualizationGeometryAsset"
        },
        "kind": {
          "enum": [
            "reference"
          ],
          "example": "example",
          "type": "string"
        },
        "opacity": {
          "example": 1,
          "format": "double",
          "type": "number"
        },
        "stroke": {
          "$ref": "#/components/schemas/VisualizationMapStroke"
        }
      },
      "required": [
        "kind",
        "geometry",
        "color",
        "stroke",
        "opacity"
      ],
      "type": "object"
    },
    "VisualizationSelectionMode": {
      "enum": [
        "single",
        "multiple"
      ],
      "example": "single",
      "type": "string"
    },
    "VisualizationSort": {
      "example": {
        "direction": "ascending",
        "field": {
          "dataset": "example",
          "field": "example"
        }
      },
      "properties": {
        "direction": {
          "$ref": "#/components/schemas/VisualizationSortDirection"
        },
        "field": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        }
      },
      "required": [
        "field",
        "direction"
      ],
      "type": "object"
    },
    "VisualizationSortDirection": {
      "enum": [
        "ascending",
        "descending"
      ],
      "example": "ascending",
      "type": "string"
    },
    "VisualizationSpatialFieldMapping": {
      "example": {
        "source": {
          "dataset": "example",
          "field": "example"
        },
        "targetFactID": "example",
        "targetFieldID": "example"
      },
      "properties": {
        "source": {
          "$ref": "#/components/schemas/VisualizationFieldRef"
        },
        "targetFactID": {
          "example": "example",
          "type": "string"
        },
        "targetFieldID": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "source",
        "targetFieldID"
      ],
      "type": "object"
    },
    "VisualizationSpatialSelectionGesture": {
      "enum": [
        "box",
        "lasso",
        "radius"
      ],
      "example": "box",
      "type": "string"
    },
    "VisualizationSpatialSelectionInteraction": {
      "example": {
        "gestures": [
          "box"
        ],
        "id": "example",
        "latitude": {
          "source": {
            "dataset": "example",
            "field": "example"
          },
          "targetFactID": "example",
          "targetFieldID": "example"
        },
        "longitude": {
          "source": {
            "dataset": "example",
            "field": "example"
          },
          "targetFactID": "example",
          "targetFieldID": "example"
        },
        "targets": [
          "example"
        ]
      },
      "properties": {
        "gestures": {
          "example": [
            "box"
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationSpatialSelectionGesture"
          },
          "type": "array"
        },
        "id": {
          "example": "example",
          "type": "string"
        },
        "latitude": {
          "$ref": "#/components/schemas/VisualizationSpatialFieldMapping"
        },
        "longitude": {
          "$ref": "#/components/schemas/VisualizationSpatialFieldMapping"
        },
        "targets": {
          "example": [
            "example"
          ],
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "id",
        "gestures",
        "latitude",
        "longitude",
        "targets"
      ],
      "type": "object"
    },
    "VisualizationSpec": {
      "discriminator": {
        "mapping": {
          "cartesian": "#/components/schemas/CartesianVisualizationSpec",
          "custom": "#/components/schemas/CustomVisualizationSpec",
          "geographic": "#/components/schemas/GeographicVisualizationSpec",
          "hierarchy": "#/components/schemas/HierarchyVisualizationSpec",
          "kpi": "#/components/schemas/KPIVisualizationSpec",
          "matrix": "#/components/schemas/MatrixVisualizationSpec",
          "pivot": "#/components/schemas/PivotVisualizationSpec",
          "polar": "#/components/schemas/PolarVisualizationSpec",
          "proportional": "#/components/schemas/ProportionalVisualizationSpec",
          "table": "#/components/schemas/TableVisualizationSpec"
        },
        "propertyName": "kind"
      },
      "oneOf": [
        {
          "$ref": "#/components/schemas/CartesianVisualizationSpec"
        },
        {
          "$ref": "#/components/schemas/ProportionalVisualizationSpec"
        },
        {
          "$ref": "#/components/schemas/HierarchyVisualizationSpec"
        },
        {
          "$ref": "#/components/schemas/PolarVisualizationSpec"
        },
        {
          "$ref": "#/components/schemas/TableVisualizationSpec"
        },
        {
          "$ref": "#/components/schemas/MatrixVisualizationSpec"
        },
        {
          "$ref": "#/components/schemas/PivotVisualizationSpec"
        },
        {
          "$ref": "#/components/schemas/KPIVisualizationSpec"
        },
        {
          "$ref": "#/components/schemas/GeographicVisualizationSpec"
        },
        {
          "$ref": "#/components/schemas/CustomVisualizationSpec"
        }
      ]
    },
    "VisualizationSpecBase": {
      "example": {
        "accessibility": {
          "announceChanges": true,
          "description": "example",
          "summary": "example",
          "title": "example"
        },
        "dataBudget": {
          "maxRows": 1,
          "requiredCompleteness": "complete"
        },
        "datasets": [
          {
            "fields": [
              {
                "dataType": "string",
                "geographic": {
                  "geometryAsset": "example",
                  "identifierSystem": "example",
                  "joinField": "example",
                  "unmatchedPolicy": "example"
                },
                "grid": {
                  "columnValue": "example",
                  "formatting": [],
                  "group": "example",
                  "measure": "example"
                },
                "id": "example",
                "label": "example",
                "nullable": true,
                "role": "dimension",
                "sourceRef": "example",
                "time": {
                  "calendar": "example",
                  "grain": "example",
                  "meaning": "instant",
                  "timezone": "example",
                  "weekStart": "monday"
                }
              }
            ],
            "id": "example"
          }
        ],
        "interactions": [
          {
            "id": "example",
            "kind": "select",
            "mappings": [
              {
                "grain": "example",
                "label": {
                  "dataset": "example",
                  "field": "example"
                },
                "source": {
                  "dataset": "example",
                  "field": "example"
                },
                "targetFactID": "example",
                "targetFieldID": "example"
              }
            ],
            "mode": "single",
            "requiresStableIdentity": true,
            "targets": [
              "example"
            ]
          }
        ],
        "kind": "example",
        "title": "example"
      },
      "properties": {
        "accessibility": {
          "$ref": "#/components/schemas/VisualizationAccessibility"
        },
        "dataBudget": {
          "$ref": "#/components/schemas/VisualizationDataBudget"
        },
        "datasets": {
          "example": [
            {
              "fields": [
                {
                  "dataType": "string",
                  "geographic": {
                    "geometryAsset": "example",
                    "identifierSystem": "example",
                    "joinField": "example",
                    "unmatchedPolicy": "example"
                  },
                  "grid": {
                    "columnValue": "example",
                    "formatting": [],
                    "group": "example",
                    "measure": "example"
                  },
                  "id": "example",
                  "label": "example",
                  "nullable": true,
                  "role": "dimension",
                  "sourceRef": "example",
                  "time": {
                    "calendar": "example",
                    "grain": "example",
                    "meaning": "instant",
                    "timezone": "example",
                    "weekStart": "monday"
                  }
                }
              ],
              "id": "example"
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationDatasetSchema"
          },
          "type": "array"
        },
        "interactions": {
          "example": [
            {
              "id": "example",
              "kind": "select",
              "mappings": [
                {
                  "grain": "example",
                  "label": {
                    "dataset": "example",
                    "field": "example"
                  },
                  "source": {
                    "dataset": "example",
                    "field": "example"
                  },
                  "targetFactID": "example",
                  "targetFieldID": "example"
                }
              ],
              "mode": "single",
              "requiresStableIdentity": true,
              "targets": [
                "example"
              ]
            }
          ],
          "items": {
            "$ref": "#/components/schemas/VisualizationInteraction"
          },
          "type": "array"
        },
        "kind": {
          "example": "example",
          "type": "string"
        },
        "title": {
          "example": "example",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "title",
        "datasets",
        "dataBudget",
        "accessibility",
        "interactions"
      ],
      "type": "object"
    },
    "VisualizationTemporalMeaning": {
      "enum": [
        "instant",
        "bucket"
      ],
      "example": "instant",
      "type": "string"
    },
    "VisualizationTemporalMetadata": {
      "example": {
        "calendar": "example",
        "grain": "example",
        "meaning": "instant",
        "timezone": "example",
        "weekStart": "monday"
      },
      "properties": {
        "calendar": {
          "example": "example",
          "type": "string"
        },
        "grain": {
          "example": "example",
          "type": "string"
        },
        "meaning": {
          "$ref": "#/components/schemas/VisualizationTemporalMeaning"
        },
        "timezone": {
          "example": "example",
          "type": "string"
        },
        "weekStart": {
          "$ref": "#/components/schemas/VisualizationWeekStart"
        }
      },
      "required": [
        "grain",
        "timezone",
        "calendar",
        "weekStart",
        "meaning"
      ],
      "type": "object"
    },
    "VisualizationThreshold": {
      "example": {
        "tone": "neutral",
        "value": 1
      },
      "properties": {
        "tone": {
          "$ref": "#/components/schemas/VisualizationTone"
        },
        "value": {
          "example": 1,
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "value",
        "tone"
      ],
      "type": "object"
    },
    "VisualizationTone": {
      "enum": [
        "neutral",
        "ink",
        "success",
        "warning",
        "danger"
      ],
      "example": "neutral",
      "type": "string"
    },
    "VisualizationWeekStart": {
      "enum": [
        "monday",
        "tuesday",
        "wednesday",
        "thursday",
        "friday",
        "saturday",
        "sunday"
      ],
      "example": "monday",
      "type": "string"
    }
  }
}
