curl --request POST \
--url https://api.hubapi.com/cms/hubdb/2026-09/tables/{tableIdOrName}/rows/draft/batch/replace \
--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-09/tables/{tableIdOrName}/rows/draft/batch/replace"
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-09/tables/{tableIdOrName}/rows/draft/batch/replace', 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-09/tables/{tableIdOrName}/rows/draft/batch/replace",
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-09/tables/{tableIdOrName}/rows/draft/batch/replace"
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-09/tables/{tableIdOrName}/rows/draft/batch/replace")
.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-09/tables/{tableIdOrName}/rows/draft/batch/replace")
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",
"status": "CANCELED",
"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",
"status": "CANCELED",
"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"
}
}Replace rows in batch in draft table
Substitui várias linhas em lote na versão de rascunho da tabela, com um máximo de 100 linhas por chamada. Veja o ponto de extremidade “PUT /tables//rows//draft” para obter detalhes sobre a atualização de uma única linha.
curl --request POST \
--url https://api.hubapi.com/cms/hubdb/2026-09/tables/{tableIdOrName}/rows/draft/batch/replace \
--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-09/tables/{tableIdOrName}/rows/draft/batch/replace"
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-09/tables/{tableIdOrName}/rows/draft/batch/replace', 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-09/tables/{tableIdOrName}/rows/draft/batch/replace",
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-09/tables/{tableIdOrName}/rows/draft/batch/replace"
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-09/tables/{tableIdOrName}/rows/draft/batch/replace")
.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-09/tables/{tableIdOrName}/rows/draft/batch/replace")
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",
"status": "CANCELED",
"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",
"status": "CANCELED",
"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
Autorizações
The access token received from the authorization server in the OAuth 2.0 flow.
Parâmetros de caminho
O identificador exclusivo ou nome da tabela do HubDB onde as linhas de rascunho serão substituídas.
Corpo
Uma matriz de objetos HubDbTableRowV3BatchUpdateRequest, cada um contendo detalhes para uma atualização de linha. Esta propriedade é obrigatória.
Show child attributes
Show child attributes
Resposta
successful operation
A data e a hora em que o processamento em lote foi concluído.
Uma matriz de objetos HubDbTableRowV3 representando os resultados da operação em lote.
Show child attributes
Show child attributes
A data e a hora em que o processamento em lote começou.
O status atual da operação em lote. Os valores possíveis são: CANCELADO, CONCLUÍDO, PENDENTE, PROCESSANDO.
CANCELED, COMPLETE, PENDING, PROCESSING Uma coleção de links relacionados associados à resposta em lote.
Show child attributes
Show child attributes
A data e a hora em que a solicitação em lote foi feita.