List dashboards
idnamedescriptionsharing_enabledsharing_tokencreated_atupdated_at
Get one dashboard
layoutwidgets
List templates
category:application,runtime,database,infrastructure,edge,ai, orweb.requires: the data the template needs.signals(traces,logs,metrics,errors,vitals,ai),metric_prefixes(for examplesystem.ork8s.), andattributes(a span attribute such asdb.system.name, with optionalvalues).readiness: whether this project has that data.
readiness.missing lists each requirement without recent data, with a hint that says what to
send and a docs_url. The check is cached for about two minutes per project. If the check cannot
run, the templates are returned without readiness. Add ?readiness=false to skip the check.
The library includes service health (requests, errors, and latency from traces), HTTP endpoints,
database client, PostgreSQL, Redis, Node.js, JVM, and Go runtimes, host metrics, Docker
containers, Kubernetes workloads, Railway services, AI agents, web traffic, and log patterns. The
metric templates use OpenTelemetry semantic convention names.
Preview a template
status, summary, and data as a dashboard snapshot.
Without
time_range, each widget uses its own range, capped at 7 days. A preview runs at most 16
widgets. When the project stores a metric with another instrument type than the template (for
example a gauge instead of an up/down counter), the preview and a dashboard created from the
template read the stored type. A range over 7 days returns 400; an unknown template returns 404.
Create from template
Execute a dashboard query
duration_ms over the span name):
source values: metrics, logs, traces, errors, vitals, fixes, ai, ingestion. See Dashboards as Code for what each one queries.
Use optional q only with logs and errors queries. It accepts the same fielded search syntax as event search.
Use time_range for relative windows such as 5m, 1h, 24h, or 7d. For an absolute window, include both from and to as ISO 8601 timestamps; those timestamps override the relative time_range during execution while keeping the query shape compatible with saved widgets.
The response includes:
aggregationfromtogranularitydatacache- freshness metadata withstatus,cached_at,expires_at,age_ms,ttl_ms,next_allowed_refresh_at, andrefresh_mode
Cache-Control: no-cache to force a fresh execution without changing the JSON query body.
Capture a dashboard snapshot
Cache-Control: no-cache to force-refresh the widget queries. The response includes cache_summary, and each widget result includes the same cache metadata as dashboard-query.
Inspect a dashboard query
highlights- compact takeaways from the widget datalatest_points- the latest bucket, trimmed to the most relevant groupspeak_points- the highest points in the selected windowtop_groups- total, latest, and peak values per groupnonzero_point_counttotal_points
Apply a dashboard definition
dashboard_id:
422 response with a human-readable error message.
CLI and MCP parity
The same workflows are also exposed through:squasher dashboards ...in the CLIsquasher dashboards templatesfor templates with readiness, andsquasher dashboards templates --preview <template_id> --time-range 24hfor a previewsquasher dashboards snapshot --refreshfor a forced dashboard snapshotsquasher dashboards inspect-queryfor operator-friendly widget breakdowns- the hosted MCP
searchandexecuteCode Mode tools for dashboard list, template, query, inspect, and apply operations
Agent handoff
Use dashboard APIs when an agent needs a repeatable query or a versioned dashboard definition:dashboards.list, dashboards.listTemplates, dashboards.previewTemplate, dashboards.executeQuery, dashboards.inspectQuery, or dashboards.apply.