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.