Tableaux De Bord · Schema

Dashboard

Common schema for a dashboard definition as used across BI and monitoring tools

DashboardsBusiness IntelligenceAnalyticsData VisualizationMonitoringGrafanaMetabase

Properties

Name Type Description
id integer System-assigned unique identifier
uid string Portable unique identifier (stable across environments)
title string Dashboard display name
description string Human-readable description of the dashboard purpose
tags array Labels for organizing and searching dashboards
panels array Visualization panels in the dashboard
refresh string Auto-refresh interval (e.g., '5s', '1m', '1h')
time object Default time range
version integer Dashboard revision number
folderId integer Parent folder identifier
created string Creation timestamp
updated string Last modification timestamp
View JSON Schema on GitHub

JSON Schema

tableaux-de-bord-dashboard-schema.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://api-evangelist.github.io/tableaux-de-bord/json-schema/tableaux-de-bord-dashboard-schema.json",
  "title": "Dashboard",
  "description": "Common schema for a dashboard definition as used across BI and monitoring tools",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "System-assigned unique identifier",
      "readOnly": true
    },
    "uid": {
      "type": "string",
      "description": "Portable unique identifier (stable across environments)"
    },
    "title": {
      "type": "string",
      "description": "Dashboard display name"
    },
    "description": {
      "type": "string",
      "description": "Human-readable description of the dashboard purpose"
    },
    "tags": {
      "type": "array",
      "description": "Labels for organizing and searching dashboards",
      "items": {
        "type": "string"
      }
    },
    "panels": {
      "type": "array",
      "description": "Visualization panels in the dashboard",
      "items": {
        "type": "object",
        "properties": {
          "id": {"type": "integer"},
          "title": {"type": "string"},
          "type": {
            "type": "string",
            "description": "Panel visualization type",
            "examples": ["timeseries", "stat", "table", "gauge", "barchart", "piechart"]
          },
          "datasource": {
            "type": "object",
            "properties": {
              "type": {"type": "string"},
              "uid": {"type": "string"}
            }
          }
        }
      }
    },
    "refresh": {
      "type": "string",
      "description": "Auto-refresh interval (e.g., '5s', '1m', '1h')"
    },
    "time": {
      "type": "object",
      "description": "Default time range",
      "properties": {
        "from": {"type": "string", "example": "now-1h"},
        "to": {"type": "string", "example": "now"}
      }
    },
    "version": {
      "type": "integer",
      "description": "Dashboard revision number",
      "readOnly": true
    },
    "folderId": {
      "type": "integer",
      "description": "Parent folder identifier"
    },
    "created": {
      "type": "string",
      "format": "date-time",
      "description": "Creation timestamp",
      "readOnly": true
    },
    "updated": {
      "type": "string",
      "format": "date-time",
      "description": "Last modification timestamp",
      "readOnly": true
    }
  },
  "required": ["title"]
}