# HubSpot CMS Hubdb API

> HubSpot CMS Hubdb API on Apizie: 31 endpoints (Get all published tables, Create a new table, Return all draft tables, Get details of a published table, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/business:hubspot-cms-hubdb/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `business:hubspot-cms-hubdb`
- Category: Business
- Status: byok
- Source: https://developers.hubspot.com/docs/api/overview
- Page: https://apizie.tech/api/business/hubspot-cms-hubdb
- OpenAPI: https://apizie.tech/api/business/hubspot-cms-hubdb/openapi.json

Basepom for all HubSpot Projects

## Endpoints

### Get all published tables
`GET https://apizie.tech/v1/business:hubspot-cms-hubdb/get-cms-hubdb-2026-09-tables-get-all-tables` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| after | string | no | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged… |
| archived | boolean | no | Whether to return only results that have been archived. |
| contentType | string | no | Filter tables by their content type. |
| createdAfter | string | no | Filter tables created after a specific date and time. |
| createdAt | string | no | Filter tables by their creation timestamp. |
| createdBefore | string | no | Filter tables created before a specific date and time. |
| isGetLocalizedSchema | boolean | no | Whether to retrieve the localized schema of the tables. |
| limit | integer | no | The maximum number of results to display per page. |
| sort | array | no | An array of fields to sort the results by. |
| updatedAfter | string | no | Filter tables updated after a specific date and time. |
| updatedAt | string | no | Filter tables by their last update timestamp. |
| updatedBefore | string | no | Filter tables updated before a specific date and time. |

### Create a new table
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-create-table` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Return all draft tables
`GET https://apizie.tech/v1/business:hubspot-cms-hubdb/get-cms-hubdb-2026-09-tables-draft-get-all-draft-tables` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| after | string | no | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged… |
| archived | boolean | no | Whether to return only results that have been archived. |
| contentType | string | no | Filter results by the content type. |
| createdAfter | string | no | Filter results to include only those created after the specified date and time. |
| createdAt | string | no | Filter results by the exact creation date and time. |
| createdBefore | string | no | Filter results to include only those created before the specified date and time. |
| isGetLocalizedSchema | boolean | no | Whether to retrieve the localized schema. |
| limit | integer | no | The maximum number of results to display per page. |
| sort | array | no | An array of fields to sort the results by. |
| updatedAfter | string | no | Filter results to include only those updated after the specified date and time. |
| updatedAt | string | no | Filter results by the exact update date and time. |
| updatedBefore | string | no | Filter results to include only those updated before the specified date and time. |

### Get details of a published table
`GET https://apizie.tech/v1/business:hubspot-cms-hubdb/get-cms-hubdb-2026-09-tables-table-id-or-name-get-table-deta` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the table to retrieve. |
| archived | boolean | no | Whether to return only results that have been archived. |
| includeForeignIds | boolean | no | Include foreign IDs in the response. |
| isGetLocalizedSchema | boolean | no | Retrieve the localized schema if available. |

### Archive a table
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/delete-cms-hubdb-2026-09-tables-table-id-or-name-archive-tab` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table to delete. |

### Get details for a draft table
`GET https://apizie.tech/v1/business:hubspot-cms-hubdb/get-cms-hubdb-2026-09-tables-table-id-or-name-draft-get-draf` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the table to retrieve the draft for. |
| archived | boolean | no | Whether to return only results that have been archived. |
| includeForeignIds | boolean | no | Include foreign IDs in the response if set to true. |
| isGetLocalizedSchema | boolean | no | Whether to retrieve the localized schema if available. |

### Update an existing table
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/patch-cms-hubdb-2026-09-tables-table-id-or-name-draft-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the table to update. |
| archived | boolean | no | Whether to return only results that have been archived. |
| includeForeignIds | boolean | no | Include foreign IDs in the response. |
| isGetLocalizedSchema | boolean | no | Whether to retrieve the localized schema. |
| body | object | yes | JSON request body |

### Clone a table
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-draft-clone-c` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table to clone. |
| body | object | yes | JSON request body |

### Export a draft table
`GET https://apizie.tech/v1/business:hubspot-cms-hubdb/get-cms-hubdb-2026-09-tables-table-id-or-name-draft-export-e` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table to export in draft form. |
| format | string | no | The format in which to export the table data. This parameter specifies the desired file format for the exported data. |

### Import data into draft table
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-draft-import` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table to import data into. |
| body | object | no | Form fields as a JSON object |

### Publish a table from draft
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-draft-publish` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table to publish. |
| includeForeignIds | boolean | no | A boolean indicating whether to include foreign IDs in the response. |

### Reset a draft table
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-draft-reset-r` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the table to reset. |
| includeForeignIds | boolean | no | A boolean indicating whether to include foreign IDs in the response. |

### Export a published version of a table
`GET https://apizie.tech/v1/business:hubspot-cms-hubdb/get-cms-hubdb-2026-09-tables-table-id-or-name-export-export` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table to export. |
| format | string | no | The format in which to export the table data. Specify the desired format as a string. |

### Get rows for a table
`GET https://apizie.tech/v1/business:hubspot-cms-hubdb/get-cms-hubdb-2026-09-tables-table-id-or-name-rows-get-table` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the table to retrieve rows from. |
| after | string | no | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged… |
| archived | boolean | no | Whether to return only results that have been archived. |
| limit | integer | no | The maximum number of results to display per page. |
| offset | integer | no | The number of rows to skip before starting to collect the result set. |
| properties | array | no | An array of property names to include in the response. |
| sort | array | no | An array of property names to sort the results by. |

### Add a new row to a table
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-rows-create-t` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table where the new row will be added. |
| body | object | yes | JSON request body |

### Get a set of rows
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-rows-batch-re` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table from which to read rows. |
| body | object | yes | JSON request body |

### Get rows from draft table
`GET https://apizie.tech/v1/business:hubspot-cms-hubdb/get-cms-hubdb-2026-09-tables-table-id-or-name-rows-draft-rea` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the table to retrieve draft rows from. |
| after | string | no | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged… |
| archived | boolean | no | Whether to return only results that have been archived. |
| limit | integer | no | The maximum number of results to display per page. |
| offset | integer | no | The number of items to skip before starting to collect the result set. |
| properties | array | no | A comma-separated list of property names to include in the response. |
| sort | array | no | An array of strings specifying the fields to sort the results by. |

### Clone rows in batch
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-rows-draft-ba` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table containing the draft rows to clone. |
| body | object | yes | JSON request body |

### Create rows in batch
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-rows-draft-ba-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table where the draft rows will be created. |
| body | object | yes | JSON request body |

### Permanently deletes rows
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-rows-draft-ba-3` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table from which draft rows will be purged. |
| body | object | yes | JSON request body |

### Get a set of rows from draft table
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-rows-draft-ba-4` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table from which to read the draft rows. |
| body | object | yes | JSON request body |

### Replace rows in batch in draft table
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-rows-draft-ba-5` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table where the draft rows will be replaced. |
| body | object | yes | JSON request body |

### Update rows in batch in draft table
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-rows-draft-ba-6` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table containing the draft rows to update. |
| body | object | yes | JSON request body |

### Get a table row
`GET https://apizie.tech/v1/business:hubspot-cms-hubdb/get-cms-hubdb-2026-09-tables-table-id-or-name-rows-row-id-ge` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| rowId | string | yes | The unique identifier of the row to retrieve. Must be a numeric string. |
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table. |
| archived | boolean | no | Whether to return only results that have been archived. |

### Get a row from the draft table
`GET https://apizie.tech/v1/business:hubspot-cms-hubdb/get-cms-hubdb-2026-09-tables-table-id-or-name-rows-row-id-dr` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| rowId | string | yes | The unique identifier of the row to retrieve, formatted as a string of digits. |
| tableIdOrName | string | yes | The unique identifier or name of the table containing the row. |
| archived | boolean | no | Whether to return only results that have been archived. |

### Replaces an existing row
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/put-cms-hubdb-2026-09-tables-table-id-or-name-rows-row-id-dr` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| rowId | string | yes | The unique identifier of the draft row to update. This should be a numeric string. |
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table containing the draft row. |
| body | object | yes | JSON request body |

### Updates an existing row
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/patch-cms-hubdb-2026-09-tables-table-id-or-name-rows-row-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| rowId | string | yes | The unique identifier of the draft row to update. Must be a numeric string. |
| tableIdOrName | string | yes | The unique identifier or name of the table containing the draft row to update. |
| body | object | yes | JSON request body |

### Permanently deletes a row
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/delete-cms-hubdb-2026-09-tables-table-id-or-name-rows-row-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| rowId | string | yes | The unique identifier of the draft row to delete. This should be a numeric string. |
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table from which the draft row will be deleted. |

### Clone a row
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-rows-row-id-d` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| rowId | string | yes | The unique identifier of the row to be cloned. This must be a numeric string. |
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table containing the row to be cloned. |
| name | string | no | The new name for the cloned row. If not provided, the cloned row will retain the original name. |

### Unpublish a table
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/post-cms-hubdb-2026-09-tables-table-id-or-name-unpublish-unp` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table to unpublish. |
| includeForeignIds | boolean | no | A boolean indicating whether to include foreign IDs in the response. |

### Delete a table version
`POST https://apizie.tech/v1/business:hubspot-cms-hubdb/delete-cms-hubdb-2026-09-tables-table-id-or-name-versions-ve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tableIdOrName | string | yes | The unique identifier or name of the HubDB table from which the version will be deleted. |
| versionId | integer | yes | The unique identifier of the version to be deleted. Must be a numeric value. |

## Example
```
curl "https://apizie.tech/v1/business:hubspot-cms-hubdb/get-cms-hubdb-2026-09-tables-get-all-tables" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the HubSpot CMS Hubdb API?
Create a free Apizie key, then send GET https://apizie.tech/v1/business:hubspot-cms-hubdb/get-cms-hubdb-2026-09-tables-get-all-tables with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the HubSpot CMS Hubdb API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. HubSpot CMS Hubdb itself also needs your own key from hubapi.com.

### Can AI agents use the HubSpot CMS Hubdb API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key business:hubspot-cms-hubdb.

### What is the status of the HubSpot CMS Hubdb API?
Needs your own provider key (bring your own key)
