Skip to main content
The dashboard tools give you read access to every dashboard page in Soria. Use them to discover what pages exist, inspect their configuration, and pull the underlying data rows — with optional filters that recalculate all downstream metrics on the fly.

list_dashboard_pages

Returns every dashboard page available in your environment, including its internal identifier, display title, and URL path.

Parameters

string
Scope results to a specific workspace (e.g., ws_test_pipeline_58d28fca). Omit to return production pages only.

Returns

A list of pages. Each entry includes:
  • node_id — unique identifier used by get_dashboard_page and get_dashboard_data
  • title — human-readable page name
  • path — URL path within the Soria dashboard

Example


get_dashboard_page

Returns configuration and metadata for a single dashboard page. Use this to understand what model backs the page, what chart type it uses, and any descriptive context before querying data.

Parameters

string
required
The page identifier. Get this from list_dashboard_pages.
string
Scope to a specific workspace. Omit for production.

Returns

  • title — page display name
  • model name — the underlying data model powering this page
  • path — URL path
  • description — subtitle or descriptive text, if configured
  • chart type — visualization type (e.g., bar, line)
  • model kind — category of the model

Example


get_dashboard_data

Queries the materialized data behind a dashboard page and returns column names and rows. You can pass filters to inject a WHERE clause into the source CTE — all downstream metrics are recalculated on the filtered subset.

Parameters

string
required
The page identifier. Get this from list_dashboard_pages.
number
default:"100"
Maximum number of rows to return.
string
A JSON string specifying column filters. Format: {"column": ["val1", "val2"]}. Each key is a column name; the value is a list of accepted values. Filters inject a WHERE clause into the source CTE and recalculate all downstream metrics on the filtered subset.
string
Scope to a specific workspace. Omit for production.

Filters format

Pass filters as a JSON string where each key is a column name and each value is a list of strings to match:
This injects a WHERE clause on the source CTE, so any aggregations or derived metrics in the model are computed on the filtered rows — not post-filtered after the fact.
Filters must be a valid JSON object. An array or any other type is rejected. Provide at least one value per column key.

Returns

Column names and up to limit data rows from the page’s underlying model. The response also includes the total row count and any active filters.

Examples


Finding a node_id

All three tools use node_id to identify a page. To find the right identifier:
  1. Call list_dashboard_pages() to get all available pages.
  2. Locate the page by its title or path.
  3. Use the node_id value in subsequent calls to get_dashboard_page or get_dashboard_data.