---
type: api
title: Create a dashboard
description: Creates a new dashboard and returns its ID, full state, and metadata.
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana/v0/operation/operation-create-dashboard
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/kibana/v0/operation/operation-create-dashboard
products:
  - Kibana
---

# Create a dashboard

Availability: 9.5+

- Server: `https://{kibana_url}`

## Paths

- `POST` `/api/dashboards`

- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/kibana/v0/authentication#apikeyauth)
- [Basic auth](/elastic/docs-builder/docs/4371/api/doc/kibana/v0/authentication#basicauth)

## Description

Creates a new dashboard and returns its ID, full state, and metadata.

## Request Body

`application/json`

- `access_control` ({}) — optional
  Access control settings for the dashboard.
  - `access_mode` (enum) — optional
    Controls edit access to the dashboard. Set to `write_restricted` to prevent edits by users without explicit write permission. Defaults to `default` (all viewers can edit).
    Values: `write_restricted`, `default`
- `description` (string) — optional
  A short description of the dashboard.
- `esql_approximation` (boolean) — optional
  When `true`, ES|QL visualizations that use `STATS` run with [approximate execution](https://www.elastic.co/docs/reference/query-languages/esql/esql-query-approximation) for faster, estimated results.
- `filters` ([] union  · max: 500) — optional
  Filters applied across all panels, including pinned panels.
  - **Kibana_HTTP_APIs_kbn-as-code-filters-schema_asCodeConditionFilterSchema**
    A filter that evaluates a single field condition such as equality, range, or existence.
    - `condition` (union) — required
      A filter condition with strict operator/value type matching.
      - **Kibana_HTTP_APIs_kbn-as-code-filters-schema_condition_is** (`operator: is`)
        Matches documents where `field` equals a single specified value.
        - `field` (string) — required
          Name of the document field the condition evaluates.
        - `negate` (boolean) — optional
          When `true`, the filter is negated and matches documents that do NOT satisfy the condition. Defaults to `false`.
        - `operator` (enum) — required
          Values: `is`
        - `value` (union string | number | boolean) — required
          Single value to compare against the field.
      - **Kibana_HTTP_APIs_kbn-as-code-filters-schema_condition_is_one_of** (`operator: is_one_of`)
        Matches documents where `field` equals any value in a provided list.
        - `field` (string) — required
          Name of the document field the condition evaluates.
        - `negate` (boolean) — optional
          When `true`, the filter is negated and matches documents that do NOT satisfy the condition. Defaults to `false`.
        - `operator` (enum) — required
          Values: `is_one_of`
        - `value` (union [] string | [] number | [] boolean) — required
          Homogeneous array of values to match against the field.
      - **Kibana_HTTP_APIs_kbn-as-code-filters-schema_condition_range** (`operator: range`)
        Matches documents where `field` falls within a specified numeric or date range.
        - `field` (string) — required
          Name of the document field the condition evaluates.
        - `negate` (boolean) — optional
          When `true`, the filter is negated and matches documents that do NOT satisfy the condition. Defaults to `false`.
        - `operator` (enum) — required
          Values: `range`
        - `value` (object) — required
          Boundary values for a range comparison.
          - `format` (string) — optional
            Elasticsearch [date format](https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/mapping-date-format) string applied when parsing date boundary values. For example, `strict_date_optional_time` or `epoch_millis`.
          - `gt` (number | string) — optional
            Greater than.
          - `gte` (number | string) — optional
            Greater than or equal to.
          - `lt` (number | string) — optional
            Less than.
          - `lte` (number | string) — optional
            Less than or equal to.
      - **Kibana_HTTP_APIs_kbn-as-code-filters-schema_condition_exists** (`operator: exists`)
        Matches documents where `field` exists and contains a non-null value.
        - `field` (string) — required
          Name of the document field the condition evaluates.
        - `negate` (boolean) — optional
          When `true`, the filter is negated and matches documents that do NOT satisfy the condition. Defaults to `false`.
        - `operator` (enum) — required
          Values: `exists`
    - `controlled_by` (string) — optional
      Identifier of the panel that manages this filter. When set, the filter is treated as owned by that panel.
    - `data_view_id` (string) — optional
      Identifier of the data view used as context for this filter.
    - `disabled` (boolean) — optional
      When `true`, the filter is inactive and does not affect query results. Defaults to `false`.
    - `is_multi_index` (boolean) — optional
      When `true`, the filter can be applied across multiple indices. Defaults to `false`.
    - `label` (string) — optional
      Human-readable label for the filter, used for display purposes.
    - `negate` (boolean) — optional
      When `true`, the filter is negated and matches documents that do NOT satisfy the condition. Defaults to `false`.
    - `type` (enum) — required
      Values: `condition`
  - **Kibana_HTTP_APIs_kbn-as-code-filters-schema_asCodeGroupFilterSchema**
    A filter that combines multiple conditions or nested groups using a logical `and` or `or` operator.
    - `controlled_by` (string) — optional
      Identifier of the panel that manages this filter. When set, the filter is treated as owned by that panel.
    - `data_view_id` (string) — optional
      Identifier of the data view used as context for this filter.
    - `disabled` (boolean) — optional
      When `true`, the filter is inactive and does not affect query results. Defaults to `false`.
    - `group` ({}) — required
      Logical group that combines one or more conditions or nested groups.
      - `conditions` ([] union anyOf) — required — recursive
        Ordered list of conditions or nested groups combined by the group `operator`.
      - `operator` (enum) — required
        Logical operator applied across all entries in `conditions`. Use `and` to require all conditions, or `or` to require at least one.
        Values: `and`, `or`
    - `is_multi_index` (boolean) — optional
      When `true`, the filter can be applied across multiple indices. Defaults to `false`.
    - `label` (string) — optional
      Human-readable label for the filter, used for display purposes.
    - `negate` (boolean) — optional
      When `true`, the filter is negated and matches documents that do NOT satisfy the condition. Defaults to `false`.
    - `type` (enum) — required
      Values: `group`
  - **Kibana_HTTP_APIs_kbn-as-code-filters-schema_asCodeDSLFilterSchema**
    A filter expressed as a raw [Elasticsearch Query DSL](https://www.elastic.co/docs/reference/query-languages/querydsl) object, used for queries that cannot be represented by condition or group filters.
    - `controlled_by` (string) — optional
      Identifier of the panel that manages this filter. When set, the filter is treated as owned by that panel.
    - `data_view_id` (string) — optional
      Identifier of the data view used as context for this filter.
    - `disabled` (boolean) — optional
      When `true`, the filter is inactive and does not affect query results. Defaults to `false`.
    - `dsl` (map string to object) — required
      Elasticsearch Query DSL object passed directly to the query.
    - `field` (string) — optional
      Field name for scripted filters where the field cannot be extracted from the DSL query.
    - `is_multi_index` (boolean) — optional
      When `true`, the filter can be applied across multiple indices. Defaults to `false`.
    - `label` (string) — optional
      Human-readable label for the filter, used for display purposes.
    - `negate` (boolean) — optional
      When `true`, the filter is negated and matches documents that do NOT satisfy the condition. Defaults to `false`.
    - `params` (object) — optional
      Filter parameters metadata. May contain display values, formats, and parameters for scripted filters.
    - `type` (enum) — required
      Values: `dsl`
  - **Kibana_HTTP_APIs_kbn-as-code-filters-schema_asCodeSpatialFilterSchema**
    A filter that applies an Elasticsearch geo query, used for geographic boundary and shape matching.
    - `controlled_by` (string) — optional
      Identifier of the panel that manages this filter. When set, the filter is treated as owned by that panel.
    - `data_view_id` (string) — optional
      Identifier of the data view used as context for this filter.
    - `disabled` (boolean) — optional
      When `true`, the filter is inactive and does not affect query results. Defaults to `false`.
    - `dsl` (map string to object) — required
      Elasticsearch geo query DSL object.
    - `is_multi_index` (boolean) — optional
      When `true`, the filter can be applied across multiple indices. Defaults to `false`.
    - `label` (string) — optional
      Human-readable label for the filter, used for display purposes.
    - `negate` (boolean) — optional
      When `true`, the filter is negated and matches documents that do NOT satisfy the condition. Defaults to `false`.
    - `type` (enum) — required
      Values: `spatial`
- `options` ({}  · default: {
  "auto_apply_filters": true,
  "hide_panel_borders": false,
  "hide_panel_titles": false,
  "sync_colors": false,
  "sync_cursor": true,
  "sync_tooltips": false,
  "use_margins": true
}) — optional
  Display and behavior settings for the dashboard.
  - `auto_apply_filters` (boolean · default: true) — optional
    When `true`, control filter changes are applied automatically. When `false`, control filter changes are applied manually through the dashboard's search update button. Defaults to `true`.
  - `hide_panel_borders` (boolean · default: false) — optional
    When `true`, panel borders are hidden. Defaults to `false`.
  - `hide_panel_titles` (boolean · default: false) — optional
    When `true`, panel titles are hidden. Defaults to `false`.
  - `sync_colors` (boolean · default: false) — optional
    When `true`, colors are synchronized across panels that share a data source. Defaults to `false`.
  - `sync_cursor` (boolean · default: true) — optional
    When `true`, the cursor position is synchronized across panels. Defaults to `true`.
  - `sync_tooltips` (boolean · default: false) — optional
    When `true`, tooltips are synchronized across panels. Defaults to `false`.
  - `use_margins` (boolean · default: true) — optional
    When `true`, panels are separated by a margin. Defaults to `true`.
- `panels` ([] union anyOf · max: 1000) — optional
  Panels and sections in the dashboard. Each entry is either a panel (with a `type` and `config`) or a collapsible section (with a `title`, `collapsed` state, and nested `panels`).
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-ml_anomaly_charts**
    - `config` ({}) — required
      Anomaly Charts embeddable
      - `description` (string) — optional
        A short description of the panel.
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `job_ids` ([] string · min: 1 · max: 10000) — required
        Anomaly detection job or group IDs whose results are shown in the charts.
      - `max_series_to_plot` (number · min: 1 · max: 50) — optional
        Maximum number of anomaly series to plot.
      - `severity_threshold` ([] union anyOf · max: 5) — optional
        Severity threshold ranges used to filter anomaly results.
        - **max: 3**
          - `max` (enum) — required
            Values: `3`
          - `min` (enum) — required
            Values: `0`
        - **max: 25**
          - `max` (enum) — required
            Values: `25`
          - `min` (enum) — required
            Values: `3`
        - **max: 50**
          - `max` (enum) — required
            Values: `50`
          - `min` (enum) — required
            Values: `25`
        - **max: 75**
          - `max` (enum) — required
            Values: `75`
          - `min` (enum) — required
            Values: `50`
        - **min: 75**
          - `min` (enum) — required
            Values: `75`
      - `time_range` ({}) — optional
        Specifies the time range for a query.
        - `from` (string) — required
          The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
        - `mode` (enum) — optional
          The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
          Values: `absolute`, `relative`
        - `to` (string) — required
          The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
      - `title` (string) — optional
        The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `ml_anomaly_charts`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-ml_anomaly_swimlane**
    - `config` (union) — required
      Anomaly Swim Lane embeddable
      - **swimlane_type: overall**
        - `description` (string) — optional
          A short description of the panel.
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `job_ids` ([] string · min: 1 · max: 10000) — required
          IDs of the anomaly detection jobs or groups whose results are shown in the swim lane.
        - `per_page` (number · min: 1) — optional
          Number of rows to display per page in a view-by swim lane. Ignored for overall swim lanes.
        - `swimlane_type` (enum) — required
          Values: `overall`
        - `time_range` ({}) — optional
          Specifies the time range for a query.
          - `from` (string) — required
            The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
          - `mode` (enum) — optional
            The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
            Values: `absolute`, `relative`
          - `to` (string) — required
            The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
        - `title` (string) — optional
          The panel title.
      - **swimlane_type: viewBy**
        - `description` (string) — optional
          A short description of the panel.
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `job_ids` ([] string · min: 1 · max: 10000) — required
          IDs of the anomaly detection jobs or groups whose results are shown in the swim lane.
        - `per_page` (number · min: 1) — optional
          Number of rows to display per page in a view-by swim lane. Ignored for overall swim lanes.
        - `swimlane_type` (enum) — required
          Values: `viewBy`
        - `time_range` ({}) — optional
          Specifies the time range for a query.
          - `from` (string) — required
            The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
          - `mode` (enum) — optional
            The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
            Values: `absolute`, `relative`
          - `to` (string) — required
            The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
        - `title` (string) — optional
          The panel title.
        - `view_by` (string · min: 1 · max: 1000) — required
          Field name used to split anomalies into a view-by swim lane.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `ml_anomaly_swimlane`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-apm_service_map**
    - `config` ({}) — required
      APM service map embeddable schema
      - `alert_status_filter` ([] enum  · max: 4) — optional
        Values: `active`, `recovered`, `untracked`, `delayed`
      - `anomaly_severity_filter` ([] enum  · max: 6) — optional
        Values: `critical`, `major`, `minor`, `warning`, `low`, `unknown`
      - `connection_filter` ([] enum  · max: 2) — optional
        Values: `orphaned`, `connected`
      - `description` (string) — optional
        A short description of the panel.
      - `environment` (string · max: 1024 · default: ENVIRONMENT_ALL) — optional
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `highlighted_service_names` ([] string · max: 50) — optional
      - `kuery` (string · max: 2048) — optional
      - `map_orientation` (enum) — optional
        Values: `horizontal`, `vertical`
      - `service_group_id` (string · max: 1024) — optional
      - `service_name` (string · max: 1024) — optional
      - `slo_status_filter` ([] enum  · max: 4) — optional
        Values: `healthy`, `degrading`, `violated`, `noData`
      - `sync_with_dashboard_filters` (boolean) — optional
      - `time_range` ({}) — optional
        Specifies the time range for a query.
        - `from` (string) — required
          The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
        - `mode` (enum) — optional
          The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
          Values: `absolute`, `relative`
        - `to` (string) — required
          The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
      - `title` (string) — optional
        The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `apm_service_map`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-aiops_change_point_chart**
    - `config` ({}) — required
      Change point detection chart embeddable schema
      - `aggregation_function` (enum  · default: avg) — optional
        The aggregation function used to calculate the metric values.
        Values: `avg`, `sum`, `min`, `max`
      - `data_view_id` (string · min: 1 · max: 10000) — required
        The data view ID used to run change point detection.
      - `description` (string) — optional
        A short description of the panel.
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `max_series_to_plot` (integer · min: 1 · max: 50 · default: 6) — optional
        The maximum number of change points to visualize. Defaults to 6.
      - `metric_field` (string · min: 1 · max: 10000) — required
        The metric field used by the aggregation function.
      - `partitions` ([] string · max: 10000) — optional
        Optional split field values to include in the panel.
      - `split_field` (string · min: 1 · max: 10000) — optional
        The optional field used to split change point results.
      - `time_range` ({}) — optional
        Specifies the time range for a query.
        - `from` (string) — required
          The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
        - `mode` (enum) — optional
          The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
          Values: `absolute`, `relative`
        - `to` (string) — required
          The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
      - `title` (string) — optional
        The panel title.
      - `view_type` (enum  · default: charts) — optional
        The type of change point detection view to display.
        Values: `charts`, `table`
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `aiops_change_point_chart`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-custom_content**
    - `config` (object) — required
      - `description` (string) — optional
        A short description of the panel.
      - `esql_query` ([] string · max: 1) — optional
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `template` (string · max: 510000) — optional
      - `time_range` ({}) — optional
        Specifies the time range for a query.
        - `from` (string) — required
          The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
        - `mode` (enum) — optional
          The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
          Values: `absolute`, `relative`
        - `to` (string) — required
          The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
      - `title` (string) — optional
        The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `custom_content`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-discover_session**
    - `config` (union anyOf) — required
      - **By value**
        Panel configuration stored inline
        - `description` (string) — optional
          A short description of the panel.
        - `drilldowns` ([] union  · max: 100) — optional
          - **url_drilldown**
            - `encode_url` (boolean · default: true) — optional
              When true, URL is escaped using percent encoding
            - `open_in_new_tab` (boolean · default: true) — optional
            - `url` (string) — required
              Templated Url. Variables documented at https://www.elastic.co/docs/explore-analyze/dashboards/drilldowns#url-template-variable
            - `label` (string) — required
            - `trigger` (enum) — required
              Values: `on_open_panel_menu`
            - `type` (enum) — required
              Values: `url_drilldown`
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `tabs` ([] union anyOf · min: 1 · max: 1) — required
          Inline tab configuration. Used when no `ref_id` is set. Currently supports one tab.
          - **header_row_height: auto**
            - `column_order` ([] string · max: 100) — optional
              Ordered list of field names to display in the data table. If omitted, defaults to the advanced setting "defaultColumns" or the referenced saved object.
            - `column_settings` (map string to object) — optional
              Per-column presentation settings keyed by field name (e.g. widths). Keys should correspond to entries in `column_order` when both are set.
              Map values (object)
              - `width` (number · min: 0) — optional
                Optional width of the column in pixels.
            - `data_source` (union oneOf) — required
              - **Kibana_HTTP_APIs_kbn-data-view-reference-schema** (`type: data_view_reference`)
                - `ref_id` (string) — required
                  The id of the Kibana data view to use as the data source. Example: "my-data-view".
                - `type` (enum) — required
                  Values: `data_view_reference`
              - **Kibana_HTTP_APIs_kbn-data-view-spec-schema** (`type: data_view_spec`)
                - `allow_hidden_indices` (boolean) — optional
                  When `true`, allows the data view to match hidden indices.
                - `field_filters` ([] object · max: 10000) — optional
                  Field filters can be used to exclude one or more fields when fetching a document. They may contain wildcards, such as `user*` which filters fields starting with 'user'.
                - `field_settings` (map string to object) — optional
                - `index_pattern` (string · min: 1) — required
                  The index pattern (Elasticsearch index expression) to use as the data source. Example: "my-index-*".
                - `name` (string · min: 1 · max: 256) — optional
                  The name of the data view. Example: "Sample data view".
                - `time_field` (string) — optional
                  The name of the time field in the index. Used for time-based filtering. Example: "@timestamp".
                - `type` (enum) — required
                  Values: `data_view_spec`
            - `default_rendered_nodes` (number · min: 10 · max: 200) — optional
              Discover display option: controls how many nodes each JSON cell renders by default in JSON document view.
            - `density` (enum) — optional
              Discover display option: controls table row spacing. Choose "compact", "expanded", or "normal". If omitted, Discover or the embedding application determines the density from its current settings, such as the user preference.
              Values: `compact`, `expanded`, `normal`
            - `documents_display_mode` (enum) — optional
              Discover display option: controls whether documents are shown as a formatted table ("table") or as a raw JSON tree ("json").
              Values: `table`, `json`
            - `filters` ([] union  · max: 100 · default: []) — optional
              List of filters to apply to the data in the tab.
              Same options as `filters`
            - `header_row_height` (union number | enum) — optional
              Discover display option: controls table header row height. Use a number (1–5) or "auto" to size based on content. If omitted, Discover or the embedding application determines the height from its current settings, such as the user preference.
              Values: `auto`
            - `hide_nulls` (boolean) — optional
              Discover display option: controls whether fields with null values are hidden in JSON document view.
            - `query` ({}) — optional
              A search query consisting of an expression and its language. Supports KQL and Lucene syntax.
              - `expression` (string) — required
                A query expression in KQL or Lucene syntax.
              - `language` (enum) — required
                Query language. Use `kql` for Kibana Query Language (KQL) or `lucene` for Lucene query syntax.
                Values: `kql`, `lucene`
            - `row_height` (union number | enum) — optional
              Discover display option: controls table data row height. Use a number (1–20) or "auto" to size based on content. If omitted, defaults to the advanced setting "discover:rowHeightOption".
              Values: `auto`
            - `rows_per_page` (number · min: 1 · max: 10000) — optional
              The number of rows to display per page in the data table. If omitted, defaults to the advanced setting "discover:sampleRowsPerPage".
            - `sample_size` (number · min: 10 · max: 10000) — optional
              Discover display option: controls how many documents to sample for the data table. If omitted, defaults to the advanced setting "discover:sampleSize".
            - `sort` ([] object · max: 100 · default: []) — optional
              Sort configuration for the data table (field and direction).
              - `direction` (enum) — required
                The direction to sort the field by: Use "asc" for ascending or "desc" for descending.
                Values: `asc`, `desc`
              - `name` (string) — required
                The name of the field to sort by.
            - `type` (enum  · default: default) — optional
              Identifies the type of profile settings saved with the tab. The `default` value indicates that no profile settings are included.
              Values: `default`
            - `view_mode` (enum  · default: documents) — optional
              Discover view mode. Choose "documents" (search hits), "patterns" (pattern analysis), or "aggregated" (field statistics).
              Values: `documents`, `patterns`, `aggregated`
            - `wrap_lines` (boolean) — optional
              Discover display option: controls whether long values wrap in JSON document view. When false, values are truncated to a single line.
          - **header_row_height: auto**
            ES|QL (Elasticsearch Query Language) data source.
            - `column_order` ([] string · max: 100) — optional
              Ordered list of field names to display in the data table. If omitted, defaults to the advanced setting "defaultColumns" or the referenced saved object.
            - `column_settings` (map string to object) — optional
              Per-column presentation settings keyed by field name (e.g. widths). Keys should correspond to entries in `column_order` when both are set.
              Map values (object)
              - `width` (number · min: 0) — optional
                Optional width of the column in pixels.
            - `data_source` ({}) — required
              Uses an ES|QL query as the data source. The query is executed at render time; resulting columns are available as fields.
              - `query` (string) — required
                An ES|QL query that drives the data source. The query must produce a tabular result set; column names are used as field references. Example: "FROM logs-* | STATS count = COUNT(*) BY host.name".
              - `type` (enum) — required
                Values: `esql`
            - `default_rendered_nodes` (number · min: 10 · max: 200) — optional
              Discover display option: controls how many nodes each JSON cell renders by default in JSON document view.
            - `density` (enum) — optional
              Discover display option: controls table row spacing. Choose "compact", "expanded", or "normal". If omitted, Discover or the embedding application determines the density from its current settings, such as the user preference.
              Values: `compact`, `expanded`, `normal`
            - `documents_display_mode` (enum) — optional
              Discover display option: controls whether documents are shown as a formatted table ("table") or as a raw JSON tree ("json").
              Values: `table`, `json`
            - `header_row_height` (union number | enum) — optional
              Discover display option: controls table header row height. Use a number (1–5) or "auto" to size based on content. If omitted, Discover or the embedding application determines the height from its current settings, such as the user preference.
              Values: `auto`
            - `hide_nulls` (boolean) — optional
              Discover display option: controls whether fields with null values are hidden in JSON document view.
            - `row_height` (union number | enum) — optional
              Discover display option: controls table data row height. Use a number (1–20) or "auto" to size based on content. If omitted, defaults to the advanced setting "discover:rowHeightOption".
              Values: `auto`
            - `rows_per_page` (number · min: 1 · max: 10000) — optional
              The number of rows to display per page in the data table. If omitted, defaults to the advanced setting "discover:sampleRowsPerPage".
            - `sample_size` (number · min: 10 · max: 10000) — optional
              Discover display option: controls how many documents to sample for the data table. If omitted, defaults to the advanced setting "discover:sampleSize".
            - `sort` ([] object · max: 100 · default: []) — optional
              Sort configuration for the data table (field and direction).
              - `direction` (enum) — required
                The direction to sort the field by: Use "asc" for ascending or "desc" for descending.
                Values: `asc`, `desc`
              - `name` (string) — required
                The name of the field to sort by.
            - `type` (enum  · default: default) — optional
              Identifies the type of profile settings saved with the tab. The `default` value indicates that no profile settings are included.
              Values: `default`
            - `wrap_lines` (boolean) — optional
              Discover display option: controls whether long values wrap in JSON document view. When false, values are truncated to a single line.
          - **Metrics tab**
            An ES|QL tab with saved metrics grid settings. The dashboard panel stores these settings and restores them in Discover. The panel does not render the metrics grid.
            - `column_order` ([] string · max: 100) — optional
              Ordered list of field names to display in the data table. If omitted, defaults to the advanced setting "defaultColumns" or the referenced saved object.
            - `column_settings` (map string to object) — optional
              Per-column presentation settings keyed by field name (e.g. widths). Keys should correspond to entries in `column_order` when both are set.
              Map values (object)
              - `width` (number · min: 0) — optional
                Optional width of the column in pixels.
            - `counter_aggregation` (enum) — required
              Aggregation applied to counter metric fields.
              Values: `avg`, `sum`, `min`, `max`
            - `data_source` ({}) — required
              Uses an ES|QL query as the data source. The query is executed at render time; resulting columns are available as fields.
              - `query` (string) — required
                An ES|QL query that drives the data source. The query must produce a tabular result set; column names are used as field references. Example: "FROM logs-* | STATS count = COUNT(*) BY host.name".
              - `type` (enum) — required
                Values: `esql`
            - `default_rendered_nodes` (number · min: 10 · max: 200) — optional
              Discover display option: controls how many nodes each JSON cell renders by default in JSON document view.
            - `density` (enum) — optional
              Discover display option: controls table row spacing. Choose "compact", "expanded", or "normal". If omitted, Discover or the embedding application determines the density from its current settings, such as the user preference.
              Values: `compact`, `expanded`, `normal`
            - `dimensions` ([] string · max: 5) — required
              Fields used to group metrics in the metrics grid.
            - `documents_display_mode` (enum) — optional
              Discover display option: controls whether documents are shown as a formatted table ("table") or as a raw JSON tree ("json").
              Values: `table`, `json`
            - `gauge_aggregation` (enum) — required
              Aggregation applied to gauge metric fields.
              Values: `avg`, `sum`, `min`, `max`
            - `header_row_height` (union number | enum) — optional
              Discover display option: controls table header row height. Use a number (1–5) or "auto" to size based on content. If omitted, Discover or the embedding application determines the height from its current settings, such as the user preference.
              Values: `auto`
            - `hide_nulls` (boolean) — optional
              Discover display option: controls whether fields with null values are hidden in JSON document view.
            - `histogram_percentile` (enum) — required
              Percentile displayed for histogram metric fields.
              Values: `p50`, `p75`, `p90`, `p95`, `p99`
            - `row_height` (union number | enum) — optional
              Discover display option: controls table data row height. Use a number (1–20) or "auto" to size based on content. If omitted, defaults to the advanced setting "discover:rowHeightOption".
              Values: `auto`
            - `rows_per_page` (number · min: 1 · max: 10000) — optional
              The number of rows to display per page in the data table. If omitted, defaults to the advanced setting "discover:sampleRowsPerPage".
            - `sample_size` (number · min: 10 · max: 10000) — optional
              Discover display option: controls how many documents to sample for the data table. If omitted, defaults to the advanced setting "discover:sampleSize".
            - `search_term` (string · max: 1000) — required
              Search term used to filter metrics in the metrics grid.
            - `sort` ([] object · max: 100 · default: []) — optional
              Sort configuration for the data table (field and direction).
              - `direction` (enum) — required
                The direction to sort the field by: Use "asc" for ascending or "desc" for descending.
                Values: `asc`, `desc`
              - `name` (string) — required
                The name of the field to sort by.
            - `type` (enum) — required
              A tab with saved metrics grid settings. Requires an ES|QL data source. These settings are used only when the query supports the metrics experience.
              Values: `metrics`
            - `wrap_lines` (boolean) — optional
              Discover display option: controls whether long values wrap in JSON document view. When false, values are truncated to a single line.
        - `time_range` ({}) — optional
          Specifies the time range for a query.
          - `from` (string) — required
            The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
          - `mode` (enum) — optional
            The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
            Values: `absolute`, `relative`
          - `to` (string) — required
            The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
        - `title` (string) — optional
          The panel title.
      - **By reference**
        Panel configuration stored in a linked library item
        - `description` (string) — optional
          A short description of the panel.
        - `drilldowns` ([] union  · max: 100) — optional
          - **url_drilldown**
            - `encode_url` (boolean · default: true) — optional
              When true, URL is escaped using percent encoding
            - `open_in_new_tab` (boolean · default: true) — optional
            - `url` (string) — required
              Templated Url. Variables documented at https://www.elastic.co/docs/explore-analyze/dashboards/drilldowns#url-template-variable
            - `label` (string) — required
            - `trigger` (enum) — required
              Values: `on_open_panel_menu`
            - `type` (enum) — required
              Values: `url_drilldown`
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `overrides` (object · default: {}) — optional
          - `column_order` ([] string · max: 100) — optional
            When set, overrides column order for the data table relative to the referenced saved object (`ref_id`) or the inline tab in `tabs`. If omitted, the source configuration is used.
          - `column_settings` (map string to object) — optional
            Per-column presentation overrides (e.g. widths) keyed by field name. When set, merges with the source configuration for the referenced session or inline tab.
            Map values (object)
            - `width` (number · min: 0) — optional
              Optional width of the column in pixels.
          - `default_rendered_nodes` (number · min: 10 · max: 200) — optional
            Discover display option: controls how many nodes each JSON cell renders by default in JSON document view. When set, overrides the referenced saved object or the inline tab config in `tabs`. If omitted, the source configuration is used.
          - `density` (enum) — optional
            Discover display option: controls table row spacing (`compact`, `expanded`, or `normal`). When set, overrides the referenced saved object or the inline tab config in `tabs`. If omitted, the source configuration is used.
            Values: `compact`, `expanded`, `normal`
          - `documents_display_mode` (enum) — optional
            Discover display option: controls whether documents are shown as a formatted table ("table") or as a raw JSON tree ("json"). When set, overrides the referenced saved object or the inline tab config in `tabs`.
            Values: `table`, `json`
          - `header_row_height` (union number | enum) — optional
            Discover display option: controls table header row height (number 1–5 or `auto`). When set, overrides the referenced saved object or the inline tab config in `tabs`. If omitted, the source configuration is used.
            Values: `auto`
          - `hide_nulls` (boolean) — optional
            Discover display option: controls whether fields with null values are hidden in JSON document view. When set, overrides the referenced saved object or the inline tab config in `tabs`. If omitted, the source configuration is used.
          - `row_height` (union number | enum) — optional
            Discover display option: controls table data row height (number 1–20 or `auto`). When set, overrides the referenced saved object or the inline tab config in `tabs`. If omitted, falls back to the source or to the advanced setting "discover:rowHeightOption".
            Values: `auto`
          - `rows_per_page` (number · min: 1 · max: 10000) — optional
            Number of rows per page. When set, overrides the referenced saved object or the inline tab config in `tabs`. If omitted, falls back to the source or to the advanced setting "discover:sampleRowsPerPage".
          - `sample_size` (number · min: 10 · max: 10000) — optional
            Discover display option: controls how many documents to sample. When set, overrides the referenced saved object or the inline tab config in `tabs`. If omitted, falls back to the source or to the advanced setting "discover:sampleSize".
          - `sort` ([] object · max: 100) — optional
            Sort configuration (field and direction) for the data table. When set, overrides the referenced saved object or the inline tab config in `tabs`. If omitted, the source configuration is used.
            - `direction` (enum) — required
              The direction to sort the field by: Use "asc" for ascending or "desc" for descending.
              Values: `asc`, `desc`
            - `name` (string) — required
              The name of the field to sort by.
          - `wrap_lines` (boolean) — optional
            Discover display option: controls whether long values wrap in JSON document view. When false, values are truncated to a single line. When set, overrides the referenced saved object or the inline tab config in `tabs`. If omitted, the source configuration is used.
        - `ref_id` (string) — required
        - `selected_tab_id` (string) — optional
          Tab to select from the referenced saved object. If omitted, defaults to the first tab.
        - `time_range` ({}) — optional
          Specifies the time range for a query.
          - `from` (string) — required
            The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
          - `mode` (enum) — optional
            The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
            Values: `absolute`, `relative`
          - `to` (string) — required
            The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
        - `title` (string) — optional
          The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `discover_session`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-esql_control**
    - `config` (union oneOf) — required
      - **Kibana_HTTP_APIs_kbn-controls-schemas-options-list-esql-control-schema-static-values** (`control_type: STATIC_VALUES`)
        An ES|QL variable control with a fixed list of selectable options defined directly in `available_options`.
        - `available_options` ([] string · max: 1000) — required
          A fixed list of option strings displayed in the control.
        - `control_type` (enum) — required
          Values: `STATIC_VALUES`
        - `display_settings` (object) — optional
          - `hide_action_bar` (boolean) — optional
            When `true`, the search bar, sorting options, and select all toggle are hidden from the control.
          - `hide_exclude` (boolean) — optional
            When `true`, the exclude mode toggle is hidden from the control.
          - `hide_exists` (boolean) — optional
            When `true`, the exists filter option is hidden from the control.
          - `hide_sort` (boolean) — optional
            When `true`, the sort selector is hidden from the control.
          - `placeholder` (string) — optional
            Placeholder text displayed in the control input when no option is selected.
        - `selected_options` ([] string · max: 10000) — required
          The list of currently selected option values.
        - `single_select` (boolean · default: true) — optional
          When `true`, only one option can be selected at a time. Selecting a new option deselects any previously selected option. Defaults to `true`.
        - `title` (string) — optional
          A human-readable title for the control.
        - `variable_name` (string) — required
          The name of the ES|QL variable that this control populates. The variable is referenced in ES|QL queries using the `?variable_name` syntax.
        - `variable_type` (enum) — required
          The ES|QL variable type that determines how the selected value is substituted into the query. Accepts `fields`, `values`, `functions`, `time_literal`, or `multi_values`.
          Values: `fields`, `values`, `functions`, `time_literal`, `multi_values`
      - **Kibana_HTTP_APIs_kbn-controls-schemas-options-list-esql-control-schema-values-from-query** (`control_type: VALUES_FROM_QUERY`)
        An ES|QL variable control whose selectable options are dynamically retrieved by running an ES|QL query.
        - `control_type` (enum) — required
          Values: `VALUES_FROM_QUERY`
        - `display_settings` (object) — optional
          - `hide_action_bar` (boolean) — optional
            When `true`, the search bar, sorting options, and select all toggle are hidden from the control.
          - `hide_exclude` (boolean) — optional
            When `true`, the exclude mode toggle is hidden from the control.
          - `hide_exists` (boolean) — optional
            When `true`, the exists filter option is hidden from the control.
          - `hide_sort` (boolean) — optional
            When `true`, the sort selector is hidden from the control.
          - `placeholder` (string) — optional
            Placeholder text displayed in the control input when no option is selected.
        - `esql_query` (string) — required
          An ES|QL query whose results populate the list of available options in the control popover.
        - `selected_options` ([] string · max: 10000) — required
          The list of currently selected option values.
        - `single_select` (boolean · default: true) — optional
          When `true`, only one option can be selected at a time. Selecting a new option deselects any previously selected option. Defaults to `true`.
        - `title` (string) — optional
          A human-readable title for the control.
        - `variable_name` (string) — required
          The name of the ES|QL variable that this control populates. The variable is referenced in ES|QL queries using the `?variable_name` syntax.
        - `variable_type` (enum) — required
          The ES|QL variable type that determines how the selected value is substituted into the query. Accepts `fields`, `values`, `functions`, `time_literal`, or `multi_values`.
          Values: `fields`, `values`, `functions`, `time_literal`, `multi_values`
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `esql_control`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-field_stats_table**
    - `config` (union) — required
      Field statistics table embeddable schema
      - **view_type: dataview** (`view_type: dataview`)
        - `data_view_id` (string · min: 1 · max: 1000) — required
          Data view ID (stored as a panel reference).
        - `description` (string) — optional
          A short description of the panel.
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `show_distributions` (boolean · default: false) — optional
          Whether to show the distribution mini-charts in the table.
        - `time_range` ({}) — optional
          Specifies the time range for a query.
          - `from` (string) — required
            The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
          - `mode` (enum) — optional
            The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
            Values: `absolute`, `relative`
          - `to` (string) — required
            The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
        - `title` (string) — optional
          The panel title.
        - `view_type` (enum) — required
          Values: `dataview`
      - **view_type: esql** (`view_type: esql`)
        - `description` (string) — optional
          A short description of the panel.
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `query` (object) — required
          ES|QL query.
          - `esql` (string · max: 1000) — required
            The ES|QL query string.
        - `show_distributions` (boolean · default: false) — optional
          Whether to show the distribution mini-charts in the table.
        - `time_range` ({}) — optional
          Specifies the time range for a query.
          - `from` (string) — required
            The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
          - `mode` (enum) — optional
            The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
            Values: `absolute`, `relative`
          - `to` (string) — required
            The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
        - `title` (string) — optional
          The panel title.
        - `view_type` (enum) — required
          Values: `esql`
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `field_stats_table`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-image**
    - `config` (object) — required
      Image embeddable schema
      - `description` (string) — optional
        A short description of the panel.
      - `drilldowns` ([] union anyOf · max: 100) — optional
        - **dashboard_drilldown**
          - `open_in_new_tab` (boolean · default: false) — optional
            When enabled, the dashboard opens in a new browser tab.
          - `use_filters` (boolean · default: true) — optional
            When enabled, filters are passed to the opening dashboard.
          - `use_time_range` (boolean · default: true) — optional
            When enabled, time range is passed to the opening dashboard.
          - `dashboard_id` (string) — required
          - `label` (string) — required
          - `trigger` (enum) — required
            Values: `on_click_image`
          - `type` (enum) — required
            Values: `dashboard_drilldown`
        - **url_drilldown**
          - `encode_url` (boolean · default: true) — optional
            When true, URL is escaped using percent encoding
          - `open_in_new_tab` (boolean · default: true) — optional
          - `url` (string) — required
            Templated Url. Variables documented at https://www.elastic.co/docs/explore-analyze/dashboards/drilldowns#url-template-variable
          - `label` (string) — required
          - `trigger` (enum) — required
            Values: `on_click_image`, `on_open_panel_menu`
          - `type` (enum) — required
            Values: `url_drilldown`
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `image_config` (object) — required
        - `alt_text` (string) — optional
        - `background_color` (string) — optional
        - `object_fit` (enum  · default: contain) — optional
          How the image should be sized within its container
          Values: `fill`, `contain`, `cover`, `none`
        - `src` (union anyOf) — required
          Image source
          - **file**
            - `file_id` (string) — required
            - `type` (enum) — required
              Values: `file`
          - **url**
            - `type` (enum) — required
              Values: `url`
            - `url` (string) — required
              URL of the image
      - `title` (string) — optional
        The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `image`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-links**
    - `config` (union anyOf) — required
      Links embeddable schema
      - **By value**
        Panel configuration stored inline
        - `description` (string) — optional
          A short description of the panel.
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `layout` (enum) — optional
          Whether to display the links in a horizontal or vertical layout.
          Values: `horizontal`, `vertical`
        - `links` ([] union oneOf · max: 100) — required
          The list of links to display.
          - **Kibana_HTTP_APIs_kbn-link-panel-type-dashboardLink**
            Link type. Set to dashboardLink for a link to another dashboard.
            - `destination` (string) — required
              Linked dashboard saved object ID.
            - `label` (string) — optional
              The label of the link displayed in the UI.
            - `options` (object · default: {
  "open_in_new_tab": false,
  "use_filters": true,
  "use_time_range": true
}) — optional
              - `open_in_new_tab` (boolean · default: false) — optional
                When enabled, the dashboard opens in a new browser tab.
              - `use_filters` (boolean · default: true) — optional
                When enabled, filters are passed to the opening dashboard.
              - `use_time_range` (boolean · default: true) — optional
                When enabled, time range is passed to the opening dashboard.
            - `type` (enum) — required
              Values: `dashboardLink`
          - **Kibana_HTTP_APIs_kbn-link-type-externalLink**
            Link type. Set to externalLink for a URL outside Kibana.
            - `destination` (string) — required
              The external URL to link to.
            - `label` (string) — optional
              The label of the link displayed in the UI.
            - `options` (object · default: {
  "encode_url": true,
  "open_in_new_tab": true
}) — optional
              - `encode_url` (boolean · default: true) — optional
                Whether to escape the URL with percent encoding
              - `open_in_new_tab` (boolean · default: true) — optional
                Whether to open this link in a new tab when clicked.
            - `type` (enum) — required
              Values: `externalLink`
        - `title` (string) — optional
          The panel title.
      - **By reference**
        Panel configuration stored in a linked library item
        - `description` (string) — optional
          A short description of the panel.
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `ref_id` (string) — required
          The unique identifier of the links library item.
        - `title` (string) — optional
          The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `links`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-aiops_log_rate_analysis**
    - `config` ({}) — required
      Log rate analysis embeddable schema
      - `data_view_id` (string · min: 1 · max: 1000) — required
        The data view ID used to run log rate analysis.
      - `description` (string) — optional
        A short description of the panel.
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `time_range` ({}) — optional
        Specifies the time range for a query.
        - `from` (string) — required
          The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
        - `mode` (enum) — optional
          The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
          Values: `absolute`, `relative`
        - `to` (string) — required
          The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
      - `title` (string) — optional
        The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `aiops_log_rate_analysis`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-markdown**
    - `config` (union anyOf) — required
      Markdown panel config
      - **By value**
        Panel configuration stored inline
        - `content` (string) — required
          The Markdown text rendered by the panel. Supports GitHub-flavored Markdown, including headings, paragraphs, lists, links, images, tables, blockquotes, and code blocks. Use `\n` for line breaks within JSON strings.
        - `description` (string) — optional
          A short description of the panel.
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `settings` (object · default: {
  "open_links_in_new_tab": true
}) — optional
          Display settings for the markdown panel.
          - `open_links_in_new_tab` (boolean · default: true) — optional
            Open links in a new browser tab.
        - `title` (string) — optional
          The panel title.
      - **By reference**
        Panel configuration stored in a linked library item
        - `description` (string) — optional
          A short description of the panel.
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `ref_id` (string) — required
          The unique identifier of the markdown library item.
        - `title` (string) — optional
          The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `markdown`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-options_list_control**
    - `config` (union oneOf) — optional
      - **Kibana_HTTP_APIs_kbn-controls-schemas-options-list-dsl-control-schema-esql** (`values_source: esql`)
        An options list control whose available options come from an ES|QL query's results.
        - `display_settings` (object) — optional
          - `hide_action_bar` (boolean) — optional
            When `true`, the search bar, sorting options, and select all toggle are hidden from the control.
          - `hide_exclude` (boolean) — optional
            When `true`, the exclude mode toggle is hidden from the control.
          - `hide_exists` (boolean) — optional
            When `true`, the exists filter option is hidden from the control.
          - `hide_sort` (boolean) — optional
            When `true`, the sort selector is hidden from the control.
          - `placeholder` (string) — optional
            Placeholder text displayed in the control input when no option is selected.
        - `esql_query` (string · min: 1) — required
          The ES|QL query that provides field options for this control
        - `exclude` (boolean · default: false) — optional
          When `true`, the control filters to documents that do NOT match the selected options. Defaults to `false`.
        - `exists_selected` (boolean · default: false) — optional
          When `true`, the control filters to documents where the field exists, regardless of the field's value. Defaults to `false`.
        - `ignore_validations` (boolean · default: false) — optional
          When `true`, the control skips selection validation and does not report which selections are responsible for returning zero results.
        - `run_past_timeout` (boolean · default: false) — optional
          When `true`, the options list query continues running even if it exceeds the configured timeout threshold. Defaults to `false`.
        - `search_technique` (enum  · default: wildcard) — optional
          The matching technique used when searching available options. `prefix` matches values starting with the search term, `wildcard` matches values containing the search term, and `exact` requires a complete match. Only applies to string and IP fields. Defaults to `wildcard`.
          Values: `prefix`, `wildcard`, `exact`
        - `selected_options` ([] number | string · max: 10000 · default: []) — optional
          The list of currently selected option values.
        - `single_select` (boolean · default: false) — optional
          When `true`, only one option can be selected at a time. Selecting a new option deselects any previously selected option. Defaults to `false`.
        - `sort` (object · default: {
  "by": "_count",
  "direction": "desc"
}) — optional
          Defines how the available options are sorted in the control popover. Defaults to `{ by: "_count", direction: "desc" }`.
          - `by` (enum) — required
            The field used to sort the available options list. `_count` sorts by document count and `_key` sorts alphabetically by option value.
            Values: `_count`, `_key`
          - `direction` (enum) — required
            The sort direction. `asc` sorts ascending and `desc` sorts descending.
            Values: `asc`, `desc`
        - `title` (string) — optional
          A human-readable title for the control.
        - `use_global_filters` (boolean · default: true) — optional
          When `true`, the control's available options are narrowed by the page's active filters.
        - `values_source` (enum) — required
          Values: `esql`
      - **Kibana_HTTP_APIs_kbn-controls-schemas-options-list-dsl-control-schema-field** (`values_source: field`)
        An options list control whose available options come from a data view field.
        - `data_view_id` (string · min: 1) — required
          The ID of the data view that provides field options for this control.
        - `display_settings` (object) — optional
          - `hide_action_bar` (boolean) — optional
            When `true`, the search bar, sorting options, and select all toggle are hidden from the control.
          - `hide_exclude` (boolean) — optional
            When `true`, the exclude mode toggle is hidden from the control.
          - `hide_exists` (boolean) — optional
            When `true`, the exists filter option is hidden from the control.
          - `hide_sort` (boolean) — optional
            When `true`, the sort selector is hidden from the control.
          - `placeholder` (string) — optional
            Placeholder text displayed in the control input when no option is selected.
        - `exclude` (boolean · default: false) — optional
          When `true`, the control filters to documents that do NOT match the selected options. Defaults to `false`.
        - `exists_selected` (boolean · default: false) — optional
          When `true`, the control filters to documents where the field exists, regardless of the field's value. Defaults to `false`.
        - `field_name` (string · min: 1) — required
          The name of the field in the data view that this control filters on.
        - `ignore_validations` (boolean · default: false) — optional
          When `true`, the control skips selection validation and does not report which selections are responsible for returning zero results.
        - `run_past_timeout` (boolean · default: false) — optional
          When `true`, the options list query continues running even if it exceeds the configured timeout threshold. Defaults to `false`.
        - `search_technique` (enum  · default: wildcard) — optional
          The matching technique used when searching available options. `prefix` matches values starting with the search term, `wildcard` matches values containing the search term, and `exact` requires a complete match. Only applies to string and IP fields. Defaults to `wildcard`.
          Values: `prefix`, `wildcard`, `exact`
        - `selected_options` ([] number | string · max: 10000 · default: []) — optional
          The list of currently selected option values.
        - `single_select` (boolean · default: false) — optional
          When `true`, only one option can be selected at a time. Selecting a new option deselects any previously selected option. Defaults to `false`.
        - `sort` (object · default: {
  "by": "_count",
  "direction": "desc"
}) — optional
          Defines how the available options are sorted in the control popover. Defaults to `{ by: "_count", direction: "desc" }`.
          - `by` (enum) — required
            The field used to sort the available options list. `_count` sorts by document count and `_key` sorts alphabetically by option value.
            Values: `_count`, `_key`
          - `direction` (enum) — required
            The sort direction. `asc` sorts ascending and `desc` sorts descending.
            Values: `asc`, `desc`
        - `title` (string) — optional
          A human-readable title for the control.
        - `use_global_filters` (boolean · default: true) — optional
          When `true`, the control's available options are narrowed by the page's active filters.
        - `values_source` (enum  · default: field) — optional
          The source of the field options for this control. Defaults to `field` for legacy controls.
          Values: `field`
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `options_list_control`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-aiops_pattern_analysis**
    - `config` ({}) — required
      Log Pattern Analysis embeddable schema
      - `data_view_id` (string · min: 1 · max: 1000) — required
        The data view ID used for pattern analysis.
      - `description` (string) — optional
        A short description of the panel.
      - `field_name` (string · min: 1 · max: 1000) — required
        The text field on which to run pattern analysis.
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `minimum_time_range` (enum  · default: no_minimum) — optional
        Minimum time range for pattern analysis.
        Values: `no_minimum`, `1_week`, `1_month`, `3_months`, `6_months`
      - `random_sampler_mode` (enum  · default: on_automatic) — optional
        The random sampler mode.
        Values: `on_automatic`, `on_manual`, `off`
      - `random_sampler_probability` (number · min: 1E-05 · max: 0.5 · default: null) — optional — nullable
        The probability to use for random sampling (between 0.00001 and 0.5).
      - `time_range` ({}) — optional
        Specifies the time range for a query.
        - `from` (string) — required
          The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
        - `mode` (enum) — optional
          The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
          Values: `absolute`, `relative`
        - `to` (string) — required
          The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
      - `title` (string) — optional
        The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `aiops_pattern_analysis`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-range_slider_control**
    - `config` (union oneOf) — optional
      - **Kibana_HTTP_APIs_kbn-controls-schemas-range-slider-control-schema-esql** (`values_source: esql`)
        A range slider control whose values come from an ES|QL query's results.
        - `esql_query` (string · min: 1) — required
          The ES|QL query that provides field options for this control
        - `ignore_validations` (boolean · default: false) — optional
          When `true`, the control skips selection validation and does not report which selections are responsible for returning zero results.
        - `step` (number · min: 0 · default: 1) — optional
          The step size between selectable range values.
        - `title` (string) — optional
          A human-readable title for the control.
        - `use_global_filters` (boolean · default: true) — optional
          When `true`, the control's available options are narrowed by the page's active filters.
        - `value` ([] string · min: 2 · max: 2) — optional
          The selected range as a two-element array of strings representing the lower and upper bound values, for example `["10", "50"]`.
        - `values_source` (enum) — required
          Values: `esql`
      - **Kibana_HTTP_APIs_kbn-controls-schemas-range-slider-control-schema-field** (`values_source: field`)
        A range slider control whose values come from a numeric data view field.
        - `data_view_id` (string · min: 1) — required
          The ID of the data view that provides field options for this control.
        - `field_name` (string · min: 1) — required
          The name of the field in the data view that this control filters on.
        - `ignore_validations` (boolean · default: false) — optional
          When `true`, the control skips selection validation and does not report which selections are responsible for returning zero results.
        - `step` (number · min: 0 · default: 1) — optional
          The step size between selectable range values.
        - `title` (string) — optional
          A human-readable title for the control.
        - `use_global_filters` (boolean · default: true) — optional
          When `true`, the control's available options are narrowed by the page's active filters.
        - `value` ([] string · min: 2 · max: 2) — optional
          The selected range as a two-element array of strings representing the lower and upper bound values, for example `["10", "50"]`.
        - `values_source` (enum  · default: field) — optional
          The source of the field options for this control. Defaults to `field` for legacy controls.
          Values: `field`
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `range_slider_control`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-ml_single_metric_viewer**
    - `config` ({}) — required
      Single Metric Viewer embeddable
      - `description` (string) — optional
        A short description of the panel.
      - `forecast_id` (string · max: 1000) — optional
        Identifier of a forecast to overlay on the chart.
      - `function_description` (string · max: 1000) — optional
        For detectors that use the `metric` function, selects which value to plot: `min`, `max`, or `mean`. Ignored for other detector functions. When omitted, the viewer derives a default from the highest-scoring anomaly record.
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `job_ids` ([] string · min: 1 · max: 1) — required
        Anomaly detection job ID whose results are shown in the single metric viewer.
      - `selected_detector_index` (number · min: 0 · default: 0) — optional
        Zero-based index of the detector (the Elasticsearch detector_index) within the job whose results are shown.
      - `selected_entities` (map string to string | number) — optional
        Values of the partition, by, or over fields that identify the single time series to display.
      - `time_range` ({}) — optional
        Specifies the time range for a query.
        - `from` (string) — required
          The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
        - `mode` (enum) — optional
          The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
          Values: `absolute`, `relative`
        - `to` (string) — required
          The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
      - `title` (string) — optional
        The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `ml_single_metric_viewer`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-slo_alerts**
    - `config` ({}) — required
      SLO Alerts embeddable schema
      - `description` (string) — optional
        A short description of the panel.
      - `drilldowns` ([] union  · max: 100) — optional
        - **url_drilldown**
          - `encode_url` (boolean · default: true) — optional
            When true, URL is escaped using percent encoding
          - `open_in_new_tab` (boolean · default: true) — optional
          - `url` (string) — required
            Templated Url. Variables documented at https://www.elastic.co/docs/explore-analyze/dashboards/drilldowns#url-template-variable
          - `label` (string) — required
          - `trigger` (enum) — required
            Values: `on_open_panel_menu`
          - `type` (enum) — required
            Values: `url_drilldown`
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `slos` ([] object · max: 100 · default: []) — optional
        List of SLOs to display alerts for
        - `slo_id` (string · max: 64) — required
          SLO ID
        - `slo_instance_id` (string · max: 512 · default: *) — optional
          SLO instance ID
      - `title` (string) — optional
        The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `slo_alerts`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-slo_burn_rate**
    - `config` ({}) — required
      SLO Burn Rate embeddable schema
      - `description` (string) — optional
        A short description of the panel.
      - `drilldowns` ([] union  · max: 100) — optional
        - **url_drilldown**
          - `encode_url` (boolean · default: true) — optional
            When true, URL is escaped using percent encoding
          - `open_in_new_tab` (boolean · default: true) — optional
          - `url` (string) — required
            Templated Url. Variables documented at https://www.elastic.co/docs/explore-analyze/dashboards/drilldowns#url-template-variable
          - `label` (string) — required
          - `trigger` (enum) — required
            Values: `on_open_panel_menu`
          - `type` (enum) — required
            Values: `url_drilldown`
      - `duration` (string · max: 32) — required
        Duration for the burn rate chart in the format [value][unit], e.g. 5m, 3h, or 6d
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `slo_id` (string · max: 64) — required
        The ID of the SLO to display the burn rate for
      - `slo_instance_id` (string · max: 512 · default: *) — optional
        ID of the SLO instance. Set when the SLO uses group_by; identifies which instance to show. Defaults to * (all instances).
      - `title` (string) — optional
        The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `slo_burn_rate`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-slo_error_budget**
    - `config` ({}) — required
      SLO Error Budget embeddable schema
      - `description` (string) — optional
        A short description of the panel.
      - `drilldowns` ([] union  · max: 100) — optional
        - **url_drilldown**
          - `encode_url` (boolean · default: true) — optional
            When true, URL is escaped using percent encoding
          - `open_in_new_tab` (boolean · default: true) — optional
          - `url` (string) — required
            Templated Url. Variables documented at https://www.elastic.co/docs/explore-analyze/dashboards/drilldowns#url-template-variable
          - `label` (string) — required
          - `trigger` (enum) — required
            Values: `on_open_panel_menu`
          - `type` (enum) — required
            Values: `url_drilldown`
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `slo_id` (string · max: 64) — required
        The ID of the SLO to display the error budget for
      - `slo_instance_id` (string · max: 512 · default: *) — optional
        ID of the SLO instance. Set when the SLO uses group_by; identifies which instance to show. Defaults to * (all instances).
      - `title` (string) — optional
        The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `slo_error_budget`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-slo_overview**
    - `config` (union oneOf) — required
      SLO Overview embeddable schema
      - **Kibana_HTTP_APIs_slo-single-overview-embeddable** (`overview_mode: single`)
        SLO Single Overview embeddable schema
        - `description` (string) — optional
          A short description of the panel.
        - `drilldowns` ([] union  · max: 100) — optional
          - **url_drilldown**
            - `encode_url` (boolean · default: true) — optional
              When true, URL is escaped using percent encoding
            - `open_in_new_tab` (boolean · default: true) — optional
            - `url` (string) — required
              Templated Url. Variables documented at https://www.elastic.co/docs/explore-analyze/dashboards/drilldowns#url-template-variable
            - `label` (string) — required
            - `trigger` (enum) — required
              Values: `on_open_panel_menu`
            - `type` (enum) — required
              Values: `url_drilldown`
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `overview_mode` (enum) — required
          Values: `single`
        - `remote_name` (string · max: 256) — optional
          The name of the remote SLO
        - `slo_id` (string · max: 64) — required
          The ID of the SLO
        - `slo_instance_id` (string · max: 512 · default: *) — optional
          ID of the SLO instance. Set when the SLO uses group_by; identifies which instance to show. Defaults to * (all instances).
        - `title` (string) — optional
          The panel title.
      - **Kibana_HTTP_APIs_slo-group-overview-embeddable** (`overview_mode: groups`)
        SLO Group Overview embeddable schema
        - `description` (string) — optional
          A short description of the panel.
        - `drilldowns` ([] union  · max: 100) — optional
          - **url_drilldown**
            - `encode_url` (boolean · default: true) — optional
              When true, URL is escaped using percent encoding
            - `open_in_new_tab` (boolean · default: true) — optional
            - `url` (string) — required
              Templated Url. Variables documented at https://www.elastic.co/docs/explore-analyze/dashboards/drilldowns#url-template-variable
            - `label` (string) — required
            - `trigger` (enum) — required
              Values: `on_open_panel_menu`
            - `type` (enum) — required
              Values: `url_drilldown`
        - `group_filters` (object · default: {
  "group_by": "status"
}) — optional
          - `filters` ([] union  · max: 500) — optional
            Same options as `filters`
          - `group_by` (enum  · default: status) — optional
            Values: `slo.tags`, `status`, `slo.indicator.type`, `_index`
          - `groups` ([] string · max: 100) — optional
          - `kql_query` (string · max: 2048) — optional
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `overview_mode` (enum) — required
          Values: `groups`
        - `title` (string) — optional
          The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `slo_overview`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-synthetics_monitors**
    - `config` (object) — required
      Synthetics monitors embeddable schema
      - `description` (string) — optional
        A short description of the panel.
      - `filters` (object) — optional
        - `locations` ([] object · max: 100) — optional
          Filter by monitor locations
          - `label` (string) — required
            Display label for the filter option
          - `value` (string) — required
            Value for the filter option
        - `monitor_ids` ([] object · max: 5000) — optional
          Filter by monitor IDs
          - `label` (string) — required
            Display label for the filter option
          - `value` (string) — required
            Value for the filter option
        - `monitor_types` ([] object · max: 10) — optional
          Filter by monitor types
          - `label` (string) — required
            Display label for the filter option
          - `value` (string) — required
            Value for the filter option
        - `projects` ([] object · max: 100) — optional
          Filter by project
          - `label` (string) — required
            Display label for the filter option
          - `value` (string) — required
            Value for the filter option
        - `tags` ([] object · max: 100) — optional
          Filter by tags
          - `label` (string) — required
            Display label for the filter option
          - `value` (string) — required
            Value for the filter option
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `title` (string) — optional
        The panel title.
      - `view` (enum) — optional
        View mode for the monitors embeddable (defaults to cardView)
        Values: `cardView`, `compactView`
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `synthetics_monitors`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-synthetics_stats_overview**
    - `config` (object) — required
      Synthetics stats overview embeddable schema
      - `description` (string) — optional
        A short description of the panel.
      - `drilldowns` ([] union  · max: 100) — optional
        - **url_drilldown**
          - `encode_url` (boolean · default: true) — optional
            When true, URL is escaped using percent encoding
          - `open_in_new_tab` (boolean · default: true) — optional
          - `url` (string) — required
            Templated Url. Variables documented at https://www.elastic.co/docs/explore-analyze/dashboards/drilldowns#url-template-variable
          - `label` (string) — required
          - `trigger` (enum) — required
            Values: `on_open_panel_menu`
          - `type` (enum) — required
            Values: `url_drilldown`
      - `filters` (object) — optional
        - `locations` ([] object · max: 100) — optional
          Filter by monitor locations
          - `label` (string) — required
            Display label for the filter option
          - `value` (string) — required
            Value for the filter option
        - `monitor_ids` ([] object · max: 5000) — optional
          Filter by monitor IDs
          - `label` (string) — required
            Display label for the filter option
          - `value` (string) — required
            Value for the filter option
        - `monitor_types` ([] object · max: 10) — optional
          Filter by monitor types
          - `label` (string) — required
            Display label for the filter option
          - `value` (string) — required
            Value for the filter option
        - `projects` ([] object · max: 100) — optional
          Filter by project
          - `label` (string) — required
            Display label for the filter option
          - `value` (string) — required
            Value for the filter option
        - `tags` ([] object · max: 100) — optional
          Filter by tags
          - `label` (string) — required
            Display label for the filter option
          - `value` (string) — required
            Value for the filter option
      - `hide_border` (boolean) — optional
        When true, the panel border is hidden. Defaults to false.
      - `hide_title` (boolean) — optional
        When true, the panel title is hidden. Defaults to false.
      - `title` (string) — optional
        The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `synthetics_stats_overview`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-time_slider_control**
    - `config` (object) — required
      - `end_percentage_of_time_range` (number · min: 0 · max: 1 · default: 1) — optional
        The end of the selected time window expressed as a fraction of the global time range, where `0` is the beginning and `1` is the end of the range.
      - `is_anchored` (boolean · default: false) — optional
        When `true`, the start of the time window is fixed at the beginning of the global time range. Only the end of the window can be adjusted. Defaults to `false`.
      - `start_percentage_of_time_range` (number · min: 0 · max: 1 · default: 0) — optional
        The start of the selected time window expressed as a fraction of the global time range, where `0` is the beginning and `1` is the end of the range.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `time_slider_control`
  - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-vis**
    - `config` (union anyOf) — required
      Lens embeddable schema
      - **By value**
        Panel configuration stored inline
        - `description` (string) — optional
          A short description of the panel.
        - `drilldowns` ([] union anyOf · max: 100) — optional
          - **dashboard_drilldown**
            - `open_in_new_tab` (boolean · default: false) — optional
              When enabled, the dashboard opens in a new browser tab.
            - `use_filters` (boolean · default: true) — optional
              When enabled, filters are passed to the opening dashboard.
            - `use_time_range` (boolean · default: true) — optional
              When enabled, time range is passed to the opening dashboard.
            - `dashboard_id` (string) — required
            - `label` (string) — required
            - `trigger` (enum) — required
              Values: `on_apply_filter`
            - `type` (enum) — required
              Values: `dashboard_drilldown`
          - **discover_drilldown**
            - `open_in_new_tab` (boolean · default: true) — optional
            - `label` (string) — required
            - `trigger` (enum) — required
              Values: `on_apply_filter`
            - `type` (enum) — required
              Values: `discover_drilldown`
          - **url_drilldown**
            - `encode_url` (boolean · default: true) — optional
              When true, URL is escaped using percent encoding
            - `open_in_new_tab` (boolean · default: true) — optional
            - `url` (string) — required
              Templated Url. Variables documented at https://www.elastic.co/docs/explore-analyze/dashboards/drilldowns#url-template-variable
            - `label` (string) — required
            - `trigger` (enum) — required
              Values: `on_click_row`, `on_click_value`, `on_open_panel_menu`, `on_select_range`
            - `type` (enum) — required
              Values: `url_drilldown`
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `references` ([] object) — optional
          - `id` (string) — required
          - `name` (string) — required
          - `type` (string) — required
        - `time_range` ({}) — optional
          Specifies the time range for a query.
          - `from` (string) — required
            The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
          - `mode` (enum) — optional
            The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
            Values: `absolute`, `relative`
          - `to` (string) — required
            The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
        - `title` (string) — optional
          The panel title.
      - **By reference**
        Panel configuration stored in a linked library item
        - `description` (string) — optional
          A short description of the panel.
        - `drilldowns` ([] union anyOf · max: 100) — optional
          Same options as `drilldowns` in `By value`
        - `hide_border` (boolean) — optional
          When true, the panel border is hidden. Defaults to false.
        - `hide_title` (boolean) — optional
          When true, the panel title is hidden. Defaults to false.
        - `ref_id` (string) — required
        - `references` ([] object) — optional
          - `id` (string) — required
          - `name` (string) — required
          - `type` (string) — required
        - `time_range` ({}) — optional
          Specifies the time range for a query.
          - `from` (string) — required
            The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
          - `mode` (enum) — optional
            The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
            Values: `absolute`, `relative`
          - `to` (string) — required
            The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
        - `title` (string) — optional
          The panel title.
    - `grid` ({}) — required
      The position and size of the panel on the dashboard grid.
      - `h` (number · min: 1 · default: 15) — optional
        The height of the panel in grid units. Minimum `1`. Defaults to `15`.
      - `w` (number · min: 1 · max: 48 · default: 24) — optional
        The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
      - `x` (number) — required
        The x coordinate of the panel in grid units.
      - `y` (number) — required
        The y coordinate of the panel in grid units.
    - `id` (string) — optional
      The unique ID of the panel.
    - `type` (enum) — required
      Values: `vis`
  - **Kibana_HTTP_APIs_kbn-dashboard-section**
    A collapsible group of panels.
    - `collapsed` (boolean · default: false) — optional
      When `true`, the section is collapsed and its panels are not rendered until expanded. Useful for improving initial load time on large dashboards. Defaults to `false`.
    - `grid` (object) — required
      - `y` (number) — required
        The y coordinate of the section in grid units.
    - `id` (string) — optional
      The unique ID of the section.
    - `panels` ([] union oneOf · max: 1000) — optional
      The panels that belong to the section.
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-ml_anomaly_charts**
        - `config` ({}) — required
          Anomaly Charts embeddable
          Same fields as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-ml_anomaly_charts`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `ml_anomaly_charts`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-ml_anomaly_swimlane**
        - `config` (union) — required
          Anomaly Swim Lane embeddable
          Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-ml_anomaly_swimlane`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `ml_anomaly_swimlane`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-apm_service_map**
        - `config` ({}) — required
          APM service map embeddable schema
          Same fields as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-apm_service_map`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `apm_service_map`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-aiops_change_point_chart**
        - `config` ({}) — required
          Change point detection chart embeddable schema
          Same fields as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-aiops_change_point_chart`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `aiops_change_point_chart`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-custom_content**
        - `config` (object) — required
          - `description` (string) — optional
            A short description of the panel.
          - `esql_query` ([] string · max: 1) — optional
          - `hide_border` (boolean) — optional
            When true, the panel border is hidden. Defaults to false.
          - `hide_title` (boolean) — optional
            When true, the panel title is hidden. Defaults to false.
          - `template` (string · max: 510000) — optional
          - `time_range` ({}) — optional
            Specifies the time range for a query.
            - `from` (string) — required
              The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
            - `mode` (enum) — optional
              The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
              Values: `absolute`, `relative`
            - `to` (string) — required
              The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
          - `title` (string) — optional
            The panel title.
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `custom_content`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-discover_session**
        - `config` (union anyOf) — required
          Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-discover_session`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `discover_session`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-esql_control**
        - `config` (union oneOf) — required
          Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-esql_control`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `esql_control`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-field_stats_table**
        - `config` (union) — required
          Field statistics table embeddable schema
          Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-field_stats_table`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `field_stats_table`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-image**
        - `config` (object) — required
          Image embeddable schema
          - `description` (string) — optional
            A short description of the panel.
          - `drilldowns` ([] union anyOf · max: 100) — optional
            Same options as `drilldowns` in `config`
          - `hide_border` (boolean) — optional
            When true, the panel border is hidden. Defaults to false.
          - `hide_title` (boolean) — optional
            When true, the panel title is hidden. Defaults to false.
          - `image_config` (object) — required
            - `alt_text` (string) — optional
            - `background_color` (string) — optional
            - `object_fit` (enum  · default: contain) — optional
              How the image should be sized within its container
              Values: `fill`, `contain`, `cover`, `none`
            - `src` (union anyOf) — required
              Image source
              - **file**
                - `file_id` (string) — required
                - `type` (enum) — required
                  Values: `file`
              - **url**
                - `type` (enum) — required
                  Values: `url`
                - `url` (string) — required
                  URL of the image
          - `title` (string) — optional
            The panel title.
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `image`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-links**
        - `config` (union anyOf) — required
          Links embeddable schema
          Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-links`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `links`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-aiops_log_rate_analysis**
        - `config` ({}) — required
          Log rate analysis embeddable schema
          - `data_view_id` (string · min: 1 · max: 1000) — required
            The data view ID used to run log rate analysis.
          - `description` (string) — optional
            A short description of the panel.
          - `hide_border` (boolean) — optional
            When true, the panel border is hidden. Defaults to false.
          - `hide_title` (boolean) — optional
            When true, the panel title is hidden. Defaults to false.
          - `time_range` ({}) — optional
            Specifies the time range for a query.
            - `from` (string) — required
              The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
            - `mode` (enum) — optional
              The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
              Values: `absolute`, `relative`
            - `to` (string) — required
              The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
          - `title` (string) — optional
            The panel title.
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `aiops_log_rate_analysis`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-markdown**
        - `config` (union anyOf) — required
          Markdown panel config
          Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-markdown`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `markdown`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-options_list_control**
        - `config` (union oneOf) — optional
          Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-options_list_control`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `options_list_control`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-aiops_pattern_analysis**
        - `config` ({}) — required
          Log Pattern Analysis embeddable schema
          Same fields as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-aiops_pattern_analysis`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `aiops_pattern_analysis`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-range_slider_control**
        - `config` (union oneOf) — optional
          Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-range_slider_control`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `range_slider_control`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-ml_single_metric_viewer**
        - `config` ({}) — required
          Single Metric Viewer embeddable
          Same fields as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-ml_single_metric_viewer`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `ml_single_metric_viewer`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-slo_alerts**
        - `config` ({}) — required
          SLO Alerts embeddable schema
          Same fields as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-slo_alerts`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `slo_alerts`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-slo_burn_rate**
        - `config` ({}) — required
          SLO Burn Rate embeddable schema
          Same fields as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-slo_burn_rate`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `slo_burn_rate`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-slo_error_budget**
        - `config` ({}) — required
          SLO Error Budget embeddable schema
          Same fields as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-slo_error_budget`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `slo_error_budget`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-slo_overview**
        - `config` (union oneOf) — required
          SLO Overview embeddable schema
          Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-slo_overview`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `slo_overview`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-synthetics_monitors**
        - `config` (object) — required
          Synthetics monitors embeddable schema
          - `description` (string) — optional
            A short description of the panel.
          - `filters` (object) — optional
            - `locations` ([] object · max: 100) — optional
              Filter by monitor locations
              - `label` (string) — required
                Display label for the filter option
              - `value` (string) — required
                Value for the filter option
            - `monitor_ids` ([] object · max: 5000) — optional
              Filter by monitor IDs
              - `label` (string) — required
                Display label for the filter option
              - `value` (string) — required
                Value for the filter option
            - `monitor_types` ([] object · max: 10) — optional
              Filter by monitor types
              - `label` (string) — required
                Display label for the filter option
              - `value` (string) — required
                Value for the filter option
            - `projects` ([] object · max: 100) — optional
              Filter by project
              - `label` (string) — required
                Display label for the filter option
              - `value` (string) — required
                Value for the filter option
            - `tags` ([] object · max: 100) — optional
              Filter by tags
              - `label` (string) — required
                Display label for the filter option
              - `value` (string) — required
                Value for the filter option
          - `hide_border` (boolean) — optional
            When true, the panel border is hidden. Defaults to false.
          - `hide_title` (boolean) — optional
            When true, the panel title is hidden. Defaults to false.
          - `title` (string) — optional
            The panel title.
          - `view` (enum) — optional
            View mode for the monitors embeddable (defaults to cardView)
            Values: `cardView`, `compactView`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `synthetics_monitors`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-synthetics_stats_overview**
        - `config` (object) — required
          Synthetics stats overview embeddable schema
          - `description` (string) — optional
            A short description of the panel.
          - `drilldowns` ([] union  · max: 100) — optional
            - **url_drilldown**
              - `encode_url` (boolean · default: true) — optional
                When true, URL is escaped using percent encoding
              - `open_in_new_tab` (boolean · default: true) — optional
              - `url` (string) — required
                Templated Url. Variables documented at https://www.elastic.co/docs/explore-analyze/dashboards/drilldowns#url-template-variable
              - `label` (string) — required
              - `trigger` (enum) — required
                Values: `on_open_panel_menu`
              - `type` (enum) — required
                Values: `url_drilldown`
          - `filters` (object) — optional
            - `locations` ([] object · max: 100) — optional
              Filter by monitor locations
              - `label` (string) — required
                Display label for the filter option
              - `value` (string) — required
                Value for the filter option
            - `monitor_ids` ([] object · max: 5000) — optional
              Filter by monitor IDs
              - `label` (string) — required
                Display label for the filter option
              - `value` (string) — required
                Value for the filter option
            - `monitor_types` ([] object · max: 10) — optional
              Filter by monitor types
              - `label` (string) — required
                Display label for the filter option
              - `value` (string) — required
                Value for the filter option
            - `projects` ([] object · max: 100) — optional
              Filter by project
              - `label` (string) — required
                Display label for the filter option
              - `value` (string) — required
                Value for the filter option
            - `tags` ([] object · max: 100) — optional
              Filter by tags
              - `label` (string) — required
                Display label for the filter option
              - `value` (string) — required
                Value for the filter option
          - `hide_border` (boolean) — optional
            When true, the panel border is hidden. Defaults to false.
          - `hide_title` (boolean) — optional
            When true, the panel title is hidden. Defaults to false.
          - `title` (string) — optional
            The panel title.
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `synthetics_stats_overview`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-time_slider_control**
        - `config` (object) — required
          - `end_percentage_of_time_range` (number · min: 0 · max: 1 · default: 1) — optional
            The end of the selected time window expressed as a fraction of the global time range, where `0` is the beginning and `1` is the end of the range.
          - `is_anchored` (boolean · default: false) — optional
            When `true`, the start of the time window is fixed at the beginning of the global time range. Only the end of the window can be adjusted. Defaults to `false`.
          - `start_percentage_of_time_range` (number · min: 0 · max: 1 · default: 0) — optional
            The start of the selected time window expressed as a fraction of the global time range, where `0` is the beginning and `1` is the end of the range.
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `time_slider_control`
      - **Kibana_HTTP_APIs_kbn-dashboard-panel-type-vis**
        - `config` (union anyOf) — required
          Lens embeddable schema
          Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-vis`
        - `grid` ({}) — required
          The position and size of the panel on the dashboard grid.
          - `h` (number · min: 1 · default: 15) — optional
            The height of the panel in grid units. Minimum `1`. Defaults to `15`.
          - `w` (number · min: 1 · max: 48 · default: 24) — optional
            The width of the panel in grid units. Minimum `1`, maximum `48`. Defaults to `24`.
          - `x` (number) — required
            The x coordinate of the panel in grid units.
          - `y` (number) — required
            The y coordinate of the panel in grid units.
        - `id` (string) — optional
          The unique ID of the panel.
        - `type` (enum) — required
          Values: `vis`
    - `title` (string) — required
      The title of the section.
- `pinned_panels` ([] union oneOf · max: 100) — optional
  An array of control panels and their state in the control group.
  - **Kibana_HTTP_APIs_kbn-controls-schemas-controls-group-schema-esql-control**
    An ES|QL variable control whose selected value is injected into ES|QL visualizations using the `?variable_name` syntax. Options can come from a fixed list or an ES|QL query. Define the options source in `config`.
    - `config` (union oneOf) — required
      Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-esql_control`
    - `grow` (boolean · default: false) — optional
      When `true`, the control expands to fill any available horizontal space. Defaults to `false`.
    - `id` (string) — optional
      The unique ID of the control
    - `type` (enum) — required
      Values: `esql_control`
    - `width` (enum  · default: medium) — optional
      Minimum width of the control panel.
      Values: `small`, `medium`, `large`
  - **Kibana_HTTP_APIs_kbn-controls-schemas-controls-group-schema-options-list-control**
    A dropdown control that filters data by selecting field values from a data view. Define the data view, field, and selection settings in `config`.
    - `config` (union oneOf) — optional
      Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-options_list_control`
    - `grow` (boolean · default: false) — optional
      When `true`, the control expands to fill any available horizontal space. Defaults to `false`.
    - `id` (string) — optional
      The unique ID of the control
    - `type` (enum) — required
      Values: `options_list_control`
    - `width` (enum  · default: medium) — optional
      Minimum width of the control panel.
      Values: `small`, `medium`, `large`
  - **Kibana_HTTP_APIs_kbn-controls-schemas-controls-group-schema-range-slider-control**
    A slider control that filters data by selecting a numeric range for the configured field. Define the data view, field, and selection settings in `config`.
    - `config` (union oneOf) — optional
      Same options as `config` in `Kibana_HTTP_APIs_kbn-dashboard-panel-type-range_slider_control`
    - `grow` (boolean · default: false) — optional
      When `true`, the control expands to fill any available horizontal space. Defaults to `false`.
    - `id` (string) — optional
      The unique ID of the control
    - `type` (enum) — required
      Values: `range_slider_control`
    - `width` (enum  · default: medium) — optional
      Minimum width of the control panel.
      Values: `small`, `medium`, `large`
  - **Kibana_HTTP_APIs_kbn-controls-schemas-controls-group-schema-time-slider-control**
    A control panel that filters a time field to a selected sub-range of the global time range. Define the start and end positions in `config` as fractions of the global range (0 to 1).
    - `config` (object) — required
      - `end_percentage_of_time_range` (number · min: 0 · max: 1 · default: 1) — optional
        The end of the selected time window expressed as a fraction of the global time range, where `0` is the beginning and `1` is the end of the range.
      - `is_anchored` (boolean · default: false) — optional
        When `true`, the start of the time window is fixed at the beginning of the global time range. Only the end of the window can be adjusted. Defaults to `false`.
      - `start_percentage_of_time_range` (number · min: 0 · max: 1 · default: 0) — optional
        The start of the selected time window expressed as a fraction of the global time range, where `0` is the beginning and `1` is the end of the range.
    - `grow` (boolean · default: false) — optional
      When `true`, the control expands to fill any available horizontal space. Defaults to `false`.
    - `id` (string) — optional
      The unique ID of the control
    - `type` (enum) — required
      Values: `time_slider_control`
    - `width` (enum  · default: medium) — optional
      Minimum width of the control panel.
      Values: `small`, `medium`, `large`
- `project_routing` (string) — optional
  Controls [cross-project search](https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-project-routing) behavior for this dashboard (Serverless only). Set to `_alias:_origin` to scope data to the current project, or `_alias:*` to search across all projects. When omitted, the space default applies.
- `query` ({}) — optional
  A search query consisting of an expression and its language. Supports KQL and Lucene syntax.
  - `expression` (string) — required
    A query expression in KQL or Lucene syntax.
  - `language` (enum) — required
    Query language. Use `kql` for Kibana Query Language (KQL) or `lucene` for Lucene query syntax.
    Values: `kql`, `lucene`
- `refresh_interval` ({}) — optional
  Specifies the auto-refresh interval for the object.
  - `pause` (boolean) — required
    When `true`, auto-refresh is paused.
  - `value` (number) — required
    The refresh interval in milliseconds.
- `tags` ([] string · max: 1000 · default: []) — optional
  Tag IDs to associate with this dashboard.
- `time_range` ({}) — optional
  Specifies the time range for a query.
  - `from` (string) — required
    The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
  - `mode` (enum) — optional
    The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
    Values: `absolute`, `relative`
  - `to` (string) — required
    The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
- `title` (string · min: 1) — required
  A human-readable title for the dashboard.

## Responses

#### `201`

created

`application/json`

- `data` ({})
  - `access_control` ({})
    Access control settings for the dashboard.
    - `access_mode` (enum)
      Controls edit access to the dashboard. Set to `write_restricted` to prevent edits by users without explicit write permission. Defaults to `default` (all viewers can edit).
      Values: `write_restricted`, `default`
  - `description` (string)
    A short description of the dashboard.
  - `esql_approximation` (boolean)
    When `true`, ES|QL visualizations that use `STATS` run with [approximate execution](https://www.elastic.co/docs/reference/query-languages/esql/esql-query-approximation) for faster, estimated results.
  - `filters` ([] union  · max: 500)
    Filters applied across all panels, including pinned panels.
    Same options as `filters`
  - `options` ({}  · default: {
  "auto_apply_filters": true,
  "hide_panel_borders": false,
  "hide_panel_titles": false,
  "sync_colors": false,
  "sync_cursor": true,
  "sync_tooltips": false,
  "use_margins": true
})
    Display and behavior settings for the dashboard.
    - `auto_apply_filters` (boolean · default: true)
      When `true`, control filter changes are applied automatically. When `false`, control filter changes are applied manually through the dashboard's search update button. Defaults to `true`.
    - `hide_panel_borders` (boolean · default: false)
      When `true`, panel borders are hidden. Defaults to `false`.
    - `hide_panel_titles` (boolean · default: false)
      When `true`, panel titles are hidden. Defaults to `false`.
    - `sync_colors` (boolean · default: false)
      When `true`, colors are synchronized across panels that share a data source. Defaults to `false`.
    - `sync_cursor` (boolean · default: true)
      When `true`, the cursor position is synchronized across panels. Defaults to `true`.
    - `sync_tooltips` (boolean · default: false)
      When `true`, tooltips are synchronized across panels. Defaults to `false`.
    - `use_margins` (boolean · default: true)
      When `true`, panels are separated by a margin. Defaults to `true`.
  - `panels` ([] union anyOf · max: 1000)
    Panels and sections in the dashboard. Each entry is either a panel (with a `type` and `config`) or a collapsible section (with a `title`, `collapsed` state, and nested `panels`).
    Same options as `panels`
  - `pinned_panels` ([] union oneOf · max: 100)
    An array of control panels and their state in the control group.
    Same options as `pinned_panels`
  - `project_routing` (string)
    Controls [cross-project search](https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-project-routing) behavior for this dashboard (Serverless only). Set to `_alias:_origin` to scope data to the current project, or `_alias:*` to search across all projects. When omitted, the space default applies.
  - `query` ({})
    A search query consisting of an expression and its language. Supports KQL and Lucene syntax.
    - `expression` (string)
      A query expression in KQL or Lucene syntax.
    - `language` (enum)
      Query language. Use `kql` for Kibana Query Language (KQL) or `lucene` for Lucene query syntax.
      Values: `kql`, `lucene`
  - `refresh_interval` ({})
    Specifies the auto-refresh interval for the object.
    - `pause` (boolean)
      When `true`, auto-refresh is paused.
    - `value` (number)
      The refresh interval in milliseconds.
  - `tags` ([] string · max: 1000 · default: [])
    Tag IDs to associate with this dashboard.
  - `time_range` ({})
    Specifies the time range for a query.
    - `from` (string)
      The start of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now-7d`) or ISO 8601 timestamps.
    - `mode` (enum)
      The time range mode. Use `absolute` for fixed start and end timestamps. Use `relative` for [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions that are re-evaluated at query time (for example, `now-7d`).
      Values: `absolute`, `relative`
    - `to` (string)
      The end of the time range. Accepts Elasticsearch [date math](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/common-options#date-math) expressions (for example, `now`) or ISO 8601 timestamps.
  - `title` (string · min: 1)
    A human-readable title for the dashboard.
- `id` (string)
  The unique ID of the dashboard, as returned by the create or search endpoints.
- `meta` ({})
  - `created_at` (string)
    Timestamp when the object was created (ISO 8601).
  - `created_by` (string)
    User profile ID of the user who created the object.
  - `managed` (boolean)
    When `true`, the object is managed by Kibana and cannot be edited by users.
  - `owner` (string)
    Identifier of the plugin or team that owns this object.
  - `updated_at` (string)
    Timestamp when the object was last updated (ISO 8601).
  - `updated_by` (string)
    User profile ID of the user who last updated the object.
  - `version` (string)
    Internal version identifier for optimistic concurrency control.
#### `400`

invalid request

#### `403`

forbidden

## Code Examples

#### Console

```console
POST kbn:/api/dashboards
{
  "title": "Web logs overview",
  "panels": [
    {
      "grid": {
        "x": 0,
        "y": 0,
        "w": 24,
        "h": 15
      },
      "type": "markdown",
      "config": {
        "content": "## Web logs overview\n\n&nbsp;\n\nCreated with the [Dashboards API](https://www.elastic.co/docs/api/doc/kibana) using the Kibana sample web logs dataset (`kibana_sample_data_logs`). Contains:\n- This markdown panel\n- 2 metrics, showing request count and average response size\n- A line chart based on an ES|QL query\n\n&nbsp;\n\n&nbsp;\n\n[Learn more about dashboards](https://www.elastic.co/docs/explore-analyze/dashboards)"
      }
    },
    {
      "grid": {
        "x": 24,
        "y": 0,
        "w": 12,
        "h": 5
      },
      "type": "vis",
      "config": {
        "type": "metric",
        "data_source": {
          "type": "data_view_spec",
          "index_pattern": "kibana_sample_data_logs",
          "time_field": "timestamp"
        },
        "metrics": [
          {
            "type": "primary",
            "operation": "count"
          }
        ]
      }
    },
    {
      "grid": {
        "x": 36,
        "y": 0,
        "w": 12,
        "h": 5
      },
      "type": "vis",
      "config": {
        "type": "metric",
        "data_source": {
          "type": "data_view_spec",
          "index_pattern": "kibana_sample_data_logs",
          "time_field": "timestamp"
        },
        "metrics": [
          {
            "type": "primary",
            "operation": "average",
            "field": "bytes"
          }
        ]
      }
    },
    {
      "grid": {
        "x": 24,
        "y": 5,
        "w": 24,
        "h": 10
      },
      "type": "vis",
      "config": {
        "type": "xy",
        "title": "Requests over time",
        "layers": [
          {
            "type": "line",
            "data_source": {
              "type": "esql",
              "query": "FROM kibana_sample_data_logs | STATS count = COUNT() BY BUCKET(@timestamp, 75, ?_tstart, ?_tend)"
            },
            "x": {
              "column": "BUCKET(@timestamp, 75, ?_tstart, ?_tend)"
            },
            "y": [
              {
                "column": "count"
              }
            ]
          }
        ],
        "axis": {
          "x": {
            "title": {
              "visible": false
            }
          }
        }
      }
    }
  ]
}
```

#### Console

```console
POST kbn:/api/dashboards
{
  "title": "Operations overview",
  "time_range": {
    "from": "now-7d",
    "to": "now"
  },
  "pinned_panels": [
    {
      "type": "options_list_control",
      "width": "medium",
      "grow": true,
      "config": {
        "title": "Response code",
        "data_view_id": "90943e30-9a47-11e8-b64d-95841ca0b247",
        "field_name": "response.keyword"
      }
    }
  ],
  "panels": [
    {
      "title": "Key metrics",
      "collapsed": false,
      "grid": {
        "y": 0
      },
      "panels": [
        {
          "grid": {
            "x": 0,
            "y": 0,
            "w": 12,
            "h": 5
          },
          "type": "vis",
          "config": {
            "type": "metric",
            "data_source": {
              "type": "data_view_spec",
              "index_pattern": "kibana_sample_data_logs",
              "time_field": "timestamp"
            },
            "metrics": [
              {
                "type": "primary",
                "operation": "count"
              }
            ]
          }
        },
        {
          "grid": {
            "x": 12,
            "y": 0,
            "w": 12,
            "h": 5
          },
          "type": "vis",
          "config": {
            "type": "metric",
            "data_source": {
              "type": "data_view_spec",
              "index_pattern": "kibana_sample_data_logs",
              "time_field": "timestamp"
            },
            "metrics": [
              {
                "type": "primary",
                "operation": "average",
                "field": "bytes"
              }
            ]
          }
        }
      ]
    },
    {
      "title": "Traffic trends",
      "collapsed": false,
      "grid": {
        "y": 8
      },
      "panels": [
        {
          "grid": {
            "x": 0,
            "y": 0,
            "w": 24,
            "h": 10
          },
          "type": "vis",
          "config": {
            "type": "xy",
            "title": "Requests over time",
            "layers": [
              {
                "type": "line",
                "data_source": {
                  "type": "data_view_spec",
                  "index_pattern": "kibana_sample_data_logs",
                  "time_field": "timestamp"
                },
                "x": {
                  "operation": "date_histogram",
                  "field": "timestamp"
                },
                "y": [
                  {
                    "operation": "count"
                  }
                ]
              }
            ],
            "axis": {
              "x": {
                "title": {
                  "visible": false
                }
              }
            }
          }
        },
        {
          "grid": {
            "x": 24,
            "y": 0,
            "w": 24,
            "h": 10
          },
          "type": "vis",
          "config": {
            "type": "xy",
            "title": "Requests over time (ES|QL)",
            "layers": [
              {
                "type": "line",
                "data_source": {
                  "type": "esql",
                  "query": "FROM kibana_sample_data_logs | STATS count = COUNT() BY BUCKET(@timestamp, 75, ?_tstart, ?_tend)"
                },
                "x": {
                  "column": "BUCKET(@timestamp, 75, ?_tstart, ?_tend)"
                },
                "y": [
                  {
                    "column": "count"
                  }
                ]
              }
            ],
            "axis": {
              "x": {
                "title": {
                  "visible": false
                }
              }
            }
          }
        }
      ]
    }
  ]
}
```

#### curl

```curl
curl -X POST "${KIBANA_URL}/api/dashboards" \
  -H "Authorization: ApiKey ${API_KEY}" \
  -H "kbn-xsrf: true" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Web logs overview",
  "access_control": {
    "access_mode": "write_restricted"
  },
  "panels": [
    {
      "grid": {
        "x": 0,
        "y": 0,
        "w": 24,
        "h": 15
      },
      "type": "markdown",
      "config": {
        "content": "## Web logs overview\n\n&nbsp;\n\nCreated with the [Dashboards API](https://www.elastic.co/docs/api/doc/kibana) using the Kibana sample web logs dataset (`kibana_sample_data_logs`). Contains:\n- This markdown panel\n- 2 metrics, showing request count and average response size\n- A line chart based on an ES|QL query\n\n&nbsp;\n\n&nbsp;\n\n[Learn more about dashboards](https://www.elastic.co/docs/explore-analyze/dashboards)"
      }
    },
    {
      "grid": {
        "x": 24,
        "y": 0,
        "w": 12,
        "h": 5
      },
      "type": "vis",
      "config": {
        "type": "metric",
        "data_source": {
          "type": "data_view_spec",
          "index_pattern": "kibana_sample_data_logs",
          "time_field": "timestamp"
        },
        "metrics": [
          {
            "type": "primary",
            "operation": "count"
          }
        ]
      }
    },
    {
      "grid": {
        "x": 36,
        "y": 0,
        "w": 12,
        "h": 5
      },
      "type": "vis",
      "config": {
        "type": "metric",
        "data_source": {
          "type": "data_view_spec",
          "index_pattern": "kibana_sample_data_logs",
          "time_field": "timestamp"
        },
        "metrics": [
          {
            "type": "primary",
            "operation": "average",
            "field": "bytes"
          }
        ]
      }
    },
    {
      "grid": {
        "x": 24,
        "y": 5,
        "w": 24,
        "h": 10
      },
      "type": "vis",
      "config": {
        "type": "xy",
        "title": "Requests over time",
        "layers": [
          {
            "type": "line",
            "data_source": {
              "type": "esql",
              "query": "FROM kibana_sample_data_logs | STATS count = COUNT() BY BUCKET(@timestamp, 75, ?_tstart, ?_tend)"
            },
            "x": {
              "column": "BUCKET(@timestamp, 75, ?_tstart, ?_tend)"
            },
            "y": [
              {
                "column": "count"
              }
            ]
          }
        ],
        "axis": {
          "x": {
            "title": {
              "visible": false
            }
          }
        }
      }
    }
  ]
}'
```

#### curl

```curl
curl -X POST "${KIBANA_URL}/api/dashboards" \
  -H "Authorization: ApiKey ${API_KEY}" \
  -H "kbn-xsrf: true" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Operations overview",
  "time_range": {
    "from": "now-7d",
    "to": "now"
  },
  "pinned_panels": [
    {
      "type": "options_list_control",
      "width": "medium",
      "grow": true,
      "config": {
        "title": "Response code",
        "data_view_id": "90943e30-9a47-11e8-b64d-95841ca0b247",
        "field_name": "response.keyword"
      }
    }
  ],
  "panels": [
    {
      "title": "Key metrics",
      "collapsed": false,
      "grid": {
        "y": 0
      },
      "panels": [
        {
          "grid": {
            "x": 0,
            "y": 0,
            "w": 12,
            "h": 5
          },
          "type": "vis",
          "config": {
            "type": "metric",
            "data_source": {
              "type": "data_view_spec",
              "index_pattern": "kibana_sample_data_logs",
              "time_field": "timestamp"
            },
            "metrics": [
              {
                "type": "primary",
                "operation": "count"
              }
            ]
          }
        },
        {
          "grid": {
            "x": 12,
            "y": 0,
            "w": 12,
            "h": 5
          },
          "type": "vis",
          "config": {
            "type": "metric",
            "data_source": {
              "type": "data_view_spec",
              "index_pattern": "kibana_sample_data_logs",
              "time_field": "timestamp"
            },
            "metrics": [
              {
                "type": "primary",
                "operation": "average",
                "field": "bytes"
              }
            ]
          }
        }
      ]
    },
    {
      "title": "Traffic trends",
      "collapsed": false,
      "grid": {
        "y": 8
      },
      "panels": [
        {
          "grid": {
            "x": 0,
            "y": 0,
            "w": 24,
            "h": 10
          },
          "type": "vis",
          "config": {
            "type": "xy",
            "title": "Requests over time",
            "layers": [
              {
                "type": "line",
                "data_source": {
                  "type": "data_view_spec",
                  "index_pattern": "kibana_sample_data_logs",
                  "time_field": "timestamp"
                },
                "x": {
                  "operation": "date_histogram",
                  "field": "timestamp"
                },
                "y": [
                  {
                    "operation": "count"
                  }
                ]
              }
            ],
            "axis": {
              "x": {
                "title": {
                  "visible": false
                }
              }
            }
          }
        },
        {
          "grid": {
            "x": 24,
            "y": 0,
            "w": 24,
            "h": 10
          },
          "type": "vis",
          "config": {
            "type": "xy",
            "title": "Requests over time (ES|QL)",
            "layers": [
              {
                "type": "line",
                "data_source": {
                  "type": "esql",
                  "query": "FROM kibana_sample_data_logs | STATS count = COUNT() BY BUCKET(@timestamp, 75, ?_tstart, ?_tend)"
                },
                "x": {
                  "column": "BUCKET(@timestamp, 75, ?_tstart, ?_tend)"
                },
                "y": [
                  {
                    "column": "count"
                  }
                ]
              }
            ],
            "axis": {
              "x": {
                "title": {
                  "visible": false
                }
              }
            }
          }
        }
      ]
    }
  ]
}'
```

## Response Examples

#### Create dashboard response

Response to creating a dashboard. Returns the generated ID, the full dashboard state in `data`, and metadata. Default option values are always returned even when not explicitly set in the request. Panel `id` values are generated automatically.

```json
{
  "data": {
    "access_control": {
      "access_mode": "write_restricted"
    },
    "options": {
      "auto_apply_filters": true,
      "hide_panel_borders": false,
      "hide_panel_titles": false,
      "sync_colors": false,
      "sync_cursor": true,
      "sync_tooltips": false,
      "use_margins": true
    },
    "panels": [
      {
        "config": {
          "content": "## Web logs overview"
        },
        "grid": {
          "h": 15,
          "w": 24,
          "x": 0,
          "y": 0
        },
        "id": "a1b2c3d4-0001-4000-8000-000000000001",
        "type": "markdown"
      },
      {
        "config": {
          "data_source": {
            "index_pattern": "kibana_sample_data_logs",
            "time_field": "timestamp",
            "type": "data_view_spec"
          },
          "ignore_global_filters": false,
          "metrics": [
            {
              "empty_as_null": false,
              "operation": "count",
              "type": "primary"
            }
          ],
          "sampling": 1,
          "styling": {
            "primary": {
              "labels": {
                "alignment": "left"
              },
              "position": "bottom",
              "value": {
                "alignment": "right",
                "sizing": "auto"
              }
            }
          },
          "title": "",
          "type": "metric"
        },
        "grid": {
          "h": 5,
          "w": 12,
          "x": 24,
          "y": 0
        },
        "id": "a1b2c3d4-0001-4000-8000-000000000002",
        "type": "vis"
      },
      {
        "config": {
          "data_source": {
            "index_pattern": "kibana_sample_data_logs",
            "time_field": "timestamp",
            "type": "data_view_spec"
          },
          "ignore_global_filters": false,
          "metrics": [
            {
              "field": "bytes",
              "operation": "average",
              "type": "primary"
            }
          ],
          "sampling": 1,
          "styling": {
            "primary": {
              "labels": {
                "alignment": "left"
              },
              "position": "bottom",
              "value": {
                "alignment": "right",
                "sizing": "auto"
              }
            }
          },
          "title": "",
          "type": "metric"
        },
        "grid": {
          "h": 5,
          "w": 12,
          "x": 36,
          "y": 0
        },
        "id": "a1b2c3d4-0001-4000-8000-000000000003",
        "type": "vis"
      },
      {
        "config": {
          "axis": {
            "x": {
              "domain": {
                "rounding": false,
                "type": "fit"
              },
              "grid": {
                "visible": true
              },
              "labels": {
                "orientation": "horizontal"
              },
              "scale": "ordinal",
              "ticks": {
                "visible": true
              },
              "title": {
                "visible": false
              }
            },
            "y": {
              "anchor": "start",
              "domain": {
                "rounding": true,
                "type": "full"
              },
              "grid": {
                "visible": true
              },
              "labels": {
                "orientation": "horizontal"
              },
              "scale": "linear",
              "ticks": {
                "visible": true
              },
              "title": {
                "visible": true
              }
            }
          },
          "layers": [
            {
              "data_source": {
                "query": "FROM kibana_sample_data_logs | STATS count = COUNT() BY BUCKET(@timestamp, 75, ?_tstart, ?_tend)",
                "type": "esql"
              },
              "ignore_global_filters": false,
              "sampling": 1,
              "type": "line",
              "x": {
                "column": "BUCKET(@timestamp, 75, ?_tstart, ?_tend)"
              },
              "y": [
                {
                  "axis_id": "y",
                  "column": "count"
                }
              ]
            }
          ],
          "legend": {
            "layout": {
              "truncate": {
                "max_lines": 1
              },
              "type": "grid"
            },
            "placement": "outside",
            "position": "right",
            "visibility": "hidden"
          },
          "styling": {
            "interpolation": "linear",
            "overlays": {
              "current_time_marker": {
                "visible": false
              },
              "partial_buckets": {
                "visible": false
              }
            },
            "points": {
              "visibility": "auto"
            }
          },
          "title": "Requests over time",
          "type": "xy"
        },
        "grid": {
          "h": 10,
          "w": 24,
          "x": 24,
          "y": 5
        },
        "id": "a1b2c3d4-0001-4000-8000-000000000003",
        "type": "vis"
      }
    ],
    "pinned_panels": [],
    "title": "Web logs overview"
  },
  "id": "3c4b8e10-d57a-11ef-9a52-4f3c2a8d0e1b",
  "meta": {
    "created_at": "2026-04-13T10:00:00.000Z",
    "managed": false,
    "updated_at": "2026-04-13T10:00:00.000Z",
    "version": "WzEwMiwxXQ=="
  }
}
```

