diff --git a/sdbusplus/message.hpp b/sdbusplus/message.hpp
index 30e8d8a..df8a38d 100644
--- a/sdbusplus/message.hpp
+++ b/sdbusplus/message.hpp
@@ -219,6 +219,21 @@
         return _intf->sd_bus_message_get_errno(_msg.get());
     }
 
+    /** @brief Get the type of a message.
+     *
+     * @return The type of message.
+     */
+    auto get_type()
+    {
+        uint8_t type;
+        int r = _intf->sd_bus_message_get_type(_msg.get(), &type);
+        if (r < 0)
+        {
+            throw exception::SdBusError(-r, "sd_bus_message_get_type");
+        }
+        return type;
+    }
+
     /** @brief Get the transaction cookie of a message.
      *
      * @return The transaction cookie of a message.
diff --git a/sdbusplus/sdbus.hpp b/sdbusplus/sdbus.hpp
index 5985266..f1bea78 100644
--- a/sdbusplus/sdbus.hpp
+++ b/sdbusplus/sdbus.hpp
@@ -72,6 +72,7 @@
     virtual int sd_bus_message_exit_container(sd_bus_message* m) = 0;
 
     virtual sd_bus* sd_bus_message_get_bus(sd_bus_message* m) = 0;
+    virtual int sd_bus_message_get_type(sd_bus_message* m, uint8_t* type) = 0;
     virtual int sd_bus_message_get_cookie(sd_bus_message* m,
                                           uint64_t* cookie) = 0;
     virtual const char* sd_bus_message_get_destination(sd_bus_message* m) = 0;
@@ -294,6 +295,11 @@
         return ::sd_bus_message_get_bus(m);
     }
 
+    int sd_bus_message_get_type(sd_bus_message* m, uint8_t* type) override
+    {
+        return ::sd_bus_message_get_type(m, type);
+    }
+
     int sd_bus_message_get_cookie(sd_bus_message* m, uint64_t* cookie) override
     {
         return ::sd_bus_message_get_cookie(m, cookie);
diff --git a/sdbusplus/test/sdbus_mock.hpp b/sdbusplus/test/sdbus_mock.hpp
index beb9a0e..7b8abc5 100644
--- a/sdbusplus/test/sdbus_mock.hpp
+++ b/sdbusplus/test/sdbus_mock.hpp
@@ -56,6 +56,7 @@
     MOCK_METHOD1(sd_bus_message_exit_container, int(sd_bus_message*));
 
     MOCK_METHOD1(sd_bus_message_get_bus, sd_bus*(sd_bus_message*));
+    MOCK_METHOD2(sd_bus_message_get_type, int(sd_bus_message*, uint8_t*));
     MOCK_METHOD2(sd_bus_message_get_cookie, int(sd_bus_message*, uint64_t*));
     MOCK_METHOD1(sd_bus_message_get_destination, const char*(sd_bus_message*));
     MOCK_METHOD1(sd_bus_message_get_interface, const char*(sd_bus_message*));
