diff --git a/redfish-core/lib/account_service.hpp b/redfish-core/lib/account_service.hpp
index 8c67f36..30f34fa 100644
--- a/redfish-core/lib/account_service.hpp
+++ b/redfish-core/lib/account_service.hpp
@@ -133,14 +133,14 @@
                "xyz.openbmc_project.User.Common.Error.UserNameExists") == 0)
     {
         messages::resourceAlreadyExists(asyncResp->res,
-                                        "#ManagerAccount.v1_3_0.ManagerAccount",
+                                        "#ManagerAccount.v1_4_0.ManagerAccount",
                                         "UserName", newUser);
     }
     else if (strcmp(errorMessage, "xyz.openbmc_project.User.Common.Error."
                                   "UserNameDoesNotExist") == 0)
     {
         messages::resourceNotFound(
-            asyncResp->res, "#ManagerAccount.v1_3_0.ManagerAccount", username);
+            asyncResp->res, "#ManagerAccount.v1_4_0.ManagerAccount", username);
     }
     else if (strcmp(errorMessage,
                     "xyz.openbmc_project.Common.Error.InvalidArgument") == 0)
@@ -1576,10 +1576,11 @@
                 }
 
                 asyncResp->res.jsonValue = {
-                    {"@odata.type", "#ManagerAccount.v1_3_0.ManagerAccount"},
+                    {"@odata.type", "#ManagerAccount.v1_4_0.ManagerAccount"},
                     {"Name", "User Account"},
                     {"Description", "User Account"},
-                    {"Password", nullptr}};
+                    {"Password", nullptr},
+                    {"AccountTypes", {"Redfish"}}};
 
                 for (const auto& interface : userIt->second)
                 {
@@ -1773,7 +1774,7 @@
                 if (!rc)
                 {
                     messages::resourceNotFound(
-                        asyncResp->res, "#ManagerAccount.v1_3_0.ManagerAccount",
+                        asyncResp->res, "#ManagerAccount.v1_4_0.ManagerAccount",
                         username);
                     return;
                 }
@@ -1786,7 +1787,7 @@
                     {
                         messages::resourceNotFound(
                             asyncResp->res,
-                            "#ManagerAccount.v1_3_0.ManagerAccount", username);
+                            "#ManagerAccount.v1_4_0.ManagerAccount", username);
                     }
                     else if (retval == PAM_AUTHTOK_ERR)
                     {
@@ -1908,7 +1909,7 @@
                 if (ec)
                 {
                     messages::resourceNotFound(
-                        asyncResp->res, "#ManagerAccount.v1_3_0.ManagerAccount",
+                        asyncResp->res, "#ManagerAccount.v1_4_0.ManagerAccount",
                         username);
                     return;
                 }
