Dashboards
List dashboards
Returns all dashboards for a workspace.
Needs a token with viewDashboards on the workspace.
query Parameters
workspaceId^wsp_[A-Za-z0-9_-]{2… · requiredpageThe page to return, counted from 1. A page below 1 reads page 1; one past the last returns no items.
limitItems per page, from 1 to 100. A larger value is clamped to 100, a smaller one to 1.
List dashboards › Responses
Success
Create dashboard
Creates a new dashboard.
Needs a token with createDashboard on the workspace.
Headers
Idempotency-KeyA unique value, at most 255 printable ASCII characters, such as a UUID, that makes retrying this create safe. A retry with the same key and the same request within 24 hours answers the first response again, marked Idempotent-Replayed: true, and creates nothing; the same key with another request answers 422 idempotency_key_reused. A key is kept only for a create that succeeded. Without it, every request creates.
Create dashboard › Request Body
workspaceId^wsp_[A-Za-z0-9_-]{2… · requiredtitleisDefaultdateIntervaldateBinstartDateendDateCreate dashboard › Responses
Created
id^dsh_[A-Za-z0-9_-]{2… · requiredtitleCreate dashboard widget
Adds a widget to a dashboard: a saved cost report drawn as a chart, a table or a KPI, or a text widget whose words are rendered as markdown emphasis without HTML. At most 50 per dashboard.
Needs a token with viewCostReports and updateDashboard on the workspace.
path Parameters
dashboardId^dsh_[A-Za-z0-9_-]{2… · requiredquery Parameters
workspaceId^wsp_[A-Za-z0-9_-]{2… · requiredHeaders
Idempotency-KeyA unique value, at most 255 printable ASCII characters, such as a UUID, that makes retrying this create safe. A retry with the same key and the same request within 24 hours answers the first response again, marked Idempotent-Replayed: true, and creates nothing; the same key with another request answers 422 idempotency_key_reused. A key is kept only for a create that succeeded. Without it, every request creates.
Create dashboard widget › Request Body
titleCreate dashboard widget › Responses
Created
id^wdg_[A-Za-z0-9_-]{2… · requiredtitleGet dashboard
Returns a specific dashboard with widgets.
Needs a token with viewDashboards on the workspace.
path Parameters
dashboardId^dsh_[A-Za-z0-9_-]{2… · requiredquery Parameters
workspaceId^wsp_[A-Za-z0-9_-]{2… · requiredGet dashboard › Responses
Success
id^dsh_[A-Za-z0-9_-]{2… · requiredtitleisDefaultdateIntervaldateBincreatedAtstartDateendDateUpdate dashboard
Updates a dashboard.
Needs a token with updateDashboard on the workspace.
path Parameters
dashboardId^dsh_[A-Za-z0-9_-]{2… · requiredquery Parameters
workspaceId^wsp_[A-Za-z0-9_-]{2… · requiredHeaders
If-MatchApplies the write only while the resource still has this ETag, and answers 412 precondition_failed otherwise. Without it, the last write wins.
Update dashboard › Request Body
titlestartDateendDateUpdate dashboard › Responses
Success
id^dsh_[A-Za-z0-9_-]{2… · requiredtitleisDefaultdateIntervaldateBincreatedAtstartDateendDateDelete dashboard
Deletes a dashboard and all its widgets.
Needs a token with deleteDashboard on the workspace.
path Parameters
dashboardId^dsh_[A-Za-z0-9_-]{2… · requiredquery Parameters
workspaceId^wsp_[A-Za-z0-9_-]{2… · requiredHeaders
If-MatchApplies the write only while the resource still has this ETag, and answers 412 precondition_failed otherwise. Without it, the last write wins.
Delete dashboard › Responses
No Content
Get dashboard widget
Returns one widget of a dashboard.
Needs a token with viewDashboards on the workspace.
path Parameters
dashboardId^dsh_[A-Za-z0-9_-]{2… · requiredwidgetId^wdg_[A-Za-z0-9_-]{2… · requiredquery Parameters
workspaceId^wsp_[A-Za-z0-9_-]{2… · requiredGet dashboard widget › Responses
Success
id^wdg_[A-Za-z0-9_-]{2… · requiredtypetitlecontentUpdate dashboard widget
Changes the fields given. A report widget's display and a text widget's words are its own; the type and the report stay, so a different report is a new widget. An update that another request's change or delete of the widget overtook answers 409 concurrency_conflict and changes nothing.
Needs a token with updateDashboard on the workspace.
path Parameters
dashboardId^dsh_[A-Za-z0-9_-]{2… · requiredwidgetId^wdg_[A-Za-z0-9_-]{2… · requiredquery Parameters
workspaceId^wsp_[A-Za-z0-9_-]{2… · requiredHeaders
If-MatchApplies the write only while the resource still has this ETag, and answers 412 precondition_failed otherwise. Without it, the last write wins.
Update dashboard widget › Request Body
titlecontentUpdate dashboard widget › Responses
Success
id^wdg_[A-Za-z0-9_-]{2… · requiredtypetitlecontentDelete dashboard widget
Removes one widget from a dashboard; the report it rendered is untouched. A delete that another request's change or delete of the widget overtook answers 409 concurrency_conflict and removes nothing.
Needs a token with updateDashboard on the workspace.
path Parameters
dashboardId^dsh_[A-Za-z0-9_-]{2… · requiredwidgetId^wdg_[A-Za-z0-9_-]{2… · requiredquery Parameters
workspaceId^wsp_[A-Za-z0-9_-]{2… · requiredHeaders
If-MatchApplies the write only while the resource still has this ETag, and answers 412 precondition_failed otherwise. Without it, the last write wins.
Delete dashboard widget › Responses
No Content
Set dashboard default
Makes the dashboard the workspace's default, which the one that was default stops being, or with isDefault false clears it when it is the default, leaving the workspace without one. Repeating either changes nothing.
Needs a token with updateDashboard on the workspace.
path Parameters
dashboardId^dsh_[A-Za-z0-9_-]{2… · requiredHeaders
If-MatchApplies the write only while the resource still has this ETag, and answers 412 precondition_failed otherwise. Without it, the last write wins.
Set dashboard default › Request Body
workspaceId^wsp_[A-Za-z0-9_-]{2… · requiredisDefaultSet dashboard default › Responses
Success
id^dsh_[A-Za-z0-9_-]{2… · requiredtitleisDefaultdateIntervaldateBincreatedAtstartDateendDateSet dashboard saved filter
Attaches a saved filter of the same workspace to the dashboard, so every report widget on it is read through that filter on top of its report's own. A null savedFilterId detaches the one attached.
Needs a token with updateDashboard on the workspace.
path Parameters
dashboardId^dsh_[A-Za-z0-9_-]{2… · requiredHeaders
If-MatchApplies the write only while the resource still has this ETag, and answers 412 precondition_failed otherwise. Without it, the last write wins.
Set dashboard saved filter › Request Body
workspaceId^wsp_[A-Za-z0-9_-]{2… · requiredSet dashboard saved filter › Responses
Success
id^dsh_[A-Za-z0-9_-]{2… · requiredtitleisDefaultdateIntervaldateBincreatedAtstartDateendDate