# Dashboard spec

> A dashboard spec is the complete JSON document that describes a dashboard: its theme, pages, layout, and every panel's data binding and visual configuration.

Canonical: https://dvt.dev/glossary/dashboard-spec/

A dashboard spec is the complete JSON document that describes a dashboard: its theme, its pages and layout, and every panel's data binding and visual configuration.

The spec is the unit everything else operates on. It is what gets stored in each [revision](https://dvt.dev/glossary/dashboard-version-history), what a reviewer diffs, and what an agent authors. If something affects how a dashboard looks or what data it shows, it is a property in the spec.

## How it works in dvt

A dvt spec has a small number of top-level parts. `theme` holds the [design tokens](https://dvt.dev/glossary/design-tokens). `layout` defines the grid (24 columns by default). `panels` and `pages` hold the [panels](https://dvt.dev/glossary/dashboard-panel) themselves. A panel's `data` names its source and query, and its `spec` carries the chart's visual encoding:

```json
{ "theme": { "tokens": { "primitive": {}, "semantic": {} } },
  "layout": { "columns": 24, "rowHeight": 30 },
  "panels": [ { "id": "revenue-by-month", "title": "Revenue by month", "type": "chart:bar",
                "spec": { "series": [{ "type": "bar", "barMaxWidth": 48 }] } } ] }
```

Every spec is checked against a published JSON Schema before it saves, so a typo in a chart type or a missing required field is caught at write time, not discovered by a viewer. The full format is documented in the [spec reference](https://dvt.dev/spec), and agents can load the [spec-authoring skill](https://dvt.dev/dvt-spec-authoring-skill.md) to learn it in one read.

## Related terms

- [Panel (dashboard element)](https://dvt.dev/glossary/dashboard-panel)
- [Spec validation](https://dvt.dev/glossary/spec-validation)
- [Design tokens and themes](https://dvt.dev/glossary/design-tokens)
- [Dashboards as code](https://dvt.dev/glossary/dashboards-as-code)
- [Dashboards as code, the dvt implementation](https://dvt.dev/solutions/dashboards-as-code)
