---
title: "List Dashboards"
method: GET
path: "/api/v2/dashboards"
tags: ["Dashboards"]
---

# List Dashboards

`GET /api/v2/dashboards`

Retrieves a list of all dashboards for the authenticated team

## Response `200`

Successfully retrieved dashboards

- DashboardsListResponse
  - `data` DashboardResponse[] — List of dashboard objects.
    - `id` string — Dashboard ID
    - `name` string — Dashboard name
    - `tiles` TileOutput[] — List of tiles/charts in the dashboard
      - `name` string, required — Display name for the tile
      - `x` integer, required — Horizontal position in the grid (0-based)
      - `y` integer, required — Vertical position in the grid (0-based)
      - `w` integer, required — Width in grid units
      - `h` integer, required — Height in grid units
      - `config` union — Tile chart configuration. displayType is the primary discriminant and determines which variant group applies. For displayTypes that support both builder and Raw SQL modes (line, stacked_bar, table, number, pie), configType is the secondary discriminant: omit it for the builder variant or set it to "sql" for the Raw SQL variant. The heatmap, search, and markdown displayTypes only have a builder variant.
        - union — Line chart. Omit configType for the builder variant (requires sourceId and select). Set configType to "sql" for the Raw SQL variant (requires connectionId and sqlTemplate).
          - LineBuilderChartConfig — Builder configuration for a line time-series chart.
            - `displayType` 'line', required — Display type discriminator. Must be "line" for line charts.
            - `sourceId` string, required — ID of the data source to query.
            - `select` SelectItem[], required — One or more aggregated values to plot. When asRatio is true, exactly two select items are required.
              - …
            - `groupBy` string — Field expression to group results by (creates separate lines per group value).
            - `asRatio` boolean — Plot select[0] / select[1] as a ratio. Requires exactly two select items.
            - `alignDateRangeToGranularity` boolean — Expand date range boundaries to the query granularity interval.
            - `fillNulls` boolean — Fill missing time buckets with zero instead of leaving gaps.
            - `numberFormat` NumberFormat
              - …
            - `compareToPreviousPeriod` boolean — Overlay the equivalent previous time period for comparison.
          - LineRawSqlChartConfig — Shared fields for Raw SQL chart configs. Set configType to "sql" and provide connectionId + sqlTemplate instead of sourceId + select.
            - `configType` 'sql', required — Must be "sql" to use the Raw SQL chart config variant.
            - `connectionId` string, required — ID of the ClickHouse connection to execute the query against.
            - `sqlTemplate` string, required — SQL query template to execute. Supports HyperDX template variables.
            - `sourceId` string — Optional ID of the data source associated with this Raw SQL chart. Used for applying dashboard filters.
            - `numberFormat` NumberFormat
              - …
            - `displayType` 'line', required — Display as a line time-series chart.
            - `compareToPreviousPeriod` boolean — Overlay the equivalent previous time period for comparison.
            - `fillNulls` boolean — Fill missing time buckets with zero instead of leaving gaps.
            - `alignDateRangeToGranularity` boolean — Expand date range boundaries to the query granularity interval.
        - union — Stacked-bar chart. Omit configType for the builder variant (requires sourceId and select). Set configType to "sql" for the Raw SQL variant (requires connectionId and sqlTemplate).
          - BarBuilderChartConfig — Builder configuration for a stacked-bar time-series chart.
            - `displayType` 'stacked_bar', required — Display type discriminator. Must be "stacked_bar" for stacked-bar charts.
            - `sourceId` string, required — ID of the data source to query.
            - `select` SelectItem[], required — One or more aggregated values to plot. When asRatio is true, exactly two select items are required.
              - …
            - `groupBy` string — Field expression to group results by (creates separate bars segments per group value).
            - `asRatio` boolean — Plot select[0] / select[1] as a ratio. Requires exactly two select items.
            - `alignDateRangeToGranularity` boolean — Align the date range boundaries to the query granularity interval.
            - `fillNulls` boolean — Fill missing time buckets with zero instead of leaving gaps.
            - `numberFormat` NumberFormat
              - …
          - BarRawSqlChartConfig — Shared fields for Raw SQL chart configs. Set configType to "sql" and provide connectionId + sqlTemplate instead of sourceId + select.
            - `configType` 'sql', required — Must be "sql" to use the Raw SQL chart config variant.
            - `connectionId` string, required — ID of the ClickHouse connection to execute the query against.
            - `sqlTemplate` string, required — SQL query template to execute. Supports HyperDX template variables.
            - `sourceId` string — Optional ID of the data source associated with this Raw SQL chart. Used for applying dashboard filters.
            - `numberFormat` NumberFormat
              - …
            - `displayType` 'stacked_bar', required — Display as a stacked-bar time-series chart.
            - `fillNulls` boolean — Fill missing time buckets with zero instead of leaving gaps.
            - `alignDateRangeToGranularity` boolean — Expand date range boundaries to the query granularity interval.
        - union — Table chart. Omit configType for the builder variant (requires sourceId and select). Set configType to "sql" for the Raw SQL variant (requires connectionId and sqlTemplate).
          - TableBuilderChartConfig — Builder configuration for a table aggregation chart.
            - `displayType` 'table', required — Display type discriminator. Must be "table" for table charts.
            - `sourceId` string, required — ID of the data source to query.
            - `select` SelectItem[], required — One or more aggregated values to display as table columns. When asRatio is true, exactly two select items are required.
              - …
            - `groupBy` string — Field expression to group results by (one row per group value).
            - `having` string — Post-aggregation SQL HAVING condition.
            - `orderBy` string — SQL ORDER BY expression for sorting table rows.
            - `asRatio` boolean — Display select[0] / select[1] as a ratio. Requires exactly two select items.
            - `numberFormat` NumberFormat
              - …
            - `groupByColumnsOnLeft` boolean — When true, render Group By columns to the left of series columns in the table. Defaults to false (Group By columns on the right).
            - `onClick` union — Link-out configuration applied when a user clicks a row of a table tile. Only table tiles (builder or raw SQL) currently support onClick. When target.mode is "id", the referenced source (type=search) or dashboard (type=dashboard) must already exist for the team.
              - …
          - TableRawSqlChartConfig — Shared fields for Raw SQL chart configs. Set configType to "sql" and provide connectionId + sqlTemplate instead of sourceId + select.
            - `configType` 'sql', required — Must be "sql" to use the Raw SQL chart config variant.
            - `connectionId` string, required — ID of the ClickHouse connection to execute the query against.
            - `sqlTemplate` string, required — SQL query template to execute. Supports HyperDX template variables.
            - `sourceId` string — Optional ID of the data source associated with this Raw SQL chart. Used for applying dashboard filters.
            - `numberFormat` NumberFormat
              - …
            - `displayType` 'table', required — Display as a table chart.
            - `onClick` union — Link-out configuration applied when a user clicks a row of a table tile. Only table tiles (builder or raw SQL) currently support onClick. When target.mode is "id", the referenced source (type=search) or dashboard (type=dashboard) must already exist for the team.
              - …
        - union — Single big-number chart. Omit configType for the builder variant (requires sourceId and select). Set configType to "sql" for the Raw SQL variant (requires connectionId and sqlTemplate).
          - NumberBuilderChartConfig — Builder configuration for a single big-number chart.
            - `displayType` 'number', required — Display type discriminator. Must be "number" for single big-number charts.
            - `sourceId` string, required — ID of the data source to query.
            - `select` SelectItem[], required — Exactly one aggregated value to display as a single number.
              - …
            - `numberFormat` NumberFormat
              - …
          - NumberRawSqlChartConfig — Shared fields for Raw SQL chart configs. Set configType to "sql" and provide connectionId + sqlTemplate instead of sourceId + select.
            - `configType` 'sql', required — Must be "sql" to use the Raw SQL chart config variant.
            - `connectionId` string, required — ID of the ClickHouse connection to execute the query against.
            - `sqlTemplate` string, required — SQL query template to execute. Supports HyperDX template variables.
            - `sourceId` string — Optional ID of the data source associated with this Raw SQL chart. Used for applying dashboard filters.
            - `numberFormat` NumberFormat
              - …
            - `displayType` 'number', required — Display as a single big-number chart.
        - union — Pie chart. Omit configType for the builder variant (requires sourceId and select). Set configType to "sql" for the Raw SQL variant (requires connectionId and sqlTemplate).
          - PieBuilderChartConfig — Builder configuration for a pie chart tile. Each slice represents one group value.
            - `displayType` 'pie', required — Display type discriminator. Must be "pie" for pie charts.
            - `sourceId` string, required — ID of the data source to query.
            - `select` SelectItem[], required — Exactly one aggregated value used to size each pie slice.
              - …
            - `groupBy` string — Field expression to group results by (one slice per group value).
            - `numberFormat` NumberFormat
              - …
          - PieRawSqlChartConfig — Shared fields for Raw SQL chart configs. Set configType to "sql" and provide connectionId + sqlTemplate instead of sourceId + select.
            - `configType` 'sql', required — Must be "sql" to use the Raw SQL chart config variant.
            - `connectionId` string, required — ID of the ClickHouse connection to execute the query against.
            - `sqlTemplate` string, required — SQL query template to execute. Supports HyperDX template variables.
            - `sourceId` string — Optional ID of the data source associated with this Raw SQL chart. Used for applying dashboard filters.
            - `numberFormat` NumberFormat
              - …
            - `displayType` 'pie', required — Display as a pie chart.
        - HeatmapChartConfig — Builder configuration for a heatmap tile. Heatmap is builder-only (no Raw SQL variant) and currently supports trace sources. The row-level filter lives at the chart-config level (where / whereLanguage), matching the HeatmapSeriesEditor in the UI.
          - `displayType` 'heatmap', required — Display type discriminator. Must be "heatmap" for heatmap tiles.
          - `sourceId` string, required — ID of the data source to query.
          - `select` HeatmapSelectItem[], required — Exactly one heatmap select item.
            - `valueExpression` string, required — SQL expression for the value being bucketed on the y-axis. Must be non-empty.
            - `countExpression` string — SQL expression for the count contributing to each bucket. Defaults to "count()" in the editor when omitted.
            - `heatmapScaleType` 'log' | 'linear' — Scale type used to bucket values on the y-axis.
          - `where` string — Row-level filter (syntax depends on whereLanguage).
          - `whereLanguage` 'sql' | 'lucene' — Query language for the where clause.
          - `numberFormat` NumberFormat
            - `output` 'currency' | 'percent' | 'byte' | 'time' | 'number' | 'data_rate' | 'throughput' | 'duration' — Output format type (currency, percent, byte, time, number, data_rate, throughput, duration).
            - `mantissa` integer — Number of decimal places.
            - `thousandSeparated` boolean — Whether to use thousand separators.
            - `average` boolean — Whether to show as average.
            - `decimalBytes` boolean — Use decimal bytes (1000) vs binary bytes (1024).
            - `factor` number — Multiplication factor.
            - `currencySymbol` string — Currency symbol for currency format.
            - `numericUnit` 'bytes_iec' | 'bytes_si' | 'bits_iec' | 'bits_si' | 'kibibytes' | 'kilobytes' | 'mebibytes' | 'megabytes' | 'gibibytes' | 'gigabytes' | 'tebibytes' | 'terabytes' | 'pebibytes' | 'petabytes' | 'packets_sec' | 'bytes_sec_iec' | 'bytes_sec_si' | 'bits_sec_iec' | 'bits_sec_si' | 'kibibytes_sec' | 'kibibits_sec' | 'kilobytes_sec' | 'kilobits_sec' | 'mebibytes_sec' | 'mebibits_sec' | 'megabytes_sec' | 'megabits_sec' | 'gibibytes_sec' | 'gibibits_sec' | 'gigabytes_sec' | 'gigabits_sec' | 'tebibytes_sec' | 'tebibits_sec' | 'terabytes_sec' | 'terabits_sec' | 'pebibytes_sec' | 'pebibits_sec' | 'petabytes_sec' | 'petabits_sec' | 'cps' | 'ops' | 'rps' | 'reads_sec' | 'wps' | 'iops' | 'cpm' | 'opm' | 'rpm_reads' | 'wpm' — Numeric unit for data, data rate, or throughput formats.
            - `unit` string — Custom unit label.
        - SearchChartConfig — Configuration for a raw-event search / log viewer tile.
          - `displayType` 'search', required — Display type discriminator. Must be "search" for search/log viewer tiles.
          - `sourceId` string, required — ID of the data source to query.
          - `select` string, required — Comma-separated list of expressions to display.
          - `where` string — Filter condition for the search (syntax depends on whereLanguage).
          - `whereLanguage` 'sql' | 'lucene', required — Query language for the where clause.
        - MarkdownChartConfig — Configuration for a freeform Markdown text tile.
          - `displayType` 'markdown', required — Display type discriminator. Must be "markdown" for markdown text tiles.
          - `markdown` string — Markdown content to render inside the tile.
      - `containerId` string — References a DashboardContainer by id. Tiles without containerId render in the default ungrouped area.
      - `tabId` string — References a tab inside the tile's container by id. Requires containerId to be set, and the container to declare a matching tab.
      - `id` string, required — Unique tile ID assigned by the server.
    - `tags` string[] — Tags for organizing and filtering dashboards
    - `filters` Filter[] — Dashboard filter keys added to the dashboard and applied to all tiles
      - `type` 'QUERY_EXPRESSION', required — Filter type. Must be "QUERY_EXPRESSION".
      - `name` string, required — Display name for the dashboard filter key
      - `expression` string, required — Key expression used when applying this dashboard filter key
      - `sourceId` string, required — Source ID this dashboard filter key applies to
      - `sourceMetricType` 'sum' | 'gauge' | 'histogram' | 'summary' | 'exponential histogram' — Metric type when source is metrics
      - `where` string — Optional WHERE condition to scope which rows this filter key reads values from
      - `whereLanguage` 'sql' | 'lucene' — Language of the where condition
      - `id` string, required — Unique dashboard filter key ID
    - `savedQuery` string, nullable — Optional default dashboard query restored when loading the dashboard.
    - `savedQueryLanguage` 'sql' | 'lucene' — Query language for the where clause.
    - `savedFilterValues` SavedFilterValue[] — Optional default dashboard filter values restored when loading the dashboard.
      - `type` 'sql' — Filter type. Currently only "sql" is supported.
      - `condition` string, required — SQL filter condition. For example use expressions in the form "column IN ('value')".
    - `containers` DashboardContainer[] — Optional grouping containers. Each tile may join a container via tile.containerId, and a tab inside it via tile.tabId.
      - `id` string, required — Unique identifier for the container within the dashboard.
      - `title` string, required — Display title for the container.
      - `collapsed` boolean, required — Persisted default collapse state. Per-viewer state lives in the URL.
      - `collapsible` boolean — Whether the user can collapse the group.
      - `bordered` boolean — Whether to show a visual border around the group.
      - `tabs` DashboardContainerTab[] — Optional tabs. 2+ entries renders a tab bar; 0-1 entries renders a plain group header. Tiles join a tab via tabId.
        - `id` string, required — Unique identifier for the tab within its container.
        - `title` string, required — Display title for the tab.

