---
title: "Duplicate a board"
method: POST
path: "/boards/{boardId}/duplicate"
tags: ["Boards"]
---

# Duplicate a board

`POST /boards/{boardId}/duplicate`

## Request

- Base URL: `https://api.mockflow.com/v1`
- URL: `https://api.mockflow.com/v1/boards/{boardId}/duplicate`
- Auth: HTTP bearer

A copy titled "Copy_" plus the title, in the same space, with its pages, uploaded images,
fonts, prototypes and artifacts. The public link is not carried over. Counts against the
Basic board cap.

## Response `201`

The copy.

- Board
  - `id` string
  - `title` string
  - `spaceId` string, nullable: The design space, or null for the default space.
  - `url` string, uri: Opens the board in the editor.
  - `publicUrl` string, uri, nullable: The public viewer link, when the public link is on.
  - `role` 'owner' | 'admin' | 'editor' | 'reviewer': The product's roles. Owner is the workspace that holds the board or space and cannot be granted or transferred. Admin can rename and share, editor can edit, reviewer can view, export and add comment items. There is no viewer role and no pending state.
  - `locked` boolean: Locked boards are read only for everyone.
  - `position` integer, nullable: Manual order inside the space, lowest first.
  - `createdBy` string
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `deletedAt` string, date-time, nullable: Set while the board is in the trash.

## Other responses

- `402`: The workspace plan does not allow this, or AI credits are exhausted.
- `429`: Too many requests.

---

[API](https://skmtc.dev/mockflow/apis/mockflow-boards-api.md) - [All operations](https://skmtc.dev/mockflow/apis/mockflow-boards-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mockflow/apis/mockflow-boards-api/revisions/1a890390518c?raw)
