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.
