Honeycomb · Schema

Honeycomb Board

JSON Schema for the Honeycomb Board resource. Generated from the Honeycomb API OpenAPI spec.

ObservabilityTracingDistributed TracingTelemetryOpenTelemetryEventsLogsMetricsSLOAIOpsAI Observability

Properties

Name Type Description
name string The name of the Board.
description string A description of the Board.
type string The type of the board. Only flexible boards are supported.
links object
id string Unique identifier (ID), returned in response bodies.
panels array
layout_generation string The layout generation mode for the board. When set to "auto", the board will be automatically laid out based on the panels. When set to "manual", the board will be laid out manually by the user.
tags array A list of key-value pairs to help identify the Trigger.
preset_filters array A list of preset filters to apply to the board. For backwards compatibility, if no preset filters are provided, the existing preset filters will be preserved. If an empty array is provided, all preset
View JSON Schema on GitHub

JSON Schema

honeycomb-board-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/honeycomb-io/main/json-schema/honeycomb-board-schema.json",
  "title": "Honeycomb Board",
  "description": "JSON Schema for the Honeycomb Board resource. Generated from the Honeycomb API OpenAPI spec.",
  "type": "object",
  "required": [
    "type",
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the Board.",
      "minLength": 1,
      "maxLength": 255,
      "example": "My Board"
    },
    "description": {
      "type": "string",
      "description": "A description of the Board.",
      "minLength": 0,
      "maxLength": 1024,
      "example": "A board created via the API"
    },
    "type": {
      "type": "string",
      "description": "The type of the board. Only flexible boards are supported.",
      "enum": [
        "flexible"
      ]
    },
    "links": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "board_url": {
          "type": "string",
          "example": "https://ui.honeycomb.io/myteam/environments/myenvironment/board/2NeeaE9bBLd"
        }
      }
    },
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "Unique identifier (ID), returned in response bodies.",
      "example": "2NeeaE9bBLd"
    },
    "panels": {
      "type": "array",
      "items": {
        "type": "object",
        "oneOf": [
          {
            "title": "Query Panel",
            "type": "object",
            "required": [
              "query_panel",
              "type"
            ],
            "properties": {
              "type": {
                "const": "query",
                "description": "The type of the board panel."
              },
              "position": {
                "$ref": "#/components/schemas/BoardPanelPosition"
              },
              "query_panel": {
                "type": "object",
                "required": [
                  "query_id",
                  "query_annotation_id"
                ],
                "properties": {
                  "query_id": {
                    "type": "string",
                    "description": "The ID of the Query to display on the board. The Query must be in the same environment as the board.\n",
                    "example": "abc1234e"
                  },
                  "query_style": {
                    "type": "string",
                    "description": "How the query should be displayed on the board.",
                    "enum": [
                      "graph",
                      "table",
                      "combo"
                    ],
                    "default": "graph"
                  },
                  "query_annotation_id": {
                    "type": "string",
                    "description": "The ID of a Query Annotation that provides a name and description for the Query. The Query Annotation must apply to the `query_id` or `query` specified.\n",
                    "example": "e4c24a35"
                  },
                  "dataset": {
                    "type": "string",
                    "readOnly": true,
                    "description": "The dataset name to which the query is scoped. Empty for environment-wide queries.\n",
                    "example": "My Dataset"
                  },
                  "visualization_settings": {
                    "$ref": "#/components/schemas/BoardQueryVisualizationSettings"
                  }
                }
              }
            }
          },
          {
            "title": "SLO Panel",
            "type": "object",
            "required": [
              "slo_panel",
              "type"
            ],
            "properties": {
              "type": {
                "const": "slo",
                "description": "The type of the board panel."
              },
              "position": {
                "$ref": "#/components/schemas/BoardPanelPosition"
              },
              "slo_panel": {
                "type": "object",
                "properties": {
                  "slo_id": {
                    "type": "string",
                    "description": "The ID of the SLO to display on the board. The SLO must be in the same environment as the board.\n",
                    "example": "BGfyxhFto"
                  }
                }
              }
            }
          },
          {
            "title": "Text Panel",
            "type": "object",
            "required": [
              "text_panel",
              "type"
            ],
            "properties": {
              "type": {
                "const": "text",
                "description": "The type of the board panel."
              },
              "position": {
                "$ref": "#/components/schemas/BoardPanelPosition"
              },
              "text_panel": {
                "type": "object",
                "required": [
                  "content"
                ],
                "properties": {
                  "content": {
                    "type": "string",
                    "maxLength": 10000,
                    "description": "The text content to display on the board panel. This field supports Markdown formatting.\n",
                    "example": "# This is a text panel with some content"
                  }
                }
              }
            }
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "query": "#/components/schemas/QueryPanel",
            "slo": "#/components/schemas/SLOPanel",
            "text": "#/components/schemas/TextPanel"
          }
        }
      }
    },
    "layout_generation": {
      "type": "string",
      "description": "The layout generation mode for the board. When set to \"auto\", the board will be automatically laid out based on the panels. When set to \"manual\", the board will be laid out manually by the user.\n",
      "enum": [
        "auto",
        "manual"
      ],
      "default": "manual",
      "writeOnly": true
    },
    "tags": {
      "type": "array",
      "description": "A list of key-value pairs to help identify the Trigger.",
      "maxItems": 10,
      "items": {
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "properties": {
          "key": {
            "type": "string",
            "description": "A key to identify the tag, lowercase letters only.",
            "maxLength": 32
          },
          "value": {
            "type": "string",
            "description": "A value for the tag, must begin with a lowercase letter, contain only alphanumeric characters (all letters lowercase) and special characters of `/` and `-` allowed.",
            "maxLength": 128
          }
        }
      },
      "example": [
        {
          "key": "team",
          "value": "blue"
        }
      ]
    },
    "preset_filters": {
      "description": "A list of preset filters to apply to the board. For backwards compatibility, if no preset filters are provided, the existing preset filters will be preserved. If an empty array is provided, all preset filters will be deleted.\n**Note**: Each board is limited to a maximum of 5 preset filters. Attempting to create or update a board with more than 5 preset filters will result in an error.\n",
      "type": "array",
      "maxItems": 5,
      "items": {
        "type": "object",
        "required": [
          "column",
          "alias"
        ],
        "properties": {
          "column": {
            "type": "string",
            "description": "Original name of the column to alias."
          },
          "alias": {
            "type": "string",
            "description": "The alias of the preset filter. Maximum length is 50 characters."
          }
        }
      },
      "example": [
        {
          "column": "app.Service",
          "alias": "Service"
        }
      ]
    }
  }
}