Skip to content

Import a dashboard from an export.

POST
/dashboards/import
curl --request POST \
--url https://api.siteqwality.com/dashboards/import \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "schema": "example", "name": "example", "description": "example", "tags": [ "example" ], "definition": { "schema_version": 1, "settings": { "default_time": { "from": "example", "to": "example" }, "refresh": "auto", "timezone": "example", "crosshair": "shared" }, "variables": [ { "name": "example", "label": "example", "source": "monitors", "field": "example", "metric": "example", "multi": true, "include_all": true, "default": [ "example" ], "values": [ "example" ] } ], "widgets": [ { "config": { "queries": [ { "id": "example", "source": "monitors", "measure": "example", "aggregation": "avg", "filters": [ { "field": "example", "op": "in", "values": [ "example" ] } ], "group_by": [ "example" ], "metric": "example", "hidden": true, "alias": "example" } ], "formulas": [ { "id": "example", "expr": "example", "alias": "example", "unit": "ms", "hidden": true } ], "display": "line", "stacked": true, "series_limit": 1, "legend": "auto", "legend_columns": [ "value" ], "y_axis": { "min": 1, "max": 1, "scale": "linear", "include_zero": true }, "unit": "ms", "decimals": 1, "thresholds": [ { "value": 1, "tone": "ok", "style": "line", "label": "example" } ], "compare": "previous_period", "overlays": [ "incidents" ], "palette": "categorical" }, "type": "timeseries", "id": "example", "title": "example", "description": "example", "layout": { "x": 1, "y": 1, "w": 1, "h": 1 }, "time": { "from": "example", "to": "example" } } ] } }'
Media type application/json

The portable form: GET /dashboards/{id}/export and POST /dashboards/import.

object
schema
required

Always siteqwality.dashboard/v1.

string
name
required
string
description
string | null
tags
Array<string>
definition
required
object
schema_version
required
integer format: int32
settings
object
default_time

A window of T2 tokens (now, now-2h) or instants (ISO 8601, epoch milliseconds), resolved when the query is compiled, so a stored view stays rolling.

object
from
required
string
to
required
string
refresh
string
Allowed values: auto off 30s 1m 5m 15m
timezone

None follows the viewer’s browser; otherwise UTC or an IANA zone.

string | null
crosshair
string
Allowed values: shared off
variables
Array<object>
object
name
required
string
label
string | null
source
required
string
Allowed values: monitors incidents rum logs metrics traces
field
required
string
metric
string | null
multi
boolean
include_all
boolean
default

["*"] is All.

Array<string>
values

A fixed list instead of values from the data.

array | null
widgets
Array
object
One of:
object
config
required
object
queries
required
Array<object>
object
id
required
string
source
required
string
Allowed values: monitors incidents rum logs metrics traces
measure
required
string
aggregation
One of:
null
filters
Array<object>
object
field
required
string
op
required
string
Allowed values: in not_in contains not_contains gt gte lt lte
values
required
Array<string>
group_by
Array<string>
metric

Metrics source only: the metric name (or $var).

string | null
hidden
boolean
alias
string | null
formulas
Array<object>
object
id
required
string
expr
required
string
alias
string | null
unit
One of:
null
hidden
boolean
display
string
Allowed values: line area bars
stacked
boolean
series_limit
integer format: int32
legend
string
Allowed values: auto table compact none
legend_columns
Array<string>
Allowed values: value avg min max sum
y_axis
One of:
null
unit
One of:
null
decimals
integer | null format: int32
thresholds
Array<object>

A horizontal marker on a time series.

object
value
required
number format: double
tone
required
string
Allowed values: ok warn danger
style
string
Allowed values: line band
label
string | null
compare
One of:
null
overlays
Array<string>
Allowed values: incidents downtime
palette
string
Allowed values: categorical cool warm status
type
required
string
Allowed values: timeseries
id
required
string
title
string | null
description
string | null
layout
required
object
x
required
integer format: int32
y
required
integer format: int32
w
required
integer format: int32
h
required
integer format: int32
time
One of:
null

The imported dashboard

Media type application/json
object
id
required
string format: uuid
name
required
string
description
string | null
tags
required
Array<string>
definition
required
object
schema_version
required
integer format: int32
settings
object
default_time

A window of T2 tokens (now, now-2h) or instants (ISO 8601, epoch milliseconds), resolved when the query is compiled, so a stored view stays rolling.

object
from
required
string
to
required
string
refresh
string
Allowed values: auto off 30s 1m 5m 15m
timezone

None follows the viewer’s browser; otherwise UTC or an IANA zone.

string | null
crosshair
string
Allowed values: shared off
variables
Array<object>
object
name
required
string
label
string | null
source
required
string
Allowed values: monitors incidents rum logs metrics traces
field
required
string
metric
string | null
multi
boolean
include_all
boolean
default

["*"] is All.

Array<string>
values

A fixed list instead of values from the data.

array | null
widgets
Array
object
One of:
object
config
required
object
queries
required
Array<object>
object
id
required
string
source
required
string
Allowed values: monitors incidents rum logs metrics traces
measure
required
string
aggregation
One of:
null
filters
Array<object>
object
field
required
string
op
required
string
Allowed values: in not_in contains not_contains gt gte lt lte
values
required
Array<string>
group_by
Array<string>
metric

Metrics source only: the metric name (or $var).

string | null
hidden
boolean
alias
string | null
formulas
Array<object>
object
id
required
string
expr
required
string
alias
string | null
unit
One of:
null
hidden
boolean
display
string
Allowed values: line area bars
stacked
boolean
series_limit
integer format: int32
legend
string
Allowed values: auto table compact none
legend_columns
Array<string>
Allowed values: value avg min max sum
y_axis
One of:
null
unit
One of:
null
decimals
integer | null format: int32
thresholds
Array<object>

A horizontal marker on a time series.

object
value
required
number format: double
tone
required
string
Allowed values: ok warn danger
style
string
Allowed values: line band
label
string | null
compare
One of:
null
overlays
Array<string>
Allowed values: incidents downtime
palette
string
Allowed values: categorical cool warm status
type
required
string
Allowed values: timeseries
id
required
string
title
string | null
description
string | null
layout
required
object
x
required
integer format: int32
y
required
integer format: int32
w
required
integer format: int32
h
required
integer format: int32
time
One of:
null
version
required
integer format: int32
locked
required
boolean
template_key
string | null
created_by
One of:
null
updated_by
One of:
null
created_at
required
string format: date-time
updated_at
required
string format: date-time
deleted_at
string | null format: date-time
favorite
required
boolean
can_edit
required

Whether the caller may save changes (role, plan, scopes and the lock).

boolean
share_count
required

Live public links: not paused and not expired.

integer format: int64
Example
{
"definition": {
"settings": {
"refresh": "auto",
"crosshair": "shared"
},
"variables": [
{
"source": "monitors"
}
],
"widgets": [
{
"config": {
"queries": [
{
"source": "monitors",
"aggregation": "avg",
"filters": [
{
"op": "in"
}
]
}
],
"formulas": [
{
"unit": "ms"
}
],
"display": "line",
"legend": "auto",
"legend_columns": [
"value"
],
"y_axis": {
"scale": "linear"
},
"unit": "ms",
"thresholds": [
{
"tone": "ok",
"style": "line"
}
],
"compare": "previous_period",
"overlays": [
"incidents"
],
"palette": "categorical"
},
"type": "timeseries"
}
]
}
}

Not a dashboard export, an invalid definition, or 500 dashboards already

Missing or invalid authentication

Custom dashboards require a paid plan

The role is view-only

Internal server error