---
title: "Bulk save dashboards"
method: PUT
path: "/rest/api/v1/projects/{projectId}/dashboards/bulk"
tags: ["Dashboard API"]
---

# Bulk save dashboards

`PUT /rest/api/v1/projects/{projectId}/dashboards/bulk`

## Path parameters

- `projectId` string, uuid, required

## Request body

- DashboardStorageDTO — Dashboard storage for bulk operations
  - `dashboards` UserDashboardConfigDTO[] — List of dashboards
    - `createdAt` string, date-time — Creation timestamp
    - `description` string — Optional description
    - `id` string, uuid — Unique identifier for the dashboard
    - `isDefault` boolean — Whether this is the default dashboard
    - `modifiedAt` string, date-time — Last modification timestamp
    - `name` string, required — Dashboard name
    - `projectId` string, uuid — Project ID this dashboard belongs to
    - `sortOrder` integer — Display order in dashboard list
    - `widgets` WidgetConfigDTO[] — List of widgets in this dashboard
      - `config` JsonNode — Full template payload. Includes a `schemaVersion` discriminator describing its JSON shape; older versions are migrated transparently on read.
      - `gridsterItem` GridsterItemDTO, required — Grid position and size configuration for a widget
        - `cols` integer — Number of columns
        - `dragEnabled` boolean — Whether dragging is enabled
        - `maxItemCols` integer — Maximum number of columns
        - `maxItemRows` integer — Maximum number of rows
        - `minItemCols` integer — Minimum number of columns
        - `minItemRows` integer — Minimum number of rows
        - `resizeEnabled` boolean — Whether resizing is enabled
        - `rows` integer — Number of rows
        - `x` integer — Column position
        - `y` integer — Row position
      - `id` string — Unique identifier for the widget
      - `title` string — Widget title
      - `type` 'ACCOUNT_STATUS' | 'REAL_TIME_PNL' | 'ACCOUNT' | 'TERMINAL' | 'OPEN_INVOICES' | 'PROJECT_BALANCE' | 'FINANCIAL_OVERVIEW' | 'LOGS' | 'AUDIT_LOGS' | 'NOTES' | 'DIVIDER' | 'CLOCK' | 'WEATHER', required — Widget type
  - `syncedAt` string, date-time — Timestamp when data was synced

## Response `200`

OK

- DashboardStorageDTO — Dashboard storage for bulk operations
  - `dashboards` UserDashboardConfigDTO[] — List of dashboards
    - `createdAt` string, date-time — Creation timestamp
    - `description` string — Optional description
    - `id` string, uuid — Unique identifier for the dashboard
    - `isDefault` boolean — Whether this is the default dashboard
    - `modifiedAt` string, date-time — Last modification timestamp
    - `name` string, required — Dashboard name
    - `projectId` string, uuid — Project ID this dashboard belongs to
    - `sortOrder` integer — Display order in dashboard list
    - `widgets` WidgetConfigDTO[] — List of widgets in this dashboard
      - `config` JsonNode — Full template payload. Includes a `schemaVersion` discriminator describing its JSON shape; older versions are migrated transparently on read.
      - `gridsterItem` GridsterItemDTO, required — Grid position and size configuration for a widget
        - `cols` integer — Number of columns
        - `dragEnabled` boolean — Whether dragging is enabled
        - `maxItemCols` integer — Maximum number of columns
        - `maxItemRows` integer — Maximum number of rows
        - `minItemCols` integer — Minimum number of columns
        - `minItemRows` integer — Minimum number of rows
        - `resizeEnabled` boolean — Whether resizing is enabled
        - `rows` integer — Number of rows
        - `x` integer — Column position
        - `y` integer — Row position
      - `id` string — Unique identifier for the widget
      - `title` string — Widget title
      - `type` 'ACCOUNT_STATUS' | 'REAL_TIME_PNL' | 'ACCOUNT' | 'TERMINAL' | 'OPEN_INVOICES' | 'PROJECT_BALANCE' | 'FINANCIAL_OVERVIEW' | 'LOGS' | 'AUDIT_LOGS' | 'NOTES' | 'DIVIDER' | 'CLOCK' | 'WEATHER', required — Widget type
  - `syncedAt` string, date-time — Timestamp when data was synced

---

[API](https://skmtc.net/metacopier/apis/metacopier-api.md) · [All operations](https://skmtc.net/metacopier/apis/metacopier-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/metacopier/metacopier-api/revisions/ff1699330afa/schema)
