diff --git a/src/Event/RelaxedEnsureFullCommitEvent.php b/src/Event/RelaxedEnsureFullCommitEvent.php
new file mode 100644
index 0000000..199c5d2
--- /dev/null
+++ b/src/Event/RelaxedEnsureFullCommitEvent.php
@@ -0,0 +1,40 @@
+<?php
+
+namespace Drupal\relaxed\Event;
+
+use Drupal\multiversion\Entity\WorkspaceInterface;
+use Symfony\Component\EventDispatcher\Event;
+
+/**
+ * Wraps a replication finished event for event listeners.
+ */
+class RelaxedEnsureFullCommitEvent extends Event {
+
+  /**
+   * The target workspace during the replication.
+   *
+   * @var \Drupal\multiversion\Entity\WorkspaceInterface
+   */
+  protected $workspace;
+
+  /**
+   * Constructs a RelaxedEnsureFullCommitEvent event object.
+   *
+   * @param \Drupal\multiversion\Entity\WorkspaceInterface $workspace
+   *   The target workspace during the replication.
+   */
+  public function __construct(WorkspaceInterface $workspace) {
+    $this->workspace = $workspace;
+  }
+
+  /**
+   * Gets the workspace.
+   *
+   * @return \Drupal\multiversion\Entity\WorkspaceInterface
+   *   Return workspace object.
+   */
+  public function getWorkspace() {
+    return $this->workspace;
+  }
+
+}
diff --git a/src/Event/RelaxedEvents.php b/src/Event/RelaxedEvents.php
index 1c928e9..5735645 100644
--- a/src/Event/RelaxedEvents.php
+++ b/src/Event/RelaxedEvents.php
@@ -16,4 +16,9 @@ final class RelaxedEvents {
    */
   const REPLICATION_FINISHED = 'relaxed.replication_finished';
 
+  /**
+   * Event fired when replication handles the Ensure Full Commit request.
+   */
+  const REPLICATION_ENSURE_FULL_COMMIT = 'relaxed.replication_ensure_full_commit';
+
 }
diff --git a/src/Plugin/rest/resource/EnsureFullCommitResource.php b/src/Plugin/rest/resource/EnsureFullCommitResource.php
index ff43597..89e480f 100644
--- a/src/Plugin/rest/resource/EnsureFullCommitResource.php
+++ b/src/Plugin/rest/resource/EnsureFullCommitResource.php
@@ -6,7 +6,10 @@ use Drupal\Core\Asset\AssetCollectionOptimizerInterface;
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\multiversion\Entity\WorkspaceInterface;
+use Drupal\relaxed\Event\RelaxedEnsureFullCommitEvent;
+use Drupal\relaxed\Event\RelaxedEvents;
 use Drupal\rest\ModifiedResourceResponse;
+use Symfony\Component\EventDispatcher\EventDispatcherInterface;
 use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
 use Psr\Log\LoggerInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -52,6 +55,13 @@ class EnsureFullCommitResource extends ResourceBase {
    */
   protected $jsCollectionOptimizer;
 
+  /**
+   * The event dispatcher service.
+   *
+   * @var \Symfony\Component\EventDispatcher\EventDispatcherInterface
+   */
+  protected $eventDispatcher;
+
   /**
    * Constructs a Drupal\rest\Plugin\ResourceBase object.
    *
@@ -71,12 +81,15 @@ class EnsureFullCommitResource extends ResourceBase {
    *   The CSS Collection Optimizer.
    * @param \Drupal\Core\Asset\AssetCollectionOptimizerInterface $js_collection_optimizer
    *   The JS Collection Optimizer.
+   * @param \Symfony\Component\EventDispatcher\EventDispatcherInterface $event_dispatcher
+   *   The event dispatcher service.
    */
-  public function __construct(array $configuration, $plugin_id, $plugin_definition, array $serializer_formats, LoggerInterface $logger, ModuleHandlerInterface $module_handler, AssetCollectionOptimizerInterface $css_collection_optimizer, AssetCollectionOptimizerInterface $js_collection_optimizer) {
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, array $serializer_formats, LoggerInterface $logger, ModuleHandlerInterface $module_handler, AssetCollectionOptimizerInterface $css_collection_optimizer, AssetCollectionOptimizerInterface $js_collection_optimizer, EventDispatcherInterface $event_dispatcher) {
     parent::__construct($configuration, $plugin_id, $plugin_definition, $serializer_formats, $logger);
     $this->moduleHandler = $module_handler;
     $this->cssCollectionOptimizer = $css_collection_optimizer;
     $this->jsCollectionOptimizer = $js_collection_optimizer;
+    $this->eventDispatcher = $event_dispatcher;
   }
 
   /**
@@ -91,7 +104,8 @@ class EnsureFullCommitResource extends ResourceBase {
       $container->get('logger.factory')->get('rest'),
       $container->get('module_handler'),
       $container->get('asset.css.collection_optimizer'),
-      $container->get('asset.js.collection_optimizer')
+      $container->get('asset.js.collection_optimizer'),
+      $container->get('event_dispatcher')
     );
   }
 
@@ -126,6 +140,9 @@ class EnsureFullCommitResource extends ResourceBase {
     $this->cssCollectionOptimizer->deleteAll();
     $this->jsCollectionOptimizer->deleteAll();
     _drupal_flush_css_js();
+
+    $this->eventDispatcher->dispatch(RelaxedEvents::REPLICATION_ENSURE_FULL_COMMIT, new RelaxedEnsureFullCommitEvent($workspace));
+
     return new ModifiedResourceResponse($response_data, 201);
   }
 
