curl --request POST \
--url https://api.hubapi.com/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/batch/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"maxToObjectIds": 123,
"typeId": 123
}
]
}
'import requests
url = "https://api.hubapi.com/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/batch/update"
payload = { "inputs": [
{
"maxToObjectIds": 123,
"typeId": 123
}
] }
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: [{maxToObjectIds: 123, typeId: 123}]})
};
fetch('https://api.hubapi.com/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/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/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/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' => [
[
'maxToObjectIds' => 123,
'typeId' => 123
]
]
]),
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/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/batch/update"
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"maxToObjectIds\": 123,\n \"typeId\": 123\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/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/batch/update")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"maxToObjectIds\": 123,\n \"typeId\": 123\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/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 \"maxToObjectIds\": 123,\n \"typeId\": 123\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"category": "HUBSPOT_DEFINED",
"typeId": 123,
"userEnforcedMaxToObjectIds": 123
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"links": {},
"requestedAt": "2023-11-07T05:31:56Z"
}{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"category": "HUBSPOT_DEFINED",
"typeId": 123,
"userEnforcedMaxToObjectIds": 123
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"errors": [
{
"category": "<string>",
"context": {},
"errors": [
{
"message": "<string>",
"code": "<string>",
"context": "{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 association limits
Batch update association limits that have been configured between two object types.
curl --request POST \
--url https://api.hubapi.com/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/batch/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"maxToObjectIds": 123,
"typeId": 123
}
]
}
'import requests
url = "https://api.hubapi.com/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/batch/update"
payload = { "inputs": [
{
"maxToObjectIds": 123,
"typeId": 123
}
] }
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: [{maxToObjectIds: 123, typeId: 123}]})
};
fetch('https://api.hubapi.com/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/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/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/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' => [
[
'maxToObjectIds' => 123,
'typeId' => 123
]
]
]),
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/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/batch/update"
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"maxToObjectIds\": 123,\n \"typeId\": 123\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/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/batch/update")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"maxToObjectIds\": 123,\n \"typeId\": 123\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/associations/2026-03/definitions/configurations/{fromObjectType}/{toObjectType}/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 \"maxToObjectIds\": 123,\n \"typeId\": 123\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"category": "HUBSPOT_DEFINED",
"typeId": 123,
"userEnforcedMaxToObjectIds": 123
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"links": {},
"requestedAt": "2023-11-07T05:31:56Z"
}{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"category": "HUBSPOT_DEFINED",
"typeId": 123,
"userEnforcedMaxToObjectIds": 123
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"errors": [
{
"category": "<string>",
"context": {},
"errors": [
{
"message": "<string>",
"code": "<string>",
"context": "{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
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The type of the source object in the association.
The type of the target object in the association.
Body
An array of PublicAssociationDefinitionConfigurationUpdateRequest objects. Each object in the array specifies the configuration details to be updated.
Show child attributes
Show child attributes
Response
successful operation
The date and time when the batch update operation was completed.
An array of results from the batch update operation. Each item in the array is a PublicAssociationDefinitionConfigurationUpdateResult object.
Show child attributes
Show child attributes
The date and time when the batch update operation started.
The current status of the batch update operation, which can be CANCELED, COMPLETE, PENDING, or PROCESSING.
CANCELED, COMPLETE, PENDING, PROCESSING URLs linking to documentation or resources associated with the batch update operation.
Show child attributes
Show child attributes
The date and time when the batch update operation was requested.
Was this page helpful?