diff --git a/fairnb/api/invenio.py b/fairnb/api/invenio.py
index f5f513bd607f34b6472094f9c5989e0adcde9c12..6232654f8f671dd6c39e190bf9da95d715bc9621 100644
--- a/fairnb/api/invenio.py
+++ b/fairnb/api/invenio.py
@@ -98,6 +98,14 @@ class InvenioRDMConnector:
 
         return response
 
+    def create_doi(self, record_id: str):
+        response = rq.post(
+            f"{self.host}/api/records/{record_id}/draft/pid/doi",
+            headers=self.headers,
+        )
+
+        return response
+
     def download_file(
         self, record_id: str, filename: str, out_path: pathlib.Path, expand: bool = True
     ):
diff --git a/fairnb/entity/invenio_entity.py b/fairnb/entity/invenio_entity.py
index 8a1a62f67dbe747a34066ecd7e1933de8cf505ae..392a59c7bca1883ff788b862d093ab80ad0c3928 100644
--- a/fairnb/entity/invenio_entity.py
+++ b/fairnb/entity/invenio_entity.py
@@ -78,9 +78,13 @@ class InvenioRDMEntity(Entity):
             self.record_metadata
         ).json()
         record_id = create_response["id"]
-        self.invenio_manager.upload_record(dir_path,
-                                           regex,
-                                           only_filename=False if self.location.is_dir() else True)
+        self.invenio_manager.upload_record(
+            dir_path,
+            regex,
+            only_filename=False if self.location.is_dir() else True)
+
+        record_doi = self.invenio_manager.connector.create_doi(record_id)
+
 
         if self.publish_record:
             publish_response = self.invenio_manager.publish_record()