Skip to main content
POST
Create dashboard from spec

Authorizations

Authorization
string
header
required

Organization API key, generated in studio.sidenet.ai. Backend only — never in a browser.

Body

application/json
network_id
integer
required

The network (GET /v1/networks) whose copilot resolves the spec's sources and actions.

Example:

12

environment
enum<string>
required

Which environment of the network: its copilot's tool catalogue is used.

Available options:
dev,
staging,
prod
Example:

"prod"

spec
object
required

The dashboard spec: name, filters, sources, panels, views, actions — exactly the spec of a dashboard read.

timezone
string

IANA timezone for date presets (default UTC).

Example:

"Europe/Paris"

runtimeAuth
object

API key only: per-provider credentials for the test refresh, over the user's stored ones.

Response

Created and refreshed once

dashboard
object
version
object | null
spec
object | null

The version's spec: filters, sources, panels (layout: span, height, order; triggers: a stats panel's on_click, a table's row_key, cell_triggers (by column key: the cell value is a link), on_row_click, row_actions), views (what a trigger opens: kind table | stats | chart | form, title, presentation drawer | modal, context keys; a form view carries tool, fields, initial, submit_label, on_success, confirm and schema — the JSON Schema of its fields) and actions (toolbar buttons). A trigger is { view, context }; context values that are templates ("{{row.id}}", "{{row}}", "{{stat.key}}", "{{stat.value}}", "{{filters.}}") are resolved by the page before it calls the view.

filters
object
data
object | null

The latest refresh, or null when the dashboard was never refreshed.