---
title: "Publish dashboard"
method: POST
path: "/api/v1/deployments/{deploymentId}/workbooks/{workbookId}/publish"
tags: ["Workbooks"]
---

# Publish dashboard

`POST /api/v1/deployments/{deploymentId}/workbooks/{workbookId}/publish`

## Path parameters

- `deploymentId` number, required
- `workbookId` number, required

## Request body

- PublishDashboardInput
  - `allowEmbed` boolean, nullable
  - `config` DashboardConfigInput
    - `app` DashboardAppSourceInput
      - `entry` string, nullable
      - `files` object, nullable
      - `html` string, nullable
      - `manifest` DashboardAppManifestInput
        - `dependencies` object, nullable
        - `version` integer, nullable
    - `description` string, nullable
    - `kind` 'CLASSIC' | 'APP'
    - `layout` DashboardLayoutInput
      - `breakpoints` DashboardBreakpointsInput
        - `lg` integer, nullable
        - `md` integer, nullable
        - `sm` integer, nullable
        - `xs` integer, nullable
        - `xxs` integer, nullable
      - `cols` DashboardBreakpointColsInput
        - `lg` integer, nullable
        - `md` integer, nullable
        - `sm` integer, nullable
        - `xs` integer, nullable
        - `xxs` integer, nullable
      - `containerPadding` integer[], nullable
      - `margin` integer[], nullable
      - `rowHeight` integer, nullable
    - `settings` object, nullable
    - `theme` DashboardThemeInput
      - `backgroundColor` string, nullable
      - `controls` ControlThemeSectionInput
        - `backgroundColor` string, nullable
        - `border` ControlThemeBorderSectionInput
          - `color` string, nullable
          - `radius` string, nullable
          - `style` string, nullable
          - `width` string, nullable
        - `padding` string, nullable
        - `title` ControlThemeTitleSectionInput
          - `color` string, nullable
          - `fontFamily` string, nullable
          - `fontSize` string, nullable
          - `fontWeight` string, nullable
      - `dashboard` DashboardThemeSectionInput
        - `backgroundColor` string, nullable
        - `padding` string, nullable
      - `fontFamily` string, nullable
      - `primaryColor` string, nullable
      - `themeId` string, nullable
      - `widgets` WidgetThemeSectionInput
        - `backgroundColor` string, nullable
        - `border` WidgetThemeBorderSectionInput
          - `color` string, nullable
          - `radius` string, nullable
          - `style` string, nullable
          - `width` string, nullable
        - `margin` string, nullable
        - `padding` string, nullable
        - `text` WidgetThemeTextSectionInput
          - `codeFontFamily` string, nullable
          - `color` string, nullable
          - `fontFamily` string, nullable
          - `secondaryColor` string, nullable
        - `title` WidgetThemeTitleSectionInput
          - `color` string, nullable
          - `fontFamily` string, nullable
          - `fontSize` string, nullable
          - `fontWeight` string, nullable
    - `title` string, nullable
    - `widgets` DashboardWidgetInput[], nullable
      - `config` object, nullable
      - `id` string, required
      - `position` DashboardWidgetPositionInput, required
        - `h` integer, required
        - `w` integer, required
        - `x` integer, required
        - `y` integer, required
      - `responsiveLayouts` DashboardResponsiveLayoutsInput
        - `lg` DashboardWidgetPositionInput
          - `h` integer, required
          - `w` integer, required
          - `x` integer, required
          - `y` integer, required
        - `md` DashboardWidgetPositionInput
          - `h` integer, required
          - `w` integer, required
          - `x` integer, required
          - `y` integer, required
        - `sm` DashboardWidgetPositionInput
          - `h` integer, required
          - `w` integer, required
          - `x` integer, required
          - `y` integer, required
        - `xs` DashboardWidgetPositionInput
          - `h` integer, required
          - `w` integer, required
          - `x` integer, required
          - `y` integer, required
        - `xxs` DashboardWidgetPositionInput
          - `h` integer, required
          - `w` integer, required
          - `x` integer, required
          - `y` integer, required
      - `style` object, nullable
      - `type` 'CHART' | 'TEXT' | 'FILTER' | 'AI' | 'TIME_GRAIN' | 'PARENT' | 'SPACER' | 'DIVIDER' | 'CONTAINER', required
  - `dashboardId` integer, nullable
  - `description` string, nullable
  - `title` string, nullable
  - `workbookId` integer, required

## Response `200`

