sazabi dashboards
Command reference for sazabi dashboards.
sazabi dashboards — Author, render, and manage project dashboards written as MDX. Subcommands: list, get, validate, create, update, render, delete.
sazabi dashboards
Author, render, and manage project dashboards written as MDX
sazabi dashboards <subcommand>sazabi dashboards create --file dashboard.mdx # Create from MDX
sazabi dashboards render <dashboard-id> --last 1h # Draw it with live data
sazabi dashboards update <dashboard-id> --file dashboard.mdx # Publish edits
sazabi dashboards get <dashboard-id> --out dashboard.mdx # Save an editable copysazabi dashboards list
List the project's dashboards
sazabi dashboards list [options]| Flag | Type | Required | Description |
|---|---|---|---|
--token | string | No | Override token |
--api-base-url | string | No | Override API base URL |
--json | boolean | No | Output as JSON |
--project-id | string | No | Override active project ID |
--search | string | No | Search titles and descriptions |
--limit | string | No | Page size, 1-100 (default 50) |
--cursor | string | No | Cursor from a previous page |
sazabi dashboards list # List dashboards
sazabi dashboards list --search checkout --json # Search as JSONsazabi dashboards get
Show a dashboard's source and metadata, or save an editable copy
sazabi dashboards get <dashboard-id> [options]| Flag | Type | Required | Description |
|---|---|---|---|
--token | string | No | Override token |
--api-base-url | string | No | Override API base URL |
--json | boolean | No | Output as JSON |
--project-id | string | No | Override active project ID |
--out | string | No | Write the MDX (with its edit base) and its static files here; never overwrites |
sazabi dashboards get <dashboard-id> --json # Source, metadata, and file descriptors
sazabi dashboards get <dashboard-id> --out dashboard.mdx # Save an editable copysazabi dashboards validate
Check an MDX file without saving or running queries
Optional preflight: create and update always validate. Checks MDX syntax, layout, bindings, static files, and query shape; never runs queries.
A dashboard holds at most 40 charts, tables, and metrics and at most 16 distinct queries; components with an identical query count once, so a metric and its chart can share one.
sazabi dashboards validate [options]| Flag | Type | Required | Description |
|---|---|---|---|
--token | string | No | Override token |
--api-base-url | string | No | Override API base URL |
--json | boolean | No | Output as JSON |
--project-id | string | No | Override active project ID |
--file | string | No | Dashboard .mdx file; static files it names are read beside it |
--schema | boolean | No | Print the MDX component, artifact, and query contract |
--example | string | No | Print an example: live, static, or static-file |
sazabi dashboards validate --file dashboard.mdx # Preflight a file
sazabi dashboards validate --schema # Print the authoring contract
sazabi dashboards validate --example live > dashboard.mdx # Start from an examplesazabi dashboards create
Create a dashboard from an MDX file or a dashboard revision
--from-dashboard with --revision creates an independent customer copy with immutable source provenance. Future product updates never overwrite it. Get the copy with --out before editing.
Reads the MDX file and every static file its components name with path="..." (relative to the MDX file, never outside its directory). The dashboard is visible in the project once created.
On success the file's DashboardMeta gains an editBase naming the new dashboard and revision, so the next update targets it. The file is only rewritten if it did not change during the request.
A dashboard holds at most 40 charts, tables, and metrics and at most 16 distinct queries; components with an identical query count once, so a metric and its chart can share one.
sazabi dashboards create [options]| Flag | Type | Required | Description |
|---|---|---|---|
--token | string | No | Override token |
--api-base-url | string | No | Override API base URL |
--json | boolean | No | Output as JSON |
--project-id | string | No | Override active project ID |
--file | string | No | Dashboard .mdx file; static files it names are read beside it |
--schema | boolean | No | Print the MDX component, artifact, and query contract |
--example | string | No | Print an example: live, static, or static-file |
--from-template | string | No | Template key from dashboards list --json |
--template-version | string | No | Exact template version to copy |
--title | string | No | Template copy title; defaults to the selected version's title |
--last | string | No | Template copy default time range, e.g. 1h |
--from-dashboard | string | No | Dashboard ID to copy instead of --file |
--revision | string | No | Exact dashboard revision to copy; requires --from-dashboard |
sazabi dashboards create --from-template log-volume --template-version 1 --title 'My logs' --last 24h --json
sazabi dashboards create --from-dashboard <dashboard-id> --revision 1 --json # Copy an exact dashboard revision
sazabi dashboards create --file dashboard.mdx --json # Create and print the write resultsazabi dashboards update
Publish an edited MDX file as the dashboard's next revision
The file's DashboardMeta editBase names the revision you edited; if the dashboard moved on since, nothing is saved and you reconcile from a fresh 'get --out' copy. On success the edit base is refreshed in the file.
sazabi dashboards update <dashboard-id> [options]| Flag | Type | Required | Description |
|---|---|---|---|
--token | string | No | Override token |
--api-base-url | string | No | Override API base URL |
--json | boolean | No | Output as JSON |
--project-id | string | No | Override active project ID |
--file | string | No | Dashboard .mdx file; static files it names are read beside it |
--schema | boolean | No | Print the MDX component, artifact, and query contract |
--example | string | No | Print an example: live, static, or static-file |
sazabi dashboards update <dashboard-id> --file dashboard.mdx # Publish the next revisionsazabi dashboards render
Draw a saved dashboard with live data, or print it as JSON
Exits non-zero when any panel is rejected or fails; --json still prints the whole result on stdout, and each such entry in components carries error.code and error.message. Empty panels are not failures.
sazabi dashboards render <dashboard-id> [options]| Flag | Type | Required | Description |
|---|---|---|---|
--token | string | No | Override token |
--api-base-url | string | No | Override API base URL |
--json | boolean | No | Output as JSON |
--project-id | string | No | Override active project ID |
--last | string | No | Relative window, e.g. 1h or 7d (default: the dashboard's) |
--from | string | No | Absolute window start (ISO-8601) |
--to | string | No | Absolute window end (ISO-8601) |
--components | string | No | Comma-separated component IDs to resolve (default: all) |
sazabi dashboards render <dashboard-id> --last 1h # Draw the last hour
sazabi dashboards render <dashboard-id> --json # Populated document, per-panel outcomes, and each panel's data sourcesazabi dashboards delete
Delete a dashboard
sazabi dashboards delete <dashboard-id> [options]| Flag | Type | Required | Description |
|---|---|---|---|
--token | string | No | Override token |
--api-base-url | string | No | Override API base URL |
--json | boolean | No | Output as JSON |
--project-id | string | No | Override active project ID |
sazabi dashboards delete <dashboard-id> --json # Delete the current revision