diff --git a/redfish-core/lib/message_registries.hpp b/redfish-core/lib/message_registries.hpp
index a6e108e..b327d63 100644
--- a/redfish-core/lib/message_registries.hpp
+++ b/redfish-core/lib/message_registries.hpp
@@ -23,6 +23,7 @@
 #include <boost/url/format.hpp>
 
 #include <array>
+#include <format>
 
 namespace redfish
 {
@@ -106,7 +107,9 @@
     asyncResp->res.jsonValue["Description"] =
         dmtf + registry + " Message Registry File Location";
     asyncResp->res.jsonValue["Id"] = header.registryPrefix;
-    asyncResp->res.jsonValue["Registry"] = header.id;
+    asyncResp->res.jsonValue["Registry"] =
+        std::format("{}.{}.{}", header.registryPrefix, header.versionMajor,
+                    header.versionMinor);
     nlohmann::json::array_t languages;
     languages.emplace_back(header.language);
     asyncResp->res.jsonValue["Languages@odata.count"] = languages.size();
@@ -162,12 +165,16 @@
 
     asyncResp->res.jsonValue["@Redfish.Copyright"] = header.copyright;
     asyncResp->res.jsonValue["@odata.type"] = header.type;
-    asyncResp->res.jsonValue["Id"] = header.id;
+    asyncResp->res.jsonValue["Id"] =
+        std::format("{}.{}.{}.{}", header.registryPrefix, header.versionMajor,
+                    header.versionMinor, header.versionPatch);
     asyncResp->res.jsonValue["Name"] = header.name;
     asyncResp->res.jsonValue["Language"] = header.language;
     asyncResp->res.jsonValue["Description"] = header.description;
     asyncResp->res.jsonValue["RegistryPrefix"] = header.registryPrefix;
-    asyncResp->res.jsonValue["RegistryVersion"] = header.registryVersion;
+    asyncResp->res.jsonValue["RegistryVersion"] =
+        std::format("{}.{}.{}", header.versionMajor, header.versionMinor,
+                    header.versionPatch);
     asyncResp->res.jsonValue["OwningEntity"] = header.owningEntity;
 
     nlohmann::json& messageObj = asyncResp->res.jsonValue["Messages"];
