---
title: "ObserveSpec schema"
description: "ObserveSpec v0: one SlashObserve dashboard. Absent fields mean the default."
---

> Documentation Index
> Fetch the complete documentation index at: https://slashobserve.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ObserveSpec schema

## Fields

| Field | Type | Description |
| --- | --- | --- |
| `specVersion` (required) | `"0"` |   |
| `title` (required) | `string` |   |
| `description` | `string` |   |
| `tags` | array of `string` | At most 20 items. |
| `time` (required) | `timeRange` |   |
| `refresh` | `string` | Auto-refresh interval such as 30s, 1m, 1h or 1d. |
| `timePicker` | `object` | What the time picker offers: hidden removes it, refreshIntervals replaces the auto-refresh choices and quickRanges the preset ranges. A refresh that is not in refreshIntervals is still allowed. |
| `liveNow` | `boolean` | Refresh the dashboard every few seconds until a refresh interval is chosen, as Grafana's live now redraws time charts continuously. |
| `timezone` | `string` | browser, utc or an IANA zone such as Asia/Kolkata. Relative times (now/d, now-1d) resolve in this zone. |
| `weekStart` | `"monday"`, `"sunday"`, `"saturday"` | The first day of the week for now/w. Absent means monday. |
| `fiscalYearStartMonth` | `integer` | The month the fiscal year starts in for now/fy and now/fQ, 0 (January) to 11 (December). Absent means 0. Between 0 and 11. |
| `nowDelay` | `string` | How far behind the real time now is for every relative time, such as 30s or 1m. |
| `cursorSync` | `"off"`, `"crosshair"`, `"tooltip"` | How hovering one time chart shows on the others: off, crosshair (the hovered time is marked on every time chart) or tooltip (their tooltips open too). Grafana's graphTooltip 0, 1 and 2. |
| `variables` | array of `variable` | At most 20 items. |
| `links` | array of `dashboardLink` | At most 20 items. |
| `panels` (required) | array of `panel` | At most 200 panels in total, row children included; ids are unique across all of them. At most 200 items. |

## Variable types

- [`query`](/docs/reference/observespec/variables/query/)
- [`custom`](/docs/reference/observespec/variables/custom/)
- [`constant`](/docs/reference/observespec/variables/constant/)
- [`interval`](/docs/reference/observespec/variables/interval/)
- [`textbox`](/docs/reference/observespec/variables/textbox/)
- [`datasource`](/docs/reference/observespec/variables/datasource/)
- [`adhoc`](/docs/reference/observespec/variables/adhoc/)
- [`groupby`](/docs/reference/observespec/variables/groupby/)

## Panel types

- [`timeseries`](/docs/reference/observespec/panels/timeseries/)
- [`stat`](/docs/reference/observespec/panels/stat/)
- [`gauge`](/docs/reference/observespec/panels/gauge/)
- [`bargauge`](/docs/reference/observespec/panels/bargauge/)
- [`table`](/docs/reference/observespec/panels/table/)
- [`piechart`](/docs/reference/observespec/panels/piechart/)
- [`heatmap`](/docs/reference/observespec/panels/heatmap/)
- [`histogram`](/docs/reference/observespec/panels/histogram/)
- [`state-timeline`](/docs/reference/observespec/panels/state-timeline/)
- [`logs`](/docs/reference/observespec/panels/logs/)
- [`barchart`](/docs/reference/observespec/panels/barchart/)
- [`status-history`](/docs/reference/observespec/panels/status-history/)
- [`trend`](/docs/reference/observespec/panels/trend/)
- [`xychart`](/docs/reference/observespec/panels/xychart/)
- [`candlestick`](/docs/reference/observespec/panels/candlestick/)
- [`nodeGraph`](/docs/reference/observespec/panels/nodegraph/)
- [`traces`](/docs/reference/observespec/panels/traces/)
- [`flamegraph`](/docs/reference/observespec/panels/flamegraph/)
- [`geomap`](/docs/reference/observespec/panels/geomap/)
- [`canvas`](/docs/reference/observespec/panels/canvas/)
- [`alertlist`](/docs/reference/observespec/panels/alertlist/)
- [`text`](/docs/reference/observespec/panels/text/)
- [`placeholder`](/docs/reference/observespec/panels/placeholder/)
- [`row`](/docs/reference/observespec/panels/row/)
- [`dashlist`](/docs/reference/observespec/panels/dashlist/)
- [`news`](/docs/reference/observespec/panels/news/)

The JSON Schema is published at [`/schemas/observespec.v0.json`](/schemas/observespec.v0.json).

Generated from [`spec/schema/observespec.v0.json`](https://github.com/slashobserve/slashobserve/blob/bac0fe39/spec/schema/observespec.v0.json) at `bac0fe39`. [Report a problem](https://github.com/slashobserve/slashobserve/issues/new).
