Prebuilt dashboards return no widgets via API
@BYK is already working on this.
Since Aug 6, 2026.
- Dominant language
- Python
- Stars
- 44.8k
- Forks
- 4.9k
- Avg merge
- 21h 23m
- Merged PRs (30d)
- 607
Description
Prebuilt ("Sentry built") dashboards do not include widget definitions in the API response. The dashboard and widget configurations are stored in the frontend TypeScript configs (static/app/views/dashboards/utils/prebuiltConfigs/) and are never serialized to the API — the backend only stores metadata (title, prebuilt_id, starred status, etc.).
This means any API consumer — such as a CLI or MCP tool — receives an empty widget list for prebuilt dashboards, making them effectively invisible outside the browser UI.
Current behavior
GET /api/0/organizations/{org}/dashboards/{id}/ for a prebuilt dashboard returns the dashboard with widgets: []. The backend comment in organization_dashboards.py acknowledges this explicitly:
Prebuilt dashboards store minimal fields in the database. The actual dashboard and widget settings are coded in the frontend and we rely on matching
prebuilt_idto populate the dashboard and widget display.
Gap
- Any API consumer trying to read or render prebuilt dashboard widgets gets nothing
- Prebuilt dashboards cover common insight areas (Backend Overview, Web Vitals, HTTP, AI Agents, MCP, etc.) — these are exactly the dashboards non-browser consumers would want to query
- The existing
prebuilt_idfield provides a stable key that could be used to return the canonical widget configs server-side
Options
- Serialize widget configs server-side — move prebuilt widget definitions to the backend and return them in API responses when
prebuilt_idis set (preferred; single source of truth) - Add a separate endpoint —
GET /api/0/organizations/{org}/dashboards/prebuilt/{prebuilt_id}/that returns the full widget config - Document the limitation — update API docs to note that prebuilt dashboards return no widgets (minimal fix, doesn't unblock API consumers)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.