#The ChatDisplayMessage is a user-visible chat message for rendering in the UI object
ChatDisplayMessage is a user-visible chat message for rendering in the UI
id
sender
"user" or "assistant"
text
timestamp
Endpoints for managing analytics dashboards with flexible, config-driven widgets. Each widget defines its own data source and visualization.
ChatDisplayMessage is a user-visible chat message for rendering in the UI
id
sender
"user" or "assistant"
text
timestamp
/v1/analytics/dashboardsRequires the `analytics:read` scope.
linkId
Restricts the result to the dashboard scoped to this link. Takes precedence over scope when both are set.
scope
Restricts the result by scope. Unset returns every dashboard.
DASHBOARD_SCOPE_UNSPECIFIEDEvery dashboard in the workspace, link-scoped or not.
DASHBOARD_SCOPE_WORKSPACEOnly the workspace-wide dashboard, the one with no link.
DASHBOARD_SCOPE_LINKOnly dashboards tied to a link.
pageSize
Maximum number to return. Defaults to 100, capped at 1000.
pageToken
Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them.
cursor
Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins.
Everything worked as expected.
dashboards
nextPageToken
Cursor to continue listing dashboards. Empty on the last page.
totalCount
How many records exist in total, so a client can tell a complete answer from a page of one. A local-first client reads absence from this list as deletion, and may only do so when the count it was given matches what it received: without that, one page would look like the whole model and everything beyond it would be removed locally.
All endpoints may return an unexpected error payload when a request cannot be processed.
error
Wrapped error response.
/v1/analytics/dashboards/{dashboardId}/widgets/{widgetId}/summaryReturns the last generated analysis, and whether the underlying values have changed since. Requires the `analytics:read` scope.
dashboardId
widgetId
/v1/analytics/dashboardsRequires the `analytics:write` scope.
Idempotency-Key
Makes retrying this request safe. See components.parameters.IdempotencyKey.
config
DashboardConfig is the structured configuration for a dashboard
id
Client-supplied dashboard id. Generated server-side when empty.
linkId
Link to scope this dashboard to. Empty creates the workspace-wide dashboard.
name
Display name. Defaults to "Default Dashboard" when empty.
useDefaultWidgets
Fill the dashboard with a starter set instead of leaving it empty, for a dashboard made in one step rather than agreed in a conversation. Without link_id it is the workspace set (scans over time, top links, geography, technology and more). With link_id it is the link set: scans over time, geography, technology, peak hours, and new versus returning visitors, which is everything any link records. The service applies it to any link; whether it suits one is the caller's judgement, since a workflow that collects answers deserves widgets for them. Ignored when config is set, and hidden from the assistant, which agrees its widgets with the user and would otherwise stack them on top of these.
/v1/analytics/dashboards/{dashboardId}/widgets/{widgetId}/summaryAnalyses the widget's current values and stores the result. Consumes platform credits, so it runs only when requested. Requires the `analytics:write` scope.
dashboardId
Dashboard holding the widget
widgetId
Widget whose values should be analysed
Idempotency-Key
Makes retrying this request safe. See components.parameters.IdempotencyKey.
force
Regenerate even when the stored result is still current
/v1/analytics/dashboards/{id}Requires the `analytics:write` scope.
/v1/analytics/dashboards/{id}Delete a dashboard and its associated assistant conversation. Requires the `analytics:write` scope.