Sazabi
CLI

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 copy

sazabi dashboards list

List the project's dashboards

sazabi dashboards list [options]
FlagTypeRequiredDescription
--tokenstringNoOverride token
--api-base-urlstringNoOverride API base URL
--jsonbooleanNoOutput as JSON
--project-idstringNoOverride active project ID
--searchstringNoSearch titles and descriptions
--limitstringNoPage size, 1-100 (default 50)
--cursorstringNoCursor from a previous page
sazabi dashboards list  # List dashboards
sazabi dashboards list --search checkout --json  # Search as JSON

sazabi dashboards get

Show a dashboard's source and metadata, or save an editable copy

sazabi dashboards get <dashboard-id> [options]
FlagTypeRequiredDescription
--tokenstringNoOverride token
--api-base-urlstringNoOverride API base URL
--jsonbooleanNoOutput as JSON
--project-idstringNoOverride active project ID
--outstringNoWrite 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 copy

sazabi 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]
FlagTypeRequiredDescription
--tokenstringNoOverride token
--api-base-urlstringNoOverride API base URL
--jsonbooleanNoOutput as JSON
--project-idstringNoOverride active project ID
--filestringNoDashboard .mdx file; static files it names are read beside it
--schemabooleanNoPrint the MDX component, artifact, and query contract
--examplestringNoPrint 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 example

sazabi 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]
FlagTypeRequiredDescription
--tokenstringNoOverride token
--api-base-urlstringNoOverride API base URL
--jsonbooleanNoOutput as JSON
--project-idstringNoOverride active project ID
--filestringNoDashboard .mdx file; static files it names are read beside it
--schemabooleanNoPrint the MDX component, artifact, and query contract
--examplestringNoPrint an example: live, static, or static-file
--from-templatestringNoTemplate key from dashboards list --json
--template-versionstringNoExact template version to copy
--titlestringNoTemplate copy title; defaults to the selected version's title
--laststringNoTemplate copy default time range, e.g. 1h
--from-dashboardstringNoDashboard ID to copy instead of --file
--revisionstringNoExact 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 result

sazabi 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]
FlagTypeRequiredDescription
--tokenstringNoOverride token
--api-base-urlstringNoOverride API base URL
--jsonbooleanNoOutput as JSON
--project-idstringNoOverride active project ID
--filestringNoDashboard .mdx file; static files it names are read beside it
--schemabooleanNoPrint the MDX component, artifact, and query contract
--examplestringNoPrint an example: live, static, or static-file
sazabi dashboards update <dashboard-id> --file dashboard.mdx  # Publish the next revision

sazabi 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]
FlagTypeRequiredDescription
--tokenstringNoOverride token
--api-base-urlstringNoOverride API base URL
--jsonbooleanNoOutput as JSON
--project-idstringNoOverride active project ID
--laststringNoRelative window, e.g. 1h or 7d (default: the dashboard's)
--fromstringNoAbsolute window start (ISO-8601)
--tostringNoAbsolute window end (ISO-8601)
--componentsstringNoComma-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 source

sazabi dashboards delete

Delete a dashboard

sazabi dashboards delete <dashboard-id> [options]
FlagTypeRequiredDescription
--tokenstringNoOverride token
--api-base-urlstringNoOverride API base URL
--jsonbooleanNoOutput as JSON
--project-idstringNoOverride active project ID
sazabi dashboards delete <dashboard-id> --json  # Delete the current revision