Kong · Schema

ChartTile

A tile that queries data and renders a chart.

API GatewayAI GatewayAI ConnectivityAgent GatewayEvent GatewayMCP RegistryService MeshLLMKafkaKonnectOpen Source

Properties

Name Type Description
layout object Information about how the tile is placed on the dashboard. Examples: - a tile occupying the first half of the top row: `{ "position": { "col": 0, "row": 0 }, size: { "cols": 3, "rows": 1 } }` - a tile
type string The type of tile. Chart tiles must have type 'chart'.
definition object The tile's definition, which consists of a query to fetch data and a chart to render the data. Note that some charts expect certain types of queries to render properly. The documentation for the indiv
View JSON Schema on GitHub

JSON Schema

kong-charttile-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ChartTile",
  "title": "ChartTile",
  "description": "A tile that queries data and renders a chart.",
  "type": "object",
  "properties": {
    "layout": {
      "description": "Information about how the tile is placed on the dashboard.\n\nExamples:\n- a tile occupying the first half of the top row: `{ \"position\": { \"col\": 0, \"row\": 0 }, size: { \"cols\": 3, \"rows\": 1 } }`\n- a tile occupying the second half of the top row: `{ \"position\": { \"col\": 3, \"row\": 0 }, size: { \"cols\": 3, \"rows\": 1 } }`\n",
      "type": "object",
      "example": {
        "position": {
          "col": 3,
          "row": 0
        },
        "size": {
          "cols": 3,
          "rows": 1
        }
      },
      "additionalProperties": false,
      "properties": {
        "position": {
          "description": "Position of the tile in the dashboard's grid.  Numbering starts at 0, so a tile in the upper left of the dashboard will be at column 0, row 0.\n",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "col": {
              "type": "integer",
              "maximum": 5,
              "minimum": 0
            },
            "row": {
              "type": "integer",
              "minimum": 0
            }
          },
          "required": [
            "col",
            "row"
          ]
        },
        "size": {
          "description": "Number of columns and rows the tile occupies.  A dashboard always has 6 columns, but has as many rows as needed to accommodate the given tiles.\n",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "cols": {
              "type": "integer",
              "maximum": 6,
              "minimum": 1
            },
            "rows": {
              "type": "integer",
              "minimum": 1
            }
          },
          "required": [
            "cols",
            "rows"
          ]
        }
      },
      "required": [
        "position",
        "size"
      ]
    },
    "type": {
      "description": "The type of tile.  Chart tiles must have type 'chart'.",
      "type": "string",
      "enum": [
        "chart"
      ]
    },
    "definition": {
      "description": "The tile's definition, which consists of a query to fetch data and a chart to render the data.\nNote that some charts expect certain types of queries to render properly.  The documentation for the individual chart types has more information.\n",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "query": {
          "discriminator": {
            "propertyName": "datasource",
            "mapping": {
              "api_usage": "#/components/schemas/AdvancedQuery",
              "llm_usage": "#/components/schemas/LLMQuery",
              "agentic_usage": "#/components/schemas/AgenticQuery"
            }
          },
          "oneOf": [
            {
              "$ref": "#/components/schemas/AdvancedQuery"
            },
            {
              "$ref": "#/components/schemas/LLMQuery"
            },
            {
              "$ref": "#/components/schemas/AgenticQuery"
            }
          ]
        },
        "chart": {
          "$ref": "#/components/schemas/Chart"
        }
      },
      "required": [
        "query",
        "chart"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "layout",
    "type",
    "definition"
  ]
}