Skip to main content
The snapshots API allows you to trigger snapshots of CRM objects for specific points in time. To use this API, ensure your client credentials token was generated with the developer.webhooks_journal.snapshots.write scope specified.

Create CRM object snapshots

To create snapshots for multiple CRM objects in a single batch request, make a POST 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.
A successful request will return status tracking IDs for each requested snapshot:
You can then use the 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 a snapshotStatusId 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:
The response will resemble the following:

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 return 404 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.
The recommended polling strategy is:
  1. After creating snapshots, store each snapshotStatusId.
  2. Poll GET /webhooks-journal/snapshots/2026-03/crm/status/{snapshotStatusId} with exponential backoff (e.g., starting at 1 seconds, capped at 30 seconds).
  3. On 404, treat it as “not yet available” and retry.
  4. Stop polling when status is SUCCESS, FAILED, or EXPIRED.
  5. Enforce a maximum polling duration or attempt count (e.g., 10 minutes / 20 attempts) to avoid infinite loops.
  6. If the terminal state is never reached within that window, check your journal directly.
Last modified on June 29, 2026