- Dashboard
  - `allowEmbed` boolean, required
  - `config` DashboardConfig, required
    - `app` DashboardAppSource
      - `entry` string, nullable
      - `files` object, nullable
      - `html` string, nullable
      - `manifest` DashboardAppManifest
        - `dependencies` object, nullable
        - `version` integer, nullable
    - `description` string, nullable
    - `kind` 'CLASSIC' | 'APP'
    - `layout` DashboardLayout
      - `breakpoints` DashboardBreakpoints
        - `lg` integer, nullable
        - `md` integer, nullable
        - `sm` integer, nullable
        - `xs` integer, nullable
        - `xxs` integer, nullable
      - `cols` DashboardBreakpointCols
        - `lg` integer, nullable
        - `md` integer, nullable
        - `sm` integer, nullable
        - `xs` integer, nullable
        - `xxs` integer, nullable
      - `containerPadding` integer[], nullable
      - `margin` integer[], nullable
      - `rowHeight` integer, nullable
    - `settings` object, nullable
    - `theme` object, nullable
    - `title` string, nullable
    - `widgets` DashboardWidget[], nullable
      - `config` object, nullable
      - `id` string, required
      - `position` DashboardWidgetPosition, required
        - `h` integer, required
        - `w` integer, required
        - `x` integer, required
        - `y` integer, required
      - `responsiveLayouts` DashboardResponsiveLayouts
        - `lg` DashboardWidgetPosition
          - `h` integer, required
          - `w` integer, required
          - `x` integer, required
          - `y` integer, required
        - `md` DashboardWidgetPosition
          - `h` integer, required
          - `w` integer, required
          - `x` integer, required
          - `y` integer, required
        - `sm` DashboardWidgetPosition
          - `h` integer, required
          - `w` integer, required
          - `x` integer, required
          - `y` integer, required
        - `xs` DashboardWidgetPosition
          - `h` integer, required
          - `w` integer, required
          - `x` integer, required
          - `y` integer, required
        - `xxs` DashboardWidgetPosition
          - `h` integer, required
          - `w` integer, required
          - `x` integer, required
          - `y` integer, required
      - `style` object, nullable
      - `type` 'CHART' | 'TEXT' | 'FILTER' | 'AI' | 'TIME_GRAIN' | 'PARENT' | 'SPACER' | 'DIVIDER' | 'CONTAINER', required
  - `createdBy` integer, nullable
  - `deploymentId` integer, required
  - `description` string, nullable
  - `fromSharedWorkspace` boolean, nullable
  - `id` integer, required
  - `publicId` string, required
  - `reportSnapshots` ReportSnapshot[], required
    - `description` string, nullable
    - `fillMissingRows` FillMissingRows
      - `excludedDimensions` string[], nullable
      - `member` string, required
    - `id` integer, required
    - `isSourceReport` boolean, nullable
    - `kind` 'vega' | 'table' | 'kpi' | 'html' | 'map' | 'sankey'
    - `meta` object, nullable
    - `name` string, nullable
    - `periodComparisons` PeriodComparison[], nullable
      - `measure` string, required
      - `offset` PeriodComparisonOffset, required
        - `amount` integer, required
        - `unit` string, required
      - `outputs` string[], nullable
      - `timeDimension` string, required
    - `preferences` ReportSnapshotPreferences
      - `columnFormats` object, nullable
    - `pythonCode` string, nullable
    - `reportId` integer, required
    - `spec` union
      - string
      - object
    - `sqlQuery` string, nullable
    - `title` string, nullable
    - `versionNumber` integer, required
  - `restrictDataDownload` boolean, nullable
  - `status` 'draft' | 'published' | 'archived', required
  - `title` string, nullable
  - `useBoardDashboards` boolean, nullable
  - `versionId` integer, required
  - `versionNumber` integer, required
  - `workbookId` integer, required

## Changes

- **2026-08-30** `3adb3c5e66ca` — 1 warning
  - added the new `sankey` enum value to the `reportSnapshots/items/kind/oneOf[#/components/schemas/ReportSnapshotDtoKind]/` response property for the response status `200`
- **2026-08-27** `97e151460143` — 1 warning, 2 info
  - added the new `PARENT` enum value to the `config/widgets/oneOf[subschema #1]/items/type` response property for the response status `200`
  - added the new `PARENT` enum value to the request property `config/oneOf[#/components/schemas/DashboardConfigInput]/widgets/oneOf[subschema #1]/items/type`
  - added the optional property `reportSnapshots/items/pythonCode` to the response with the `200` status
- **2026-08-17** `29d481391a25` — 1 breaking, 4 warning, 5 info
  - removed the enum value `TABS_CONTAINER` of the request property `config/oneOf[#/components/schemas/DashboardConfigInput]/widgets/oneOf[subschema #1]/items/type`
  - the `config/oneOf[#/components/schemas/DashboardConfigInput]/widgets/oneOf[subschema #1]/items/id` request property's maxLength was set to `128`
  - added the new `CONTAINER` enum value to the `config/widgets/oneOf[subschema #1]/items/type` response property for the response status `200`
  - added the new `DIVIDER` enum value to the `config/widgets/oneOf[subschema #1]/items/type` response property for the response status `200`
  - …6 more
- **2026-07-31** `a0c6b1d2ac96` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/cube-js/apis/cube-cloud-rest-api/changes/api/v1/deployments/:deploymentId/workbooks/:workbookId/publish/post.md)

---

[API](https://skmtc.dev/cube-js/apis/cube-cloud-rest-api.md) · [All operations](https://skmtc.dev/cube-js/apis/cube-cloud-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/cube-js/cube-cloud-rest-api/revisions/3adb3c5e66ca/schema)
