diff --git a/swh/deposit/api/deposit_update.py b/swh/deposit/api/deposit_update.py
--- a/swh/deposit/api/deposit_update.py
+++ b/swh/deposit/api/deposit_update.py
@@ -3,11 +3,13 @@
 # License: GNU General Public License version 3, or any later version
 # See top-level LICENSE file for more information
 
-from typing import Any, Dict, Optional, Tuple
+from datetime import datetime, timezone
+from typing import Any, Dict, Iterable, Optional, Tuple
 
 from rest_framework import status
 from rest_framework.request import Request
 
+from swh.core.api.classes import stream_results
 from swh.deposit.api.checks import check_metadata
 from swh.deposit.api.converters import convert_status_detail
 from swh.deposit.models import Deposit
@@ -200,6 +202,7 @@
         # Write to the metadata storage (and the deposit backend)
         # no ingestion triggered
 
+        date_now = datetime.now(tz=timezone.utc)
         deposit = Deposit.objects.get(pk=deposit_id)
         assert deposit.status == DEPOSIT_STATUS_LOAD_SUCCESS
 
@@ -277,6 +280,29 @@
         self.storage_metadata.metadata_fetcher_add([metadata_fetcher])
         self.storage_metadata.raw_extrinsic_metadata_add([metadata_object])
 
+        # ensure that new extrinsic metadata sent is stored in the metadata storage
+        results: Iterable[RawExtrinsicMetadata] = stream_results(
+            self.storage_metadata.raw_extrinsic_metadata_get,
+            MetadataTargetType.DIRECTORY,
+            deposit_swhid,
+            metadata_authority,
+            after=date_now,
+        )
+        found: bool = False
+
+        # one page result iteration should be enough since we pass the date (which is
+        # around now) as the minimal boundary for the lookup
+        for extrinsic_metadata in results:
+            if (
+                extrinsic_metadata.format == "sword-v2-atom-codemeta"
+                and extrinsic_metadata.metadata == metadata_object.metadata
+            ):
+                found = True
+                break
+
+        if not found:
+            raise ValueError("Failure to save the extrinsic metadata storage.")
+
         return {
             "deposit_id": deposit_id,
             "deposit_date": deposit_request.date,