Skip to content

External Dashboards API: expose container + tab fields #2150

@alex-fedotyev

Description

@alex-fedotyev

Follow-up to #2015 (unified DashboardContainer with collapsible / bordered / tabbed options).

Why

The unified-group PR added three new persistent concepts to the dashboard document — containers[], per-container tabs[], and per-tile tabId — but the external API (packages/api/src/routers/external-api/v2/dashboards.ts) and its OpenAPI spec haven't been audited to confirm these round-trip correctly through create / update / get. External integrations that programmatically build dashboards currently can't take advantage of the new organization, and older automations may silently drop fields they don't understand.

Scope

  • Verify POST /dashboards and PUT /dashboards/:id accept the new schema shape (containers, tabs, containerId, tabId, collapsible, bordered).
  • Verify GET /dashboards/:id returns containers + tabs fields (not silently stripped by a transform layer).
  • Update OpenAPI spec (packages/api/openapi.json) so the DashboardContainer / DashboardContainerTab / Tile.tabId schemas are documented and generated SDKs pick them up.
  • Add an integration test: create → read → update a dashboard with a multi-tab container and assert field preservation.
  • Document any legacy type: 'section' handling (spec should note the field is accepted but stripped).

Non-goals

  • Changes to UI behavior (covered by #2015).
  • External API auth / permissioning changes.

Parent

HDX-3729 (Dashboard: Sections, groups with tabs, and panel organization).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions