Skip to main content
In this guide, you’ll learn how to ask a vendor to rework a submission instead of approving or rejecting it outright. A revision request doesn’t mutate the product. It records a CHANGE_REQUESTED action in the audit trail carrying your message, and emits product.change-requested so the vendor is notified. The product stays with the vendor to revise and resubmit.

Run the workflow

requestProductChangeWorkflow validates that the product is in proposed, records the audit action, and emits the event.
src/api/custom/request-revision/route.ts
The request is only valid while the product is proposed. The workflow validates the product status first and fails otherwise.

Where the message goes

The message is stored in two places for durability: the CHANGE_REQUESTED action’s details.message, and the parent change’s external_note (the vendor-facing note). Because the audit change is created already confirmed, the request is a permanent entry in the product’s history.
Subscribe to product.change-requested to send the vendor a notification. The payload includes the id (product), the message, and the actor_id of the operator who asked. See the Event reference.