curl --request POST \
--url https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows/draft/batch/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"childTableId": 123,
"displayIndex": 123,
"values": {},
"id": "<string>",
"name": "<string>",
"path": "<string>"
}
]
}
'import requests
url = "https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows/draft/batch/update"
payload = { "inputs": [
{
"childTableId": 123,
"displayIndex": 123,
"values": {},
"id": "<string>",
"name": "<string>",
"path": "<string>"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
inputs: [
{
childTableId: 123,
displayIndex: 123,
values: {},
id: '<string>',
name: '<string>',
path: '<string>'
}
]
})
};
fetch('https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows/draft/batch/update', 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/{tableIdOrName}/rows/draft/batch/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'inputs' => [
[
'childTableId' => 123,
'displayIndex' => 123,
'values' => [
],
'id' => '<string>',
'name' => '<string>',
'path' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows/draft/batch/update"
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"childTableId\": 123,\n \"displayIndex\": 123,\n \"values\": {},\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"path\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows/draft/batch/update")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"childTableId\": 123,\n \"displayIndex\": 123,\n \"values\": {},\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"path\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows/draft/batch/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"inputs\": [\n {\n \"childTableId\": 123,\n \"displayIndex\": 123,\n \"values\": {},\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"path\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"childTableId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"name": "<string>",
"path": "<string>",
"publishedAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"values": {}
}
],
"startedAt": "2023-11-07T05:31:56Z",
"links": {},
"requestedAt": "2023-11-07T05:31:56Z"
}{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"childTableId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"name": "<string>",
"path": "<string>",
"publishedAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"values": {}
}
],
"startedAt": "2023-11-07T05:31:56Z",
"errors": [
{
"category": "<string>",
"context": {},
"errors": [
{
"message": "<string>",
"code": "<string>",
"context": "{invalidPropertyName=[propertyValue], missingScopes=[scope1, scope2]}",
"in": "<string>",
"subCategory": "<string>"
}
],
"links": {},
"message": "<string>",
"status": "<string>",
"id": "<string>",
"subCategory": {}
}
],
"links": {},
"numErrors": 123,
"requestedAt": "2023-11-07T05:31:56Z"
}{
"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"
}
}Update rows in batch in draft table
Aktualisiert mehrere Zeilen im Batch in der Entwurfsversion der Tabelle. Maximal 100 Zeilen pro Aufruf. Details zum Aktualisieren einer einzelnen Zeile finden Sie im Endpunkt „PATCH /tables//rows//draft“.
curl --request POST \
--url https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows/draft/batch/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"childTableId": 123,
"displayIndex": 123,
"values": {},
"id": "<string>",
"name": "<string>",
"path": "<string>"
}
]
}
'import requests
url = "https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows/draft/batch/update"
payload = { "inputs": [
{
"childTableId": 123,
"displayIndex": 123,
"values": {},
"id": "<string>",
"name": "<string>",
"path": "<string>"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
inputs: [
{
childTableId: 123,
displayIndex: 123,
values: {},
id: '<string>',
name: '<string>',
path: '<string>'
}
]
})
};
fetch('https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows/draft/batch/update', 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/{tableIdOrName}/rows/draft/batch/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'inputs' => [
[
'childTableId' => 123,
'displayIndex' => 123,
'values' => [
],
'id' => '<string>',
'name' => '<string>',
'path' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows/draft/batch/update"
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"childTableId\": 123,\n \"displayIndex\": 123,\n \"values\": {},\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"path\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows/draft/batch/update")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"childTableId\": 123,\n \"displayIndex\": 123,\n \"values\": {},\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"path\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/cms/hubdb/2026-03/tables/{tableIdOrName}/rows/draft/batch/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"inputs\": [\n {\n \"childTableId\": 123,\n \"displayIndex\": 123,\n \"values\": {},\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"path\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"childTableId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"name": "<string>",
"path": "<string>",
"publishedAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"values": {}
}
],
"startedAt": "2023-11-07T05:31:56Z",
"links": {},
"requestedAt": "2023-11-07T05:31:56Z"
}{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"childTableId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"name": "<string>",
"path": "<string>",
"publishedAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"values": {}
}
],
"startedAt": "2023-11-07T05:31:56Z",
"errors": [
{
"category": "<string>",
"context": {},
"errors": [
{
"message": "<string>",
"code": "<string>",
"context": "{invalidPropertyName=[propertyValue], missingScopes=[scope1, scope2]}",
"in": "<string>",
"subCategory": "<string>"
}
],
"links": {},
"message": "<string>",
"status": "<string>",
"id": "<string>",
"subCategory": {}
}
],
"links": {},
"numErrors": 123,
"requestedAt": "2023-11-07T05:31:56Z"
}{
"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
Autorisierungen
The access token received from the authorization server in the OAuth 2.0 flow.
Pfadparameter
Die ID oder der Name der Tabelle
Body
Show child attributes
Show child attributes
Antwort
successful operation
Der Zeitstempel, der angibt, wann die Batch-Verarbeitung abgeschlossen wurde.
Show child attributes
Show child attributes
Der Zeitstempel, der angibt, wann die Batch-Verarbeitung begonnen hat.
Der aktuelle Status des Batch-Vorgangs mit den möglichen Werten: CANCELED, COMPLETE, PENDING, PROCESSING.
CANCELED, COMPLETE, PENDING, PROCESSING Eine Sammlung von zugehörigen Links, die der Batch-Antwort zugeordnet sind.
Show child attributes
Show child attributes
Der Zeitstempel, der angibt, wann die Batch-Anfrage erfolgt ist.