curl --request POST \
--url https://api.hubapi.com/webhooks-journal/snapshots/2026-03/crm \
--header 'Content-Type: application/json' \
--data '
{
"snapshotRequests": [
{
"objectId": 123,
"objectTypeId": "<string>",
"portalId": 123,
"properties": [
"<string>"
]
}
]
}
'import requests
url = "https://api.hubapi.com/webhooks-journal/snapshots/2026-03/crm"
payload = { "snapshotRequests": [
{
"objectId": 123,
"objectTypeId": "<string>",
"portalId": 123,
"properties": ["<string>"]
}
] }
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({
snapshotRequests: [
{
objectId: 123,
objectTypeId: '<string>',
portalId: 123,
properties: ['<string>']
}
]
})
};
fetch('https://api.hubapi.com/webhooks-journal/snapshots/2026-03/crm', 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/snapshots/2026-03/crm",
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([
'snapshotRequests' => [
[
'objectId' => 123,
'objectTypeId' => '<string>',
'portalId' => 123,
'properties' => [
'<string>'
]
]
]
]),
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/snapshots/2026-03/crm"
payload := strings.NewReader("{\n \"snapshotRequests\": [\n {\n \"objectId\": 123,\n \"objectTypeId\": \"<string>\",\n \"portalId\": 123,\n \"properties\": [\n \"<string>\"\n ]\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-journal/snapshots/2026-03/crm")
.header("Content-Type", "application/json")
.body("{\n \"snapshotRequests\": [\n {\n \"objectId\": 123,\n \"objectTypeId\": \"<string>\",\n \"portalId\": 123,\n \"properties\": [\n \"<string>\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/webhooks-journal/snapshots/2026-03/crm")
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 \"snapshotRequests\": [\n {\n \"objectId\": 123,\n \"objectTypeId\": \"<string>\",\n \"portalId\": 123,\n \"properties\": [\n \"<string>\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"snapshotResponses": [
{
"objectId": 123,
"objectTypeId": "<string>",
"portalId": 123,
"snapshotStatusId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]
}{
"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 CRM object snapshots
Créez un lot d’instantanés d’objets CRM pour le portail spécifié. Ce point de terminaison vous permet de capturer l’état des objets CRM à un moment précis, ce qui peut être utile pour l’audit ou l’analyse historique. La requête nécessite une liste de requêtes d’instantanés d’objets CRM, chacune spécifiant l’ID du portail, l’ID de l’objet, l’ID du type d’objet et les propriétés à inclure dans l’instantané.
curl --request POST \
--url https://api.hubapi.com/webhooks-journal/snapshots/2026-03/crm \
--header 'Content-Type: application/json' \
--data '
{
"snapshotRequests": [
{
"objectId": 123,
"objectTypeId": "<string>",
"portalId": 123,
"properties": [
"<string>"
]
}
]
}
'import requests
url = "https://api.hubapi.com/webhooks-journal/snapshots/2026-03/crm"
payload = { "snapshotRequests": [
{
"objectId": 123,
"objectTypeId": "<string>",
"portalId": 123,
"properties": ["<string>"]
}
] }
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({
snapshotRequests: [
{
objectId: 123,
objectTypeId: '<string>',
portalId: 123,
properties: ['<string>']
}
]
})
};
fetch('https://api.hubapi.com/webhooks-journal/snapshots/2026-03/crm', 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/snapshots/2026-03/crm",
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([
'snapshotRequests' => [
[
'objectId' => 123,
'objectTypeId' => '<string>',
'portalId' => 123,
'properties' => [
'<string>'
]
]
]
]),
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/snapshots/2026-03/crm"
payload := strings.NewReader("{\n \"snapshotRequests\": [\n {\n \"objectId\": 123,\n \"objectTypeId\": \"<string>\",\n \"portalId\": 123,\n \"properties\": [\n \"<string>\"\n ]\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-journal/snapshots/2026-03/crm")
.header("Content-Type", "application/json")
.body("{\n \"snapshotRequests\": [\n {\n \"objectId\": 123,\n \"objectTypeId\": \"<string>\",\n \"portalId\": 123,\n \"properties\": [\n \"<string>\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/webhooks-journal/snapshots/2026-03/crm")
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 \"snapshotRequests\": [\n {\n \"objectId\": 123,\n \"objectTypeId\": \"<string>\",\n \"portalId\": 123,\n \"properties\": [\n \"<string>\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"snapshotResponses": [
{
"objectId": 123,
"objectTypeId": "<string>",
"portalId": 123,
"snapshotStatusId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]
}{
"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
Un tableau d'objets CrmObjectSnapshotRequest, chacun représentant une demande de création d'un instantané pour un objet CRM spécifique. Cette propriété est requise.
Show child attributes
Show child attributes
Réponse
successful operation
Un tableau d'objets CrmObjectSnapshotResponse, chacun représentant le résultat d'une opération d'instantané pour un objet CRM spécifique. Cette propriété est requise.
Show child attributes
Show child attributes