Hi,
We're building an automated data quality testing framework for AI/BI (Lakeview) dashboards. Our goal is to validate that dashboard widgets display correct data without using UI automation (Selenium/Playwright don't work reliably due to React dynamic DOM and Canvas rendering).
What we've tried so far:
- GET /api/2.0/lakeview/dashboards/{dashboard_id} Returns the dashboard definition (serialized_dashboard JSON with datasets, queries, widgets, measures). This is metadata only — no computed data.
- GET /api/2.0/workspace/export?path=/path/to/dashboard.lvdash.json Returns the same .lvdash.json definition file. Again, no data.
- GET /api/2.0/lakeview/dashboards/{dashboard_id}/published Returns published dashboard metadata (warehouse ID, publish time). No computed data.
- SQL Statement Execution API (POST /api/2.0/sql/statements) We extract queries from the dashboard definition and execute them ourselves. This works, but we're reconstructing what the dashboard does rather than reading what the dashboard actually renders.
- Jobs API (views_to_export=DASHBOARDS) Requires a job run with a dashboard task. Not applicable to standalone AI/BI dashboards.
Our current approach:
- Extract base queries from datasets[].queryLines[] in the dashboard definition
- Resolve MEASURE() references from columns[] definitions
- Apply filters as WHERE clauses (same way Lakeview does internally)
- Execute via databricks-sql-connector on the same SQL Warehouse
- Compare results against independently written expected queries
Our question:
Is there any API endpoint (current or planned) that returns the actual computed/rendered data from a Lakeview dashboard widget — i.e., the exact result set that the dashboard displays to the user after applying filters?
For example, something like:
GET /api/2.0/lakeview/dashboards/{id}/widgets/{widget_id}/data?filters=...
Or is extracting the query from the definition and executing it ourselves the recommended approach for programmatic data validation of AI/BI dashboards
Thanks in advance!