diff --git a/catalogue/Catalogue.hpp b/catalogue/Catalogue.hpp
index 3dee1db636bfb9a704fd27a49fff7c15eede1209..fefeb15c62871d30cc9957f6c8ae862f3a24b44e 100644
--- a/catalogue/Catalogue.hpp
+++ b/catalogue/Catalogue.hpp
@@ -180,9 +180,9 @@ public:
   virtual void modifyDedicationUntil(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &drivename, const uint64_t untilTimestamp) = 0;
   virtual void modifyDedicationComment(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &drivename, const std::string &comment) = 0;
 
-  virtual std::list<cta::common::dataStructures::ArchiveFile> getArchiveFiles(const uint64_t id, const std::string &eosid,
+  virtual std::list<cta::common::dataStructures::ArchiveFile> getArchiveFiles(const std::string &id, const std::string &eosid,
    const std::string &copynb, const std::string &tapepool, const std::string &vid, const std::string &owner, const std::string &group, const std::string &storageclass, const std::string &path) = 0;
-  virtual cta::common::dataStructures::ArchiveFileSummary getArchiveFileSummary(const uint64_t id, const std::string &eosid,
+  virtual cta::common::dataStructures::ArchiveFileSummary getArchiveFileSummary(const std::string &id, const std::string &eosid,
    const std::string &copynb, const std::string &tapepool, const std::string &vid, const std::string &owner, const std::string &group, const std::string &storageclass, const std::string &path) = 0;  
   virtual cta::common::dataStructures::ArchiveFile getArchiveFileById(const uint64_t id) = 0;
   
diff --git a/catalogue/SqliteCatalogue.cpp b/catalogue/SqliteCatalogue.cpp
index df4e34558b54ec7ee075b77e872eaff68fa90963..37bb737d48cf23f00765fea58d4f161dd27ca2b0 100644
--- a/catalogue/SqliteCatalogue.cpp
+++ b/catalogue/SqliteCatalogue.cpp
@@ -1882,7 +1882,7 @@ uint64_t cta::catalogue::SqliteCatalogue::getArchiveFileId(
 //------------------------------------------------------------------------------
 std::list<cta::common::dataStructures::ArchiveFile>
   cta::catalogue::SqliteCatalogue::getArchiveFiles(
-  const uint64_t id,
+  const std::string &id,
   const std::string &eosid,
   const std::string &copynb,
   const std::string &tapepool,
@@ -1894,6 +1894,7 @@ std::list<cta::common::dataStructures::ArchiveFile>
   std::list<cta::common::dataStructures::ArchiveFile> files;
   const char *const sql =
     "SELECT "
+      "ARCHIVE_FILE_ID    AS ARCHIVE_FILE_ID,"
       "DISK_INSTANCE      AS DISK_INSTANCE,"
       "DISK_FILE_ID       AS DISK_FILE_ID,"
       "FILE_SIZE          AS FILE_SIZE,"
@@ -1916,7 +1917,7 @@ std::list<cta::common::dataStructures::ArchiveFile>
     }
     common::dataStructures::ArchiveFile file;
 
-    file.archiveFileID = id;
+    file.archiveFileID = stmt->columnUint64(nameToIdx["ARCHIVE_FILE_ID"]);
     file.diskFileID = stmt->columnText(nameToIdx["DISK_FILE_ID"]);
     file.fileSize = stmt->columnUint64(nameToIdx["FILE_SIZE"]);
     file.checksumType = stmt->columnText(nameToIdx["CHECKSUM_TYPE"]);
@@ -1937,7 +1938,7 @@ std::list<cta::common::dataStructures::ArchiveFile>
 //------------------------------------------------------------------------------
 // getArchiveFileSummary
 //------------------------------------------------------------------------------
-cta::common::dataStructures::ArchiveFileSummary cta::catalogue::SqliteCatalogue::getArchiveFileSummary(const uint64_t id, const std::string &eosid,
+cta::common::dataStructures::ArchiveFileSummary cta::catalogue::SqliteCatalogue::getArchiveFileSummary(const std::string &id, const std::string &eosid,
         const std::string &copynb, const std::string &tapepool, const std::string &vid, const std::string &owner, const std::string &group, const std::string &storageclass, const std::string &path) {
   return cta::common::dataStructures::ArchiveFileSummary(); 
 }
diff --git a/catalogue/SqliteCatalogue.hpp b/catalogue/SqliteCatalogue.hpp
index 5308ac490d220a4f8b599801fb2941cf3ce1880d..4586322177f72b5c00a7d6622e9629c7fbae0ca5 100644
--- a/catalogue/SqliteCatalogue.hpp
+++ b/catalogue/SqliteCatalogue.hpp
@@ -152,9 +152,9 @@ public:
    * storageClass attribute.
    */
   virtual uint64_t createArchiveFile(const common::dataStructures::ArchiveFile &archiveFile);
-  virtual std::list<cta::common::dataStructures::ArchiveFile> getArchiveFiles(const uint64_t id, const std::string &eosid,
+  virtual std::list<cta::common::dataStructures::ArchiveFile> getArchiveFiles(const std::string &id, const std::string &eosid,
    const std::string &copynb, const std::string &tapepool, const std::string &vid, const std::string &owner, const std::string &group, const std::string &storageclass, const std::string &path);
-  virtual cta::common::dataStructures::ArchiveFileSummary getArchiveFileSummary(const uint64_t id, const std::string &eosid,
+  virtual cta::common::dataStructures::ArchiveFileSummary getArchiveFileSummary(const std::string &id, const std::string &eosid,
    const std::string &copynb, const std::string &tapepool, const std::string &vid, const std::string &owner, const std::string &group, const std::string &storageclass, const std::string &path);
   virtual cta::common::dataStructures::ArchiveFile getArchiveFileById(const uint64_t id);
   
diff --git a/catalogue/SqliteCatalogueTest.cpp b/catalogue/SqliteCatalogueTest.cpp
index 409e35a039434f0f9afc90e4e6a16fc66924979c..a8261c5dab525b9af78ee0ef7ed92c34f1cd7492 100644
--- a/catalogue/SqliteCatalogueTest.cpp
+++ b/catalogue/SqliteCatalogueTest.cpp
@@ -831,7 +831,7 @@ TEST_F(cta_catalogue_SqliteCatalogueTest, createArchiveFile) {
 
   catalogue::SqliteCatalogue catalogue;
 
-  ASSERT_TRUE(catalogue.getArchiveFiles(0, "", "", "", "", "", "", "", "").empty());
+  ASSERT_TRUE(catalogue.getArchiveFiles("", "", "", "", "", "", "", "", "").empty());
 
   const std::string storageClassName = "storage_class";
   const uint64_t nbCopies = 2;
@@ -855,7 +855,7 @@ TEST_F(cta_catalogue_SqliteCatalogueTest, createArchiveFile) {
   catalogue.createArchiveFile(file);
 
   std::list<common::dataStructures::ArchiveFile> files;
-  files = catalogue.getArchiveFiles(0, "", "", "", "", "", "", "", "");
+  files = catalogue.getArchiveFiles("", "", "", "", "", "", "", "", "");
   ASSERT_EQ(1, files.size());
 
   const common::dataStructures::ArchiveFile frontFile = files.front();
@@ -878,7 +878,7 @@ TEST_F(cta_catalogue_SqliteCatalogueTest, createArchiveFile_same_twice) {
 
   catalogue::SqliteCatalogue catalogue;
 
-  ASSERT_TRUE(catalogue.getArchiveFiles(0, "", "", "", "", "", "", "", "").empty());
+  ASSERT_TRUE(catalogue.getArchiveFiles("", "", "", "", "", "", "", "", "").empty());
 
   const std::string storageClassName = "storage_class";
   const uint64_t nbCopies = 2;
diff --git a/xroot_plugins/XrdCtaFile.cpp b/xroot_plugins/XrdCtaFile.cpp
index aec9457f958def985eb9542dc186cfab218cc3f8..0f44584511966490b7aaf0026551ac1c3042d770 100644
--- a/xroot_plugins/XrdCtaFile.cpp
+++ b/xroot_plugins/XrdCtaFile.cpp
@@ -1558,9 +1558,8 @@ void XrdCtaFile::xCom_archivefile(const std::vector<std::string> &tokens, const
       m_data = help.str();
       return;
     }
-    uint64_t id; std::stringstream id_ss; id_ss << id_s; id_ss >> id;
     if(!summary) {
-      std::list<cta::common::dataStructures::ArchiveFile> list=m_catalogue->getArchiveFiles(id, eosid, copynb, tapepool, vid, owner, group, storageclass, path);
+      std::list<cta::common::dataStructures::ArchiveFile> list=m_catalogue->getArchiveFiles(id_s, eosid, copynb, tapepool, vid, owner, group, storageclass, path);
       if(list.size()>0) {
         std::vector<std::vector<std::string>> responseTable;
         std::vector<std::string> header = {"id","copy no","vid","fseq","block id","disk id","size","checksum type","checksum value","storage class","owner","group","instance","path","creation time"};
@@ -1590,7 +1589,7 @@ void XrdCtaFile::xCom_archivefile(const std::vector<std::string> &tokens, const
       }
     }
     else { //summary
-      cta::common::dataStructures::ArchiveFileSummary summary=m_catalogue->getArchiveFileSummary(id, eosid, copynb, tapepool, vid, owner, group, storageclass, path);
+      cta::common::dataStructures::ArchiveFileSummary summary=m_catalogue->getArchiveFileSummary(id_s, eosid, copynb, tapepool, vid, owner, group, storageclass, path);
       std::vector<std::vector<std::string>> responseTable;
       std::vector<std::string> header = {"total number of files","total size"};
       std::vector<std::string> row = {std::to_string((unsigned long long)summary.totalFiles),std::to_string((unsigned long long)summary.totalBytes)};