Sharing views

August 25, 2026 ยท View on GitHub

Every FlexViz view is fully described by its spec: figures, traces, viewport, selections, cross-filter mode, hover mode, and dashboard layout. Because the server stores no interaction state, sharing a view means sharing the spec.

Share URLs

The toolbar's share button encodes the complete current spec (gzip + base64url) into a single URL. Anyone who opens it against the same server sees the exact live view: same zoom, same selections, same panel arrangement, still fully interactive. The server stores nothing per share; the URL is the state.

Rearranging panels in the dashboard grid travels the same way: drag, resize, lock the layout, then share.

Export and import

The toolbar can also export the spec as a JSON file and import one, which is the same round-trip through a file instead of a URL.

Programmatically, specs save and load the same way:

dash.save_spec("dashboard.json", source_name="readings")

from flexviz import Dashboard
spec = Dashboard.load_spec("dashboard.json")

Figure.save_spec / Figure.load_spec / Figure.from_spec do the same for a single figure. A loaded spec keeps its uids, so restoring it reconnects to the same traces.

!!! warning "Specs are versioned, not stable" Pre-1.0, shared URLs and exported specs are only guaranteed to round-trip within the same minor version of FlexViz. Treat them as a way to share a view, not as a long-term storage format.