---
title: "Clone a table"
method: POST
path: "/cms/hubdb/2026-03/tables/{tableIdOrName}/draft/clone"
tags: ["Tables"]
---

# Clone a table

`POST /cms/hubdb/2026-03/tables/{tableIdOrName}/draft/clone`

Clone an existing HubDB table. The `newName` and `newLabel` of the new table can be sent as JSON in the request body. This will create the cloned table as a draft.

## Path parameters

- `tableIdOrName` string, required

## Request body

- HubDbTableCloneRequest
  - `copyRows` boolean, required — Specifies whether to copy the rows during clone
  - `isHubspotDefined` boolean, required — Indicates whether the table is defined by HubSpot.
  - `newLabel` string — The new label for the cloned table
  - `newName` string — The new name for the cloned table

## Response `200`

successful operation

- HubDbTableV3
  - `allowChildTables` boolean, required — Specifies whether child tables can be created
  - `allowPublicApiAccess` boolean, required — Specifies whether the table can be read by public without authorization
  - `columnCount` integer, required — Number of columns including deleted
  - `columns` Column[], required — List of columns in the table
    - `createdAt` string, date-time — The timestamp when the column was created.
    - `createdBy` SimpleUser
      - `email` string, required — The email address of the user.
      - `firstName` string, required — The first name of the user.
      - `id` string, required — The unique identifier for the user.
      - `lastName` string, required — The last name of the user.
    - `createdByUserId` integer — The ID of the user who created the column.
    - `deleted` boolean, required — Indicates whether the column has been deleted.
    - `description` string, required — The description of the column.
    - `foreignColumnId` integer — Foreign Column id
    - `foreignIds` ForeignId[] — Foreign Ids
      - `id` string, required — Unique identifier for the foreign ID.
      - `name` string, required — Name of the foreign ID.
      - `type` string, required — Type of the foreign ID.
    - `foreignIdsById` object — Foreign ids
    - `foreignIdsByName` object — Foreign ids by name
    - `foreignTableId` integer — Foreign table id referenced
    - `id` string, required — Column Id
    - `label` string, required — Label of the column
    - `name` string, required — Name of the column
    - `optionCount` integer — Number of options available
    - `options` Option[] — Options to choose for select and multi-select columns
      - `createdAt` string, date-time, required — The timestamp when the option was created, in ISO 8601 format.
      - `createdBy` SimpleUser
        - `email` string, required — The email address of the user.
        - `firstName` string, required — The first name of the user.
        - `id` string, required — The unique identifier for the user.
        - `lastName` string, required — The last name of the user.
      - `createdByUserId` integer — The ID of the user who created the option.
      - `id` string, required — The unique ID of the option.
      - `label` string, required — A user-friendly label that identifies the option.
      - `name` string, required — An internal name assigned to the option, distinct from the label.
      - `order` integer, required — The order in which the option appears, represented as an integer.
      - `type` string, required — Indicates the category or data type of the option (e.g., string, number).
      - `updatedAt` string, date-time, required — The timestamp when the option was last updated, in ISO 8601 format.
      - `updatedBy` SimpleUser
        - `email` string, required — The email address of the user.
        - `firstName` string, required — The first name of the user.
        - `id` string, required — The unique identifier for the user.
        - `lastName` string, required — The last name of the user.
      - `updatedByUserId` integer — The ID of the user who last updated the option.
    - `type` 'BOOLEAN' | 'CODE' | 'COMPOSITE' | 'CTA' | 'CURRENCY' | 'DATE' | 'DATETIME' | 'EMBED' | 'FILE' | 'FOREIGN_ID' | 'HUBSPOT_VIDEO' | 'IMAGE' | 'JSON' | 'LOCATION' | 'MULTISELECT' | 'NULL' | 'NUMBER' | 'RICHTEXT' | 'SELECT' | 'TEXT' | 'URL' | 'VIDEO', required — Type of the column
    - `updatedAt` string, date-time — The timestamp when the column was last updated.
    - `updatedBy` SimpleUser
      - `email` string, required — The email address of the user.
      - `firstName` string, required — The first name of the user.
      - `id` string, required — The unique identifier for the user.
      - `lastName` string, required — The last name of the user.
    - `updatedByUserId` integer — The ID of the user who last updated the column.
    - `width` integer — Column width for HubDB UI
  - `createdAt` string, date-time, required — Timestamp at which the table is created
  - `createdBy` SimpleUser
    - `email` string, required — The email address of the user.
    - `firstName` string, required — The first name of the user.
    - `id` string, required — The unique identifier for the user.
    - `lastName` string, required — The last name of the user.
  - `deleted` boolean, required — Specifies whether the table is marked as deleted.
  - `deletedAt` string, date-time, required — The timestamp indicating when the table was deleted.
  - `dynamicMetaTags` object, required — Specifies the key value pairs of the [metadata fields](https://developers.hubspot.com/docs/cms/guides/dynamic-pages/hubdb#dynamic-pages) with the associated column IDs.
  - `enableChildTablePages` boolean, required — Specifies creation of multi-level dynamic pages using child tables
  - `id` string, required — Id of the table
  - `isOrderedManually` boolean — Indicates whether the table rows are ordered manually.
  - `label` string, required — Label of the table
  - `name` string, required — Name of the table
  - `published` boolean, required — Indicates whether the table is currently published.
  - `publishedAt` string, date-time, required — Timestamp at which the table is published recently
  - `rowCount` integer, required — Number of rows in the table
  - `updatedAt` string, date-time, required — Timestamp at which the table is updated recently
  - `updatedBy` SimpleUser
    - `email` string, required — The email address of the user.
    - `firstName` string, required — The first name of the user.
    - `id` string, required — The unique identifier for the user.
    - `lastName` string, required — The last name of the user.
  - `useForPages` boolean, required — Specifies whether the table can be used for creation of dynamic pages

## Other responses

- `default` — An error occurred.

---

[API](https://skmtc.net/hubspot/apis/cms-hubdb.md) · [All operations](https://skmtc.net/hubspot/apis/cms-hubdb/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hubspot/cms-hubdb/versions/18fde1f09597/schema)
