Skip to content

get_refresh_status

Read a dashboard's refresh state and its last twenty runs. Parameters, return shape, the non-refreshable state, errors and scope.

Reads a dashboard's refresh state: whether it is refreshable at all, its schedule, its status, when it runs next, the last successful run and last attempt, the consecutive-failure count, and the most recent 20 runs with their row counts, durations and errors.

This is the read side of scheduled refresh. It answers "is it refreshing on schedule", "when does it run next", and "why did the last run fail". It does not trigger a refresh and does not change the schedule.

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

Parameters

ParameterTypeRequiredNotes
slugstringyesCanonical slug of the dashboard to inspect.
workspacestringnoWorkspace slug.

Returns

Refresh status for "revenue-overview":
- Refreshable: yes
- Connection: Analytics Postgres [7a1e...]
- Schedule: daily at 07:00 America/Los_Angeles
- Status: active
- Next refresh: 2026-07-31T14:00:00Z
- Last successful run: 2026-07-30T14:00:03Z
- Last attempt: 2026-07-30T14:00:03Z
- Consecutive failures: 0

Recent runs (newest first, up to 20):
1. 2026-07-30T14:00:00Z -> 2026-07-30T14:00:03Z - success - 96 rows - 3120 ms

BEGIN_JSON
{"slug":"revenue-overview","is_refreshable":true,"run_count":1,"runs":[]}
END_JSON

The Connection: line takes one of four forms: self (Dashies' own no-PII metrics), <label> [<id>], [<id>], or unknown.

A dashboard with no runs yet reports No refresh runs recorded yet. The JSON block always carries run_count, so an empty history is distinguishable from a failed read.

A dashboard that is not set up to refresh reports:

- Refreshable: no (no connected data source)
This dashboard is not set up to refresh. Republish it with a source_config refresh manifest via your AI tool to put it on a schedule.

Last attempt and last successful run are different fields

When they diverge, the dashboard is failing: the cron is still running on schedule and the runs are not succeeding. Read Consecutive failures next, since the retry backoff widens with it.

Errors

The shared slug rules, plus:

ConditionText
The read failedrefresh status lookup failed: <err>
No such dashboardNo dashboard named "<slug>" in your account.

That refusal says in your account even for a workspace target

The lookup itself is correct and membership-gated. Only the wording is personal. A workspace dashboard that genuinely does not exist, and one you cannot see, produce the same sentence.

Scope

Workspace-capable. Any member of the workspace may read the status of its dashboards.

Check it worked

After arming a schedule, confirm Next refresh is populated and in the future. After the first run lands, confirm Last successful run matches it and Consecutive failures is 0. A Next refresh that never moves is the signal that the cadence never re-anchored.

Last updated 2026-08-04