---
title: "Update an existing table"
method: PATCH
path: "/cms/hubdb/2026-03/tables/{tableIdOrName}/draft"
tags: ["Tables"]
---

# Update an existing table

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

Update an existing HubDB table. You can use this endpoint to add or remove columns to the table as well as restore an archived table. Tables updated using the endpoint will only modify the draft verion of the table. Use the `/publish` endpoint to push all the changes to the published version. To restore a table, include the query parameter `archived=true` and `"archived": false` in the json body.
**Note:** You need to include all the columns in the input when you are adding/removing/updating a column. If you do not include an already existing column in the request, it will be deleted.

## Path parameters

- `tableIdOrName` string, required

## Query parameters

- `archived` boolean
- `includeForeignIds` boolean
- `isGetLocalizedSchema` boolean

## Request body

- HubDbTableV3Request
  - `allowChildTables` boolean, required — Specifies whether child tables can be created
  - `allowPublicApiAccess` boolean, required — Specifies whether the table can be read by public without authorization
  - `columns` ColumnRequest[], required — List of columns in the table
    - `foreignColumnId` integer — The id of the column from another table to which the column refers/points to.
    - `foreignTableId` integer — The id of another table to which the column refers/points to.
    - `id` integer, required — Column Id
    - `label` string, required — Label of the column
    - `maxNumberOfCharacters` integer — Defines the maximum number of characters allowed in the column.
    - `maxNumberOfOptions` integer — Specifies the maximum number of options that can be set for select and multi-select columns.
    - `name` string, required — Name of the column
    - `options` Option[], required — 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
  - `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
  - `label` string, required — Label of the table
  - `name` string, required — Name of the table
  - `useForPages` boolean, required — Specifies whether the table can be used for creation of dynamic pages

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