---
title: "Duplicate a dashboard"
method: POST
path: "/rest/api/v1/projects/{projectId}/dashboards/{dashboardId}/duplicate"
tags: ["Dashboard API"]
---

# Duplicate a dashboard

`POST /rest/api/v1/projects/{projectId}/dashboards/{dashboardId}/duplicate`

## Path parameters

- `projectId` string, uuid, required
- `dashboardId` string, uuid, required

## Request body

- DuplicateDashboardRequestDTO — Request to duplicate a dashboard
  - `name` string — Optional name for the duplicated dashboard. Defaults to '{original name} (Copy)'

## Response `201`

Created

- UserDashboardConfigDTO — Project dashboard configuration
  - `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

---

[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)
