developer.webhooks_journal.snapshots.write scope specified.
Create CRM object snapshots
To create snapshots for multiple CRM objects in a single batch request, make aPOST request to /webhooks-journal/snapshots/2026-03/crm. In the request body, include the snapshotRequests property with the objects you want to snapshot.
The available properties for this endpoint are listed in the table below. All fields are required.
snapshotStatusId from each entry to poll for processing status, as detailed in the section below.
Get snapshot status
Snapshot processing is asynchronous: when you create a snapshot, you receive asnapshotStatusId rather than an immediate result. Poll the status endpoint until status reaches a terminal state (SUCCESS, FAILED, or EXPIRED). See Polling behavior and 404 responses below for guidance on handling the brief window before a status record becomes available.
To get the status of a snapshot, make a GET request to /webhooks-journal/snapshots/2026-03/crm/status/{snapshotStatusId}.
For example, assuming a snapshotStatusId of 550e8400-e29b-41d4-a716-446655440000, the corresponding cURL command would be:
Polling behavior and 404 responses
Snapshot status records are created asynchronously after the snapshot request is accepted. After creating a snapshot, there is a brief window during which polling for its status may return404 Not Found. This is expected, since the status record is propagated across regions and will be available to retrieve after a short delay.
A
404 does not mean the snapshot itself failed. The underlying snapshot processing proceeds independently of status record creation. If a status record never appears, check your journal directly, as the snapshot may have completed successfully regardless.- After creating snapshots, store each
snapshotStatusId. - Poll
GET /webhooks-journal/snapshots/2026-03/crm/status/{snapshotStatusId}with exponential backoff (e.g., starting at 1 seconds, capped at 30 seconds). - On
404, treat it as “not yet available” and retry. - Stop polling when
statusisSUCCESS,FAILED, orEXPIRED. - Enforce a maximum polling duration or attempt count (e.g., 10 minutes / 20 attempts) to avoid infinite loops.
- If the terminal state is never reached within that window, check your journal directly.