Docs
API
Managing Dashboards

Managing Dashboards

List Dashboards

Lists dashboards from the current team.

Request

GET /api/v1/dashboards

This request takes no parameters.

Request Example

curl --request GET \
  --url https://api.hyperdx.io/api/v1/dashboards \
  --header 'Authorization: Bearer YOUR_PERSONAL_API_KEY'

Response

data - (Object[]) An array of objects, each representing a specific dashboard.

data.id - (String) Unique ID of the dashboard.

data.name - (String) The user-defined name of a dashboard.

data.query - (String) The saved top-level global filter applied to all charts in the dashboard.

data.tags - (String[]) List of tags to organize this dashboard under.

data.charts - (Object[]) An array of objects, each representing a specific chart/tile in the dashboard.

data.charts.id - (String) Unique ID of the chart.

data.charts.name - (String) User assigned name of the chart.

data.charts.(x|y|w|h) - (Number) The position and sizing of the chart within the dashboard.

data.charts.asRatio - (Boolean) Whether to treat the series as a ratio (series[0] / series[1]).

data.charts.series - (Object[]) An array of objects, each representing a specific series within the chart.

data.charts.series.type - (time | histogram | search | number | table | markdown) The type of the series, must be the same across all series in a given chart.

data.charts.series.dataSource - (events | metrics) Whether to pull data from metrics or events (logs/spans).

data.charts.series.aggFn - (avg | avg_rate | count | count_distinct | max | max_rate | min | min_rate | p50 | p50_rate | p90 | p90_rate | p95 | p95_rate | p99 | p99_rate | sum | sum_rate) How to aggregate the data. Sum-type metrics (opens in a new tab) also support (avg|max|min|p50|p90|p95|p99|sum)_rate aggregations as well to treat the metric as a rate.

data.charts.series.field - (String, Optional) The event field or metric name to query for, not required for count aggregations. (ex. level)

data.charts.series.where - (String) A search query to filter the data by, leave as empty if a filter is not required. (ex. level:err)

data.charts.series.groupBy - (String[]) An array of fields to group by (ex. [level, service]). All series must have the same exact value.

data.charts.series.metricDataType - (String, Optional) Required for metric data, whether to query for Sum, Gauge, or Histogram type.

Get Dashboard

Fetches a specific dashboard by its unique ID.

Request

GET /api/v1/dashboards/{id}

This request takes no parameters.

Request Example

curl --request GET \
  --url https://api.hyperdx.io/api/v1/dashboards/YOUR_DASHBOARD_ID \
  --header 'Authorization: Bearer YOUR_PERSONAL_API_KEY'

Response

data - (Object) An object representing a specific dashboard.

data.id - (String) Unique ID of the dashboard.

data.name - (String) The user-defined name of a dashboard.

data.query - (String) The saved top-level global filter applied to all charts in the dashboard.

data.tags - (String[]) List of tags to organize this dashboard under.

data.charts - (Object[]) An array of objects, each representing a specific chart/tile in the dashboard.

data.charts.id - (String) Unique ID of the chart.

data.charts.name - (String) User assigned name of the chart.

data.charts.(x|y|w|h) - (Number) The position and sizing of the chart within the dashboard.

data.charts.asRatio - (Boolean) Whether to treat the series as a ratio (series[0] / series[1]).

data.charts.series - (Object[]) An array of objects, each representing a specific series within the chart.

data.charts.series.type - (time | histogram | search | number | table | markdown) The type of the series, must be the same across all series in a given chart.

data.charts.series.dataSource - (events | metrics) Whether to pull data from metrics or events (logs/spans).

data.charts.series.aggFn - (avg | avg_rate | count | count_distinct | max | max_rate | min | min_rate | p50 | p50_rate | p90 | p90_rate | p95 | p95_rate | p99 | p99_rate | sum | sum_rate) How to aggregate the data. Sum-type metrics (opens in a new tab) also support (avg|max|min|p50|p90|p95|p99|sum)_rate aggregations as well to treat the metric as a rate.