## Other responses

- `401` — Unauthorized

## Changes

- **2026-05-12** `e57f51441fb7` — 1 breaking, 1 info
  - added `#/components/schemas/HeatmapChartConfig` to the `data/items/allOf[#/components/schemas/Dashboard]/tiles/items/allOf[#/components/schemas/TileBase]/config` response property `oneOf` list for the response status `200`
  - added `heatmap` discriminator mapping keys to the `data/items/allOf[#/components/schemas/Dashboard]/tiles/items/allOf[#/components/schemas/TileBase]/config` response property for the response status `200`
- **2026-05-12** `0e9ce65c3a71` — 2 info
  - added the optional property `data/items/allOf[#/components/schemas/Dashboard]/tiles/items/allOf[#/components/schemas/TileBase]/config/oneOf[#/components/schemas/TableChartConfig]/oneOf[#/components/schemas/TableBuilderChartConfig]/onClick` to the response with the `200` status
  - added the optional property `data/items/allOf[#/components/schemas/Dashboard]/tiles/items/allOf[#/components/schemas/TileBase]/config/oneOf[#/components/schemas/TableChartConfig]/oneOf[#/components/schemas/TableRawSqlChartConfig]/allOf[subschema #2]/onClick` to the response with the `200` status
- …earlier changes not shown

[Full history](https://skmtc.dev/hyperdxio/apis/hyperdx-external-api/changes/api/v2/dashboards/get.md)

---

[API](https://skmtc.dev/hyperdxio/apis/hyperdx-external-api.md) · [All operations](https://skmtc.dev/hyperdxio/apis/hyperdx-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hyperdxio/hyperdx-external-api/revisions/0b1f31780e43/schema)
