curl --request GET \
--url https://api.hubapi.com/cms/hubdb/2026-03/tables/draft \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hubapi.com/cms/hubdb/2026-03/tables/draft"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hubapi.com/cms/hubdb/2026-03/tables/draft', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/cms/hubdb/2026-03/tables/draft",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/cms/hubdb/2026-03/tables/draft"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hubapi.com/cms/hubdb/2026-03/tables/draft")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/cms/hubdb/2026-03/tables/draft")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"results": [
{
"allowChildTables": true,
"allowPublicApiAccess": true,
"columnCount": 123,
"columns": [
{
"deleted": true,
"description": "<string>",
"id": "<string>",
"label": "<string>",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>"
},
"createdByUserId": 123,
"foreignColumnId": 123,
"foreignIds": [
{
"id": "<string>",
"name": "<string>",
"type": "<string>"
}
],
"foreignIdsById": {},
"foreignIdsByName": {},
"foreignTableId": 123,
"optionCount": 123,
"options": [
{
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"label": "<string>",
"name": "<string>",
"order": 123,
"type": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>"
},
"createdByUserId": 123,
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>"
},
"updatedByUserId": 123
}
],
"updatedAt": "2023-11-07T05:31:56Z",
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>"
},
"updatedByUserId": 123,
"width": 123
}
],
"createdAt": "2023-11-07T05:31:56Z",
"deleted": true,
"deletedAt": "2023-11-07T05:31:56Z",
"dynamicMetaTags": {},
"enableChildTablePages": true,
"id": "<string>",
"label": "<string>",
"name": "<string>",
"published": true,
"publishedAt": "2023-11-07T05:31:56Z",
"rowCount": 123,
"updatedAt": "2023-11-07T05:31:56Z",
"useForPages": true,
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>"
},
"isOrderedManually": true,
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>"
}
}
],
"total": 123,
"paging": {
"next": {
"after": "<string>",
"link": "<string>"
},
"prev": {
"before": "<string>",
"link": "<string>"
}
}
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Return all draft tables
Returns the details for each draft table defined in the specified account, including column definitions.
curl --request GET \
--url https://api.hubapi.com/cms/hubdb/2026-03/tables/draft \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hubapi.com/cms/hubdb/2026-03/tables/draft"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hubapi.com/cms/hubdb/2026-03/tables/draft', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/cms/hubdb/2026-03/tables/draft",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/cms/hubdb/2026-03/tables/draft"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hubapi.com/cms/hubdb/2026-03/tables/draft")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/cms/hubdb/2026-03/tables/draft")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"results": [
{
"allowChildTables": true,
"allowPublicApiAccess": true,
"columnCount": 123,
"columns": [
{
"deleted": true,
"description": "<string>",
"id": "<string>",
"label": "<string>",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>"
},
"createdByUserId": 123,
"foreignColumnId": 123,
"foreignIds": [
{
"id": "<string>",
"name": "<string>",
"type": "<string>"
}
],
"foreignIdsById": {},
"foreignIdsByName": {},
"foreignTableId": 123,
"optionCount": 123,
"options": [
{
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"label": "<string>",
"name": "<string>",
"order": 123,
"type": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>"
},
"createdByUserId": 123,
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>"
},
"updatedByUserId": 123
}
],
"updatedAt": "2023-11-07T05:31:56Z",
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>"
},
"updatedByUserId": 123,
"width": 123
}
],
"createdAt": "2023-11-07T05:31:56Z",
"deleted": true,
"deletedAt": "2023-11-07T05:31:56Z",
"dynamicMetaTags": {},
"enableChildTablePages": true,
"id": "<string>",
"label": "<string>",
"name": "<string>",
"published": true,
"publishedAt": "2023-11-07T05:31:56Z",
"rowCount": 123,
"updatedAt": "2023-11-07T05:31:56Z",
"useForPages": true,
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>"
},
"isOrderedManually": true,
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"id": "<string>",
"lastName": "<string>"
}
}
],
"total": 123,
"paging": {
"next": {
"after": "<string>",
"link": "<string>"
},
"prev": {
"before": "<string>",
"link": "<string>"
}
}
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Supported products
Supported products
Required Scopes
Required Scopes
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
The paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results.
Specifies whether to return archived tables. Defaults to false.
Specifies the content type for the response.
Only return tables created after the specified time.
Only return tables created at exactly the specified time.
Only return tables created before the specified time.
Indicates whether to retrieve the localized schema.
The maximum number of results to return. Default is 1000.
Specifies which fields to use for sorting results. Valid fields are name, createdAt, updatedAt, createdBy, updatedBy. createdAt will be used by default.
Only return tables last updated after the specified time.
Only return tables last updated at exactly the specified time.
Only return tables last updated before the specified time.
Was this page helpful?