Skip to content

Reference / Refresh

get_source_config

Read back a dashboard's stored refresh manifest verbatim. Parameters, return shape, the not-refreshable state, errors and scope.

Reads back the stored refresh manifest that drives scheduled refresh, exactly as stored: manifest_version, connection, schedule, the SQL, dimensions, measures, any format and derived fields, and for a row-level manifest the schema and data block.

Read-only. To change the manifest, edit the spec and republish it through publish_dashboard. Passing an updated source_config is not a second way to do it: that argument's own schema says NOT AVAILABLE, because it was only ever accepted beside a body and publishing raw bytes is refused. A dashboard that is not yet spec-backed goes through derive_dashboard_spec first.

Behaviour hints for clients: read-only, not open-world.

Parameters

ParameterTypeRequiredNotes
slugstringyesCanonical slug of the dashboard whose manifest to read.
workspacestringnoWorkspace slug.

Returns

The pretty-printed manifest, then a JSON block:

Refresh manifest for "revenue-overview" (frequency: daily):
Connection: Analytics Postgres [7a1e...]
{
  "manifest_version": 3,
  "connection": "7a1e...",
  "schedule": "daily",
  "cube_sql": "select ..."
}

BEGIN_JSON
{"slug":"revenue-overview","dashboard_id":"...","is_refreshable":true,"connection":"7a1e...","connection_label":"Analytics Postgres","frequency":"daily","source_config":{}}
END_JSON

A dashboard with no manifest is a success, not an error:

"<slug>" has no refresh manifest - it is not a refreshable dashboard. Republish it as a Dashies spec declaring its datasets and a schedule, and the server compiles the manifest.

Errors

The shared slug rules, plus:

ConditionText
The read failedsource_config lookup failed: <err>
No such dashboardNo dashboard named "<slug>" in that workspace.

Both refusals name the workspace rather than an account. See Scope.

Scope

Any member of the workspace may read the manifest of its dashboards.

Check it worked

Compare the connection in the manifest against the connection you intended. This is the fastest way to catch the scope trap: a dashboard whose manifest names a connection created in a different workspace publishes fine and can never refresh, and the manifest is where that mismatch is visible.