curl --request POST \
--url https://api.hubapi.com/webhooks-journal/subscriptions/2026-03/filters \
--header 'Content-Type: application/json' \
--data '
{
"filter": {
"conditions": [
{
"filterType": "CRM_OBJECT_PROPERTY",
"property": "<string>",
"value": "<string>",
"values": [
"<string>"
]
}
]
},
"subscriptionId": 123
}
'import requests
url = "https://api.hubapi.com/webhooks-journal/subscriptions/2026-03/filters"
payload = {
"filter": { "conditions": [
{
"filterType": "CRM_OBJECT_PROPERTY",
"property": "<string>",
"value": "<string>",
"values": ["<string>"]
}
] },
"subscriptionId": 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({
filter: {
conditions: [
{
filterType: 'CRM_OBJECT_PROPERTY',
property: '<string>',
value: '<string>',
values: ['<string>']
}
]
},
subscriptionId: 123
})
};
fetch('https://api.hubapi.com/webhooks-journal/subscriptions/2026-03/filters', 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-journal/subscriptions/2026-03/filters",
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([
'filter' => [
'conditions' => [
[
'filterType' => 'CRM_OBJECT_PROPERTY',
'property' => '<string>',
'value' => '<string>',
'values' => [
'<string>'
]
]
]
],
'subscriptionId' => 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-journal/subscriptions/2026-03/filters"
payload := strings.NewReader("{\n \"filter\": {\n \"conditions\": [\n {\n \"filterType\": \"CRM_OBJECT_PROPERTY\",\n \"property\": \"<string>\",\n \"value\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"subscriptionId\": 123\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-journal/subscriptions/2026-03/filters")
.header("Content-Type", "application/json")
.body("{\n \"filter\": {\n \"conditions\": [\n {\n \"filterType\": \"CRM_OBJECT_PROPERTY\",\n \"property\": \"<string>\",\n \"value\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"subscriptionId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/webhooks-journal/subscriptions/2026-03/filters")
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 \"filter\": {\n \"conditions\": [\n {\n \"filterType\": \"CRM_OBJECT_PROPERTY\",\n \"property\": \"<string>\",\n \"value\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"subscriptionId\": 123\n}"
response = http.request(request)
puts response.read_body{
"filterId": 123
}{
"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"
}
}Create a subscription filter
Créez un nouveau filtre pour un abonnement de webhook dans votre compte HubSpot. Ce point de terminaison vous permet de définir des conditions spécifiques qu’un événement de webhook doit remplir pour déclencher l’abonnement. Il est utile pour gérer et personnaliser le comportement des abonnements de webhook en fonction de critères spécifiques.
curl --request POST \
--url https://api.hubapi.com/webhooks-journal/subscriptions/2026-03/filters \
--header 'Content-Type: application/json' \
--data '
{
"filter": {
"conditions": [
{
"filterType": "CRM_OBJECT_PROPERTY",
"property": "<string>",
"value": "<string>",
"values": [
"<string>"
]
}
]
},
"subscriptionId": 123
}
'import requests
url = "https://api.hubapi.com/webhooks-journal/subscriptions/2026-03/filters"
payload = {
"filter": { "conditions": [
{
"filterType": "CRM_OBJECT_PROPERTY",
"property": "<string>",
"value": "<string>",
"values": ["<string>"]
}
] },
"subscriptionId": 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({
filter: {
conditions: [
{
filterType: 'CRM_OBJECT_PROPERTY',
property: '<string>',
value: '<string>',
values: ['<string>']
}
]
},
subscriptionId: 123
})
};
fetch('https://api.hubapi.com/webhooks-journal/subscriptions/2026-03/filters', 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-journal/subscriptions/2026-03/filters",
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([
'filter' => [
'conditions' => [
[
'filterType' => 'CRM_OBJECT_PROPERTY',
'property' => '<string>',
'value' => '<string>',
'values' => [
'<string>'
]
]
]
],
'subscriptionId' => 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-journal/subscriptions/2026-03/filters"
payload := strings.NewReader("{\n \"filter\": {\n \"conditions\": [\n {\n \"filterType\": \"CRM_OBJECT_PROPERTY\",\n \"property\": \"<string>\",\n \"value\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"subscriptionId\": 123\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-journal/subscriptions/2026-03/filters")
.header("Content-Type", "application/json")
.body("{\n \"filter\": {\n \"conditions\": [\n {\n \"filterType\": \"CRM_OBJECT_PROPERTY\",\n \"property\": \"<string>\",\n \"value\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"subscriptionId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/webhooks-journal/subscriptions/2026-03/filters")
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 \"filter\": {\n \"conditions\": [\n {\n \"filterType\": \"CRM_OBJECT_PROPERTY\",\n \"property\": \"<string>\",\n \"value\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"subscriptionId\": 123\n}"
response = http.request(request)
puts response.read_body{
"filterId": 123
}{
"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
Corps
Defines a single condition for searching CRM objects, specifying the property to filter on, the operator to use (such as equals, greater than, or contains), and the value(s) to compare against.
Show child attributes
Show child attributes
L'identifiant unique de l'abonnement auquel le filtre sera appliqué. Il s'agit d'un entier formaté en int64.
Réponse
successful operation
L'identifiant unique du filtre créé. Il s'agit d'un entier formaté en int64.