data.charts.series.field - (String, Optional) The event field or metric name to query for, not required for count aggregations. (ex. level)

data.charts.series.where - (String) A search query to filter the data by, leave as empty if a filter is not required. (ex. level:err)

data.charts.series.groupBy - (String[]) An array of fields to group by (ex. [level, service]). All series must have the same exact value.

data.charts.series.metricDataType - (String, Optional) Required for metric data, whether to query for Sum, Gauge, or Histogram type.

Create a New Dashboard

Creates a new dashboard from the provided configuration.

Request

POST /api/v1/dashboards

name - (String) The user-defined name of a dashboard.

query - (String) The saved top-level global filter applied to all charts in the dashboard.

charts - (Object[]) An array of objects, each representing a specific chart/tile in the dashboard.

charts.id - (String, Optional) A unique ID of the chart.

charts.name - (String) User assigned name of the chart.

charts.(x|y|w|h) - (Number) The position and sizing of the chart within the dashboard.

charts.asRatio - (Boolean) Whether to treat the series as a ratio (series[0] / series[1]).

charts.series - (Object[]) An array of objects, each representing a specific series within the chart.

charts.series.type - (time | histogram | search | number | table | markdown) The type of the series, must be the same across all series in a given chart.

charts.series.dataSource - (events | metrics) Whether to pull data from metrics or events (logs/spans).

charts.series.aggFn - (avg | avg_rate | count | count_distinct | max | max_rate | min | min_rate | p50 | p50_rate | p90 | p90_rate | p95 | p95_rate | p99 | p99_rate | sum | sum_rate) How to aggregate the data. Sum-type metrics (opens in a new tab) also support (avg|max|min|p50|p90|p95|p99|sum)_rate aggregations as well to treat the metric as a rate.

charts.series.field - (String, Optional) The event field or metric name to query for, not required for count aggregations. (ex. level)

charts.series.where - (String) A search query to filter the data by, leave as empty if a filter is not required. (ex. level:err)

charts.series.groupBy - (String[]) An array of fields to group by (ex. [level, service]). All series must have the same exact value.

charts.series.metricDataType - (String, Optional) Required for metric data, whether to query for Sum, Gauge, or Histogram type.

Response

data - (Object) An object representing a specific dashboard.

data.id - (String) Unique ID of the dashboard.

data.name - (String) The user-defined name of a dashboard.

data.query - (String) The saved top-level global filter applied to all charts in the dashboard.

data.charts - (Object[]) An array of objects, each representing a specific chart/tile in the dashboard.

data.charts.id - (String) Unique ID of the chart.

data.charts.name - (String) User assigned name of the chart.

data.charts.(x|y|w|h) - (Number) The position and sizing of the chart within the dashboard.

data.charts.asRatio - (Boolean) Whether to treat the series as a ratio (series[0] / series[1]).

data.charts.series - (Object[]) An array of objects, each representing a specific series within the chart.

data.charts.series.type - (time | histogram | search | number | table | markdown) The type of the series, must be the same across all series in a given chart.

data.charts.series.dataSource - (events | metrics) Whether to pull data from metrics or events (logs/spans).

data.charts.series.aggFn - (avg | avg_rate | count | count_distinct | max | max_rate | min | min_rate | p50 | p50_rate | p90 | p90_rate | p95 | p95_rate | p99 | p99_rate | sum | sum_rate) How to aggregate the data. Sum-type metrics (opens in a new tab) also support (avg|max|min|p50|p90|p95|p99|sum)_rate aggregations as well to treat the metric as a rate.

data.charts.series.field - (String, Optional) The event field or metric name to query for, not required for count aggregations. (ex. level)

data.charts.series.where - (String) A search query to filter the data by, leave as empty if a filter is not required. (ex. level:err)

data.charts.series.groupBy - (String[]) An array of fields to group by (ex. [level, service]). All series must have the same exact value.

data.charts.series.metricDataType - (String, Optional) Required for metric data, whether to query for Sum, Gauge, or Histogram type.

