content staging – How to delete/unschedule scheduled updates for product programatically in Magento 2 commerce edition?

The interface you mentioned is correct, but there is much more useful information inside the model MagentoCatalogStagingModelProductStaging.

In that model, we see the function unschedule() defined as:

 * @param MagentoCatalogApiDataProductInterface $product
 * @param string $version
 * @return bool
public function unschedule(MagentoCatalogApiDataProductInterface $product, $version)
    return (bool)$this->entityManager->delete(
            'store_id' => $this->storeManager->getStore()->getId(),
            'created_in' => $version

After looking at my own instance, I see that all the created_at values in the database are set to 1, I don’t personally use the schedule update feature but it would seem that you would add 1 to the version when running schedule().

I would recommend you open the model/controller for the scheduled updates page and see if you can get any more information about how the versioning system works from there next.

Another file that seems to get closer to the answer you are looking for is MagentoStagingModelEntityUpdateActionDeleteRemoveAction.

In it, it passes $this->versionManager->getVersion()->getId() as the version where versionManager is a MagentoStagingModelVersionManager.