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
| Parameter | Type | Required | Notes |
|---|---|---|---|
slug | string | yes | Canonical slug of the dashboard whose manifest to read. |
workspace | string | no | Workspace 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:
| Condition | Text |
|---|---|
| The read failed | source_config lookup failed: <err> |
| No such dashboard | No 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.