Update an Existing Dashboard

Updates an existing dashboard from the provided configuration.

Request

PUT /api/v1/dashboards/{id}

name - (String) The user-defined name of a dashboard.

query - (String) The saved top-level global filter applied to all charts in the dashboard.

charts - (Object[]) An array of objects, each representing a specific chart/tile in the dashboard.

charts.id - (String, Optional) A unique ID of the chart.

charts.name - (String) User assigned name of the chart.

charts.(x|y|w|h) - (Number) The position and sizing of the chart within the dashboard.

charts.asRatio - (Boolean) Whether to treat the series as a ratio (series[0] / series[1]).

charts.series - (Object[]) An array of objects, each representing a specific series within the chart.

charts.series.type - (time | histogram | search | number | table | markdown) The type of the series, must be the same across all series in a given chart.

charts.series.dataSource - (events | metrics) Whether to pull data from metrics or events (logs/spans).

charts.series.aggFn - (avg | avg_rate | count | count_distinct | max | max_rate | min | min_rate | p50 | p50_rate | p90 | p90_rate | p95 | p95_rate | p99 | p99_rate | sum | sum_rate) How to aggregate the data. Sum-type metrics (opens in a new tab) also support (avg|max|min|p50|p90|p95|p99|sum)_rate aggregations as well to treat the metric as a rate.

charts.series.field - (String, Optional) The event field or metric name to query for, not required for count aggregations. (ex. level)

charts.series.where - (String) A search query to filter the data by, leave as empty if a filter is not required. (ex. level:err)

charts.series.groupBy - (String[]) An array of fields to group by (ex. [level, service]). All series must have the same exact value.

charts.series.metricDataType - (String, Optional) Required for metric data, whether to query for Sum, Gauge, or Histogram type.

Response

data - (Object) An object representing a specific dashboard.

data.id - (String) Unique ID of the dashboard.

data.name - (String) The user-defined name of a dashboard.

data.query - (String) The saved top-level global filter applied to all charts in the dashboard.

data.charts - (Object[]) An array of objects, each representing a specific chart/tile in the dashboard.

data.charts.id - (String) Unique ID of the chart.

data.charts.name - (String) User assigned name of the chart.

data.charts.(x|y|w|h) - (Number) The position and sizing of the chart within the dashboard.

data.charts.asRatio - (Boolean) Whether to treat the series as a ratio (series[0] / series[1]).

data.charts.series - (Object[]) An array of objects, each representing a specific series within the chart.

data.charts.series.type - (time | histogram | search | number | table | markdown) The type of the series, must be the same across all series in a given chart.

data.charts.series.dataSource - (events | metrics) Whether to pull data from metrics or events (logs/spans).

data.charts.series.aggFn - (avg | avg_rate | count | count_distinct | max | max_rate | min | min_rate | p50 | p50_rate | p90 | p90_rate | p95 | p95_rate | p99 | p99_rate | sum | sum_rate) How to aggregate the data. Sum-type metrics (opens in a new tab) also support (avg|max|min|p50|p90|p95|p99|sum)_rate aggregations as well to treat the metric as a rate.

data.charts.series.field - (String, Optional) The event field or metric name to query for, not required for count aggregations. (ex. level)

data.charts.series.where - (String) A search query to filter the data by, leave as empty if a filter is not required. (ex. level:err)

data.charts.series.groupBy - (String[]) An array of fields to group by (ex. [level, service]). All series must have the same exact value.

data.charts.series.metricDataType - (String, Optional) Required for metric data, whether to query for Sum, Gauge, or Histogram type.

Delete a Dashboard

Deletes a dashboard from the current team. This action is not reversible.

Request

DELETE /api/v1/dashboards/{id}

This request takes no parameters.

Request Example

curl --request DELETE \
  --url https://api.hyperdx.io/api/v1/dashboards/YOUR_DASHBOARD_ID \
  --header 'Authorization: Bearer YOUR_PERSONAL_API_KEY'

Response

A successful delete operation will return a 200 status code.

Hi, how can I help you?