Update webhook settings
curl --request PUT \
--url https://api.hubapi.com/webhooks/2026-03/{appId}/settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"targetUrl": "<string>",
"throttling": {
"maxConcurrentRequests": 123
}
}
'import requests
url = "https://api.hubapi.com/webhooks/2026-03/{appId}/settings"
payload = {
"targetUrl": "<string>",
"throttling": { "maxConcurrentRequests": 123 }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({targetUrl: '<string>', throttling: {maxConcurrentRequests: 123}})
};
fetch('https://api.hubapi.com/webhooks/2026-03/{appId}/settings', 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/webhooks/2026-03/{appId}/settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'targetUrl' => '<string>',
'throttling' => [
'maxConcurrentRequests' => 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/webhooks/2026-03/{appId}/settings"
payload := strings.NewReader("{\n \"targetUrl\": \"<string>\",\n \"throttling\": {\n \"maxConcurrentRequests\": 123\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.hubapi.com/webhooks/2026-03/{appId}/settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"targetUrl\": \"<string>\",\n \"throttling\": {\n \"maxConcurrentRequests\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/webhooks/2026-03/{appId}/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"targetUrl\": \"<string>\",\n \"throttling\": {\n \"maxConcurrentRequests\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2023-11-07T05:31:56Z",
"targetUrl": "<string>",
"throttling": {
"maxConcurrentRequests": 123
},
"updatedAt": "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"
}
}Subscriptions
Update webhook settings
Update webhook settings for the specified app.
PUT
/
webhooks
/
2026-03
/
{appId}
/
settings
Update webhook settings
curl --request PUT \
--url https://api.hubapi.com/webhooks/2026-03/{appId}/settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"targetUrl": "<string>",
"throttling": {
"maxConcurrentRequests": 123
}
}
'import requests
url = "https://api.hubapi.com/webhooks/2026-03/{appId}/settings"
payload = {
"targetUrl": "<string>",
"throttling": { "maxConcurrentRequests": 123 }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({targetUrl: '<string>', throttling: {maxConcurrentRequests: 123}})
};
fetch('https://api.hubapi.com/webhooks/2026-03/{appId}/settings', 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/webhooks/2026-03/{appId}/settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'targetUrl' => '<string>',
'throttling' => [
'maxConcurrentRequests' => 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/webhooks/2026-03/{appId}/settings"
payload := strings.NewReader("{\n \"targetUrl\": \"<string>\",\n \"throttling\": {\n \"maxConcurrentRequests\": 123\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.hubapi.com/webhooks/2026-03/{appId}/settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"targetUrl\": \"<string>\",\n \"throttling\": {\n \"maxConcurrentRequests\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/webhooks/2026-03/{appId}/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"targetUrl\": \"<string>\",\n \"throttling\": {\n \"maxConcurrentRequests\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2023-11-07T05:31:56Z",
"targetUrl": "<string>",
"throttling": {
"maxConcurrentRequests": 123
},
"updatedAt": "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
Authorizations
oauth2oauth2
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The identifier for the app.
Body
application/json
Response
successful operation
The date and time when the webhook settings were created, in ISO 8601 format.
The URL to which the webhook events will be sent. It is a string.
Show child attributes
Show child attributes
The date and time when the webhook settings were last updated, in ISO 8601 format.
Last modified on April 14, 2026
Was this page helpful?
⌘I