diff --git a/redfish-core/lib/pcie.hpp b/redfish-core/lib/pcie.hpp
index 45625f7..2754216 100644
--- a/redfish-core/lib/pcie.hpp
+++ b/redfish-core/lib/pcie.hpp
@@ -217,6 +217,31 @@
     return std::nullopt;
 }
 
+inline void getPCIeDeviceState(const std::shared_ptr<bmcweb::AsyncResp>& aResp,
+                               const std::string& pcieDevicePath,
+                               const std::string& service)
+{
+    sdbusplus::asio::getProperty<bool>(
+        *crow::connections::systemBus, service, pcieDevicePath,
+        "xyz.openbmc_project.Inventory.Item", "Present",
+        [aResp](const boost::system::error_code& ec, const bool value) {
+        if (ec)
+        {
+            if (ec.value() != EBADR)
+            {
+                BMCWEB_LOG_ERROR << "DBUS response error for State";
+                messages::internalError(aResp->res);
+            }
+            return;
+        }
+
+        if (!value)
+        {
+            aResp->res.jsonValue["Status"]["State"] = "Absent";
+        }
+        });
+}
+
 inline void getPCIeDeviceAsset(const std::shared_ptr<bmcweb::AsyncResp>& aResp,
                                const std::string& pcieDevicePath,
                                const std::string& service)
@@ -371,6 +396,7 @@
         "redfish", "v1", "Systems", "system", "PCIeDevices", pcieDeviceId);
     aResp->res.jsonValue["Name"] = "PCIe Device";
     aResp->res.jsonValue["Id"] = pcieDeviceId;
+    aResp->res.jsonValue["Status"]["State"] = "Enabled";
 }
 
 inline void handlePCIeDeviceGet(App& app, const crow::Request& req,
@@ -394,6 +420,7 @@
                               const std::string& service) {
         addPCIeDeviceCommonProperties(aResp, pcieDeviceId);
         getPCIeDeviceAsset(aResp, pcieDevicePath, service);
+        getPCIeDeviceState(aResp, pcieDevicePath, service);
         getPCIeDeviceProperties(
             aResp, pcieDevicePath, service,
             [aResp, pcieDeviceId](
