This article presents possible use cases and corresponding sample flows that you can support. It provides a useful starting point as you plan your implementation.
When a user changes content, you can review the change before deciding whether it should stand. The review request gives you both the live version and the proposed version, so you can see exactly what is changing.
To review a content change:
action to see what the user did.currentDataItem, the live version, with proposedDataItem, the version submitted for approval. For PUBLISH_DRAFT, only proposedDataItem is present. For UNPUBLISH_PUBLISHED, only currentDataItem is present.UNPUBLISH_CHANGED, read versionOnUnpublish when present to determine whether the user requested to preserve the latest draft edits or the live published version.submittedByUserId and submittedAt to record who submitted the change and when.When a user submits several items from the same collection at once, the whole selection arrives as one event instead of one event per item. This keeps a multi-item submission together, so you can review it as the single unit of work the user intended.
To review a batch of content changes:
collectionId and one entry per item, and you receive a single Bulk Review Requested event.bulkComplianceReviewRequest.complianceReviewRequests to get every review request in the batch, in the order the items were submitted.action, because a single batch can combine actions. Compare currentDataItem and proposedDataItem per request exactly as you would for a single review.If you maintain an external audit or compliance system, you can keep it in sync with every reviewable content change on the site.
To forward content changes to an external system:
complianceReviewRequest object, or for a batch, each object in bulkComplianceReviewRequest.complianceReviewRequests. Include the action, currentDataItem, proposedDataItem, optional versionOnUnpublish, and submittedByUserId.Last updated: 7 October 2026