Get a dashboard

Base URL
https://{kibana_url}
  • GET /api/dashboards/{id}
Auth

Returns the complete state of a dashboard by ID.

Path parameters

id string required

The dashboard ID, as returned by the create or search endpoints.

Responses

success

application/json
data object required
access_control object

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 for faster, estimated results.

filters union oneOf[] · max items: 500

Filters applied across all panels, including pinned panels.

One of:

A filter that evaluates a single field condition such as equality, range, or existence.

type enum required
Values: condition
condition union oneOf required

A filter condition with strict operator/value type matching.

One of: (determined by operator)
operator: is

Matches documents where field equals a single specified value.

operator enum required
Values: is
field string required

Name of the document field the condition evaluates.

negate boolean

When true, the filter is negated and matches documents that do NOT satisfy the condition. Defaults to false.

value union string | number | boolean required

Single value to compare against the field.

controlled_by string

Identifier of the panel that manages this filter. When set, the filter is treated as owned by that panel.

data_view_id string

Identifier of the data view used as context for this filter.

disabled boolean

When true, the filter is inactive and does not affect query results. Defaults to false.

is_multi_index boolean

When true, the filter can be applied across multiple indices. Defaults to false.

label string

Human-readable label for the filter, used for display purposes.

negate boolean

When true, the filter is negated and matches documents that do NOT satisfy the condition. Defaults to false.

options object · 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 items: 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).

Any of:
config object required

Anomaly Charts embeddable

description string

A short description of the panel.

hide_border boolean

When true, the panel border is hidden. Defaults to false.

hide_title boolean

When true, the panel title is hidden. Defaults to false.

job_ids string[] · min items: 1 · max items: 10000 required

Anomaly detection job or group IDs whose results are shown in the charts.

max_series_to_plot number · min: 1 · max: 50

Maximum number of anomaly series to plot.

severity_threshold union anyOf[] · max items: 5

Severity threshold ranges used to filter anomaly results.

Any of:
min enum required
Values: 0
max enum required
Values: 3
time_range object

Specifies the time range for a query.

from string required

The start of the time range. Accepts Elasticsearch 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 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 expressions (for example, now) or ISO 8601 timestamps.

title string

The panel title.

grid object required

The position and size of the panel on the dashboard grid.

h number · min: 1 · default: 15

The height of the panel in grid units. Minimum 1. Defaults to 15.

w number · min: 1 · max: 48 · default: 24

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

The unique ID of the panel.

type enum required
Values: ml_anomaly_charts
pinned_panels union oneOf[] · max items: 100

An array of control panels and their state in the control group.

One of:

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.

type enum required
Values: esql_control
config union oneOf required
Same options as config in ES|QL variable control
grow boolean · default: false

When true, the control expands to fill any available horizontal space. Defaults to false.

id string

The unique ID of the control

width enum · default: medium

Minimum width of the control panel.

Values: small medium large
project_routing string

Controls cross-project search 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 object

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 object

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 items: 1000 · default: []

Tag IDs to associate with this dashboard.

time_range object

Specifies the time range for a query.

from string required

The start of the time range. Accepts Elasticsearch 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 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 expressions (for example, now) or ISO 8601 timestamps.

title string · min length: 1 required

A human-readable title for the dashboard.

id string required

The unique ID of the dashboard, as returned by the create or search endpoints.

meta object required
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.

warnings union anyOf[] · max items: 100

A list of warnings returned by the Dashboards API. Present only when one or more dashboard properties failed validation.

Any of:

A panel that was excluded from the response because its type is not supported by the API.

type enum required
Values: dropped_panel
message string required

Human-readable explanation of why the panel was dropped.

panel_config map string to object required

The original configuration of the dropped panel.

panel_references object[] · max items: 100

Saved object references used by the dropped panel.

id string required
name string required
type string required
panel_type string required

The type identifier of the dropped panel.

400

invalid response

403

forbidden

404

not found

500

internal server error

Base URL
https://{kibana_url}