diff --git a/redfish-core/include/error_messages.hpp b/redfish-core/include/error_messages.hpp
index f55a6bb..b843970 100644
--- a/redfish-core/include/error_messages.hpp
+++ b/redfish-core/include/error_messages.hpp
@@ -1079,15 +1079,6 @@
 
 void arraySizeTooLong(crow::Response& res, std::string_view property,
                       uint64_t length);
-/**
- * @brief Formats StringValueTooLong message into JSON
- * Message body: "Indicates that a string value passed to the given resource
- * exceeded its length limit."
- * @returns Message StringValueTooLong formatted to JSON */
-nlohmann::json stringValueTooLong(std::string_view property, uint64_t length);
-
-void stringValueTooLong(crow::Response& res, std::string_view property,
-                        uint64_t length);
 
 } // namespace messages
 
diff --git a/redfish-core/src/error_messages.cpp b/redfish-core/src/error_messages.cpp
index 33f5d70..4a9e08a 100644
--- a/redfish-core/src/error_messages.cpp
+++ b/redfish-core/src/error_messages.cpp
@@ -1790,27 +1790,6 @@
     addMessageToErrorJson(res.jsonValue, arraySizeTooLong(property, length));
 }
 
-/**
- * @internal
- * @brief Formats StringValueTooLong message into JSON
- *
- * See header file for more information
- * @endinternal
- */
-nlohmann::json stringValueTooLong(std::string_view property, uint64_t length)
-{
-    std::string valStr = std::to_string(length);
-    return getLog(redfish::registries::base::Index::stringValueTooLong,
-                  std::to_array<std::string_view>({property, valStr}));
-}
-
-void stringValueTooLong(crow::Response& res, std::string_view property,
-                        uint64_t length)
-{
-    res.result(boost::beast::http::status::method_not_allowed);
-    addMessageToErrorJson(res.jsonValue, stringValueTooLong(property, length));
-}
-
 void invalidUpload(crow::Response& res, std::string_view arg1,
                    std::string_view arg2)
 {
