curl --request POST \
--url 'https://api.hubapi.com/webhooks/2026-03/{appId}/subscriptions/batch/update?hapikey=' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"active": true,
"id": 123
}
]
}
'import requests
url = "https://api.hubapi.com/webhooks/2026-03/{appId}/subscriptions/batch/update?hapikey="
payload = { "inputs": [
{
"active": True,
"id": 123
}
] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({inputs: [{active: true, id: 123}]})
};
fetch('https://api.hubapi.com/webhooks/2026-03/{appId}/subscriptions/batch/update?hapikey=', 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}/subscriptions/batch/update?hapikey=",
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' => [
[
'active' => true,
'id' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"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}/subscriptions/batch/update?hapikey="
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"active\": true,\n \"id\": 123\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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/webhooks/2026-03/{appId}/subscriptions/batch/update?hapikey=")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"active\": true,\n \"id\": 123\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/webhooks/2026-03/{appId}/subscriptions/batch/update?hapikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"inputs\": [\n {\n \"active\": true,\n \"id\": 123\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"active": true,
"createdAt": "2023-11-07T05:31:56Z",
"eventType": "company.associationChange",
"id": "<string>",
"eventTypeName": "<string>",
"objectTypeId": "<string>",
"propertyName": "<string>",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"links": {},
"requestedAt": "2023-11-07T05:31:56Z"
}{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"active": true,
"createdAt": "2023-11-07T05:31:56Z",
"eventType": "company.associationChange",
"id": "<string>",
"eventTypeName": "<string>",
"objectTypeId": "<string>",
"propertyName": "<string>",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"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 event subscriptions in batch
Créer en lot des abonnements aux événements pour l’application spécifiée.
curl --request POST \
--url 'https://api.hubapi.com/webhooks/2026-03/{appId}/subscriptions/batch/update?hapikey=' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"active": true,
"id": 123
}
]
}
'import requests
url = "https://api.hubapi.com/webhooks/2026-03/{appId}/subscriptions/batch/update?hapikey="
payload = { "inputs": [
{
"active": True,
"id": 123
}
] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({inputs: [{active: true, id: 123}]})
};
fetch('https://api.hubapi.com/webhooks/2026-03/{appId}/subscriptions/batch/update?hapikey=', 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}/subscriptions/batch/update?hapikey=",
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' => [
[
'active' => true,
'id' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"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}/subscriptions/batch/update?hapikey="
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"active\": true,\n \"id\": 123\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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/webhooks/2026-03/{appId}/subscriptions/batch/update?hapikey=")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"active\": true,\n \"id\": 123\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/webhooks/2026-03/{appId}/subscriptions/batch/update?hapikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"inputs\": [\n {\n \"active\": true,\n \"id\": 123\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"active": true,
"createdAt": "2023-11-07T05:31:56Z",
"eventType": "company.associationChange",
"id": "<string>",
"eventTypeName": "<string>",
"objectTypeId": "<string>",
"propertyName": "<string>",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"links": {},
"requestedAt": "2023-11-07T05:31:56Z"
}{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"active": true,
"createdAt": "2023-11-07T05:31:56Z",
"eventType": "company.associationChange",
"id": "<string>",
"eventTypeName": "<string>",
"objectTypeId": "<string>",
"propertyName": "<string>",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"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
Autorisations
Paramètres de chemin
L'identifiant unique de l'application pour laquelle les abonnements sont mis à jour.
Corps
Un tableau d'objets SubscriptionBatchUpdateRequest, chacun représentant un abonnement à mettre à jour. Cette propriété est obligatoire.
Show child attributes
Show child attributes
Réponse
successful operation
La date et l'heure auxquelles l'opération de lot a été effectuée, au format ISO 8601.
Un tableau contenant les résultats de l'opération de lot, chaque élément représentant une réponse d'abonnement individuelle.
Show child attributes
Show child attributes
La date et l'heure de début de l'opération par lot, au format ISO 8601.
Le statut actuel de l'opération par lot. Les valeurs valides incluent « PENDING », « PROCESSING », « CANCELED » et « COMPLETE ».
CANCELED, COMPLETE, PENDING, PROCESSING Une carte des noms de liens vers les URI associées fournissant des informations supplémentaires sur l'opération de lot.
Show child attributes
Show child attributes
La date et l'heure auxquelles l'opération de lot a été demandée, au format ISO 8601.