Dashboard insights and reports
DashQ dashboards can generate an evidence-backed insight brief and a PDF report for the active governed scope. These capabilities run inside the protected dashboard session; they are not general-purpose public chat or reporting APIs.
Insights runtime
The dashboard uses:
POST /embed/dashboard/insights
The serving API also maps POST /api/dashboard-insights to the same protected handler for controlled integrations. Both require valid embed authentication through the signed session, embed header, or secure session cookie.
Request scope may include:
accountId(must match the signed session when present)dashboardIdstartDateandendDatebuildingIdsandbuildingPropertyIdsrepresentativeIdsunitTypestagesourceleaseAttributionMode
Filter values can be top-level fields or members of filters. Runtime authorization resolves them against the signed account/user context and governed property options before metrics are loaded.
Response
{
"summary": "Concise scope-aware result",
"positive": ["Evidence-backed positive movement"],
"negative": ["Evidence-backed risk or decline"],
"generatedAt": "2026-01-31T12:00:00.000Z",
"meta": {
"dashboardId": "portfolio_foundation_v1",
"dashboardTitle": "Portfolio Performance",
"targetView": "executive",
"provider": "configured-provider",
"highlightCount": 2,
"coverageWarnings": []
}
}
DashQ computes a trusted metric brief before calling the configured language provider. The model receives governed facts and produces structured phrasing; it does not select the account, properties, or arbitrary warehouse queries. An explicit no-property selection returns a no-data summary instead of falling back to the whole account.
PDF reports
The embed uses:
GET /embed/dashboard/report
The report inherits dashboard, account, user, date, and filter scope from the embed session. It supports a complete dashboard suite by default or a controlled single-dashboard/widget subset through dashboardId, suite, and widgetIds.
Report generation is backend-rendered and can take longer than interactive widget requests. The response is a PDF with a date-scoped filename.
Host integration
Most hosts should call POST /api/embed-url, render the returned URL, and allow the DashQ runtime to manage insights and reports. Do not copy signed values into a separate API request, persist the report URL, or reconstruct runtime authentication.
See Embedded experiences, the runtime API reference, and Security.