diff --git a/redfish-core/include/error_messages.hpp b/redfish-core/include/error_messages.hpp
index 7dfdc80..3d11cc4 100644
--- a/redfish-core/include/error_messages.hpp
+++ b/redfish-core/include/error_messages.hpp
@@ -24,7 +24,7 @@
 namespace messages
 {
 
-constexpr const char* messageVersionPrefix = "Base.1.8.1.";
+constexpr const char* messageVersionPrefix = "Base.1.11.0.";
 constexpr const char* messageAnnotation = "@Message.ExtendedInfo";
 
 /**
@@ -250,6 +250,18 @@
 void resourceAtUriInUnknownFormat(crow::Response& res, const std::string& arg1);
 
 /**
+ * @brief Formats ServiceDisabled message into JSON
+ * Message body: "The operation failed because the service at <arg1> is disabled
+ * and " cannot accept requests."
+ *
+ * @param[in] arg1 Parameter of message that will replace %1 in its body.
+ *
+ * @returns Message ServiceDisabled formatted to JSON */
+nlohmann::json serviceDisabled(const std::string& arg1);
+
+void serviceDisabled(crow::Response& res, const std::string& arg1);
+
+/**
  * @brief Formats ServiceInUnknownState message into JSON
  * Message body: "The operation failed because the service is in an unknown
  * state and can no longer take incoming requests."
diff --git a/redfish-core/src/error_messages.cpp b/redfish-core/src/error_messages.cpp
index ad5f819..9c28e8f 100644
--- a/redfish-core/src/error_messages.cpp
+++ b/redfish-core/src/error_messages.cpp
@@ -573,6 +573,32 @@
 
 /**
  * @internal
+ * @brief Formats ServiceDisabled message into JSON
+ *
+ * See header file for more information
+ * @endinternal
+ */
+nlohmann::json serviceDisabled(const std::string& arg1)
+{
+    return nlohmann::json{
+        {"@odata.type", "#Message.v1_1_1.Message"},
+        {"MessageId", "Base.1.11.0.ServiceDisabled"},
+        {"Message", "The operation failed because the service at " + arg1 +
+                        " is disabled and cannot accept requests."},
+        {"MessageArgs", {arg1}},
+        {"MessageSeverity", "Warning"},
+        {"Resolution", "Enable the service and resubmit the request if the "
+                       "operation failed."}};
+}
+
+void serviceDisabled(crow::Response& res, const std::string& arg1)
+{
+    res.result(boost::beast::http::status::service_unavailable);
+    addMessageToErrorJson(res.jsonValue, serviceDisabled(arg1));
+}
+
+/**
+ * @internal
  * @brief Formats ServiceInUnknownState message into JSON
  *
  * See header file for more information
