diff --git a/core_manager.cpp b/core_manager.cpp
index 554d969..a2219c3 100644
--- a/core_manager.cpp
+++ b/core_manager.cpp
@@ -52,14 +52,12 @@
     constexpr auto MAPPER_BUSNAME = "xyz.openbmc_project.ObjectMapper";
     constexpr auto MAPPER_PATH = "/xyz/openbmc_project/object_mapper";
     constexpr auto MAPPER_INTERFACE = "xyz.openbmc_project.ObjectMapper";
-    constexpr auto IFACE_INTERNAL("xyz.openbmc_project.Dump.Internal.Create");
-    constexpr auto APPLICATION_CORED =
-        "xyz.openbmc_project.Dump.Internal.Create.Type.ApplicationCored";
+    constexpr auto DUMP_CREATE_IFACE = "xyz.openbmc_project.Dump.Create";
 
     auto b = sdbusplus::bus::new_default();
     auto mapper = b.new_method_call(MAPPER_BUSNAME, MAPPER_PATH,
                                     MAPPER_INTERFACE, "GetObject");
-    mapper.append(OBJ_INTERNAL, vector<string>({IFACE_INTERNAL}));
+    mapper.append(BMC_DUMP_OBJPATH, vector<string>({DUMP_CREATE_IFACE}));
 
     map<string, vector<string>> mapperResponse;
     try
@@ -79,9 +77,20 @@
     }
 
     const auto& host = mapperResponse.cbegin()->first;
-    auto m = b.new_method_call(host.c_str(), OBJ_INTERNAL, IFACE_INTERNAL,
-                               "Create");
-    m.append(APPLICATION_CORED, files);
+    auto m = b.new_method_call(host.c_str(), BMC_DUMP_OBJPATH,
+                               DUMP_CREATE_IFACE, "CreateDump");
+    phosphor::dump::DumpCreateParams params;
+    using CreateParameters =
+        sdbusplus::common::xyz::openbmc_project::dump::Create::CreateParameters;
+    using DumpType =
+        sdbusplus::common::xyz::openbmc_project::dump::Create::DumpType;
+    using DumpIntr = sdbusplus::common::xyz::openbmc_project::dump::Create;
+    params[DumpIntr::convertCreateParametersToString(
+        CreateParameters::DumpType)] =
+        DumpIntr::convertDumpTypeToString(DumpType::ApplicationCored);
+    params[DumpIntr::convertCreateParametersToString(
+        CreateParameters::FilePath)] = files.front();
+    m.append(params);
     try
     {
         b.call_noreply(m);
diff --git a/dump_types.cpp b/dump_types.cpp
index 0bc30c4..5e4b153 100644
--- a/dump_types.cpp
+++ b/dump_types.cpp
@@ -5,10 +5,13 @@
 {
 DUMP_TYPE_TABLE dumpTypeTable = {
     {"xyz.openbmc_project.Dump.Create.DumpType.UserRequested",
-     {DumpTypes::USER, "BMC_DUMP"}}};
+     {DumpTypes::USER, "BMC_DUMP"}},
+    {"xyz.openbmc_project.Dump.Create.DumpType.ApplicationCored",
+     {DumpTypes::CORE, "BMC_DUMP"}}};
 
 DUMP_TYPE_TO_STRING_MAP dumpTypeToStringMap = {
     {DumpTypes::USER, "user"},
+    {DumpTypes::CORE, "core"}
 };
 } // namespace dump
 } // namespace phosphor
diff --git a/dump_types.hpp b/dump_types.hpp
index 2baaddc..39f3441 100644
--- a/dump_types.hpp
+++ b/dump_types.hpp
@@ -22,6 +22,7 @@
 enum class DumpTypes
 {
     USER,
+    CORE,
 };
 
 // A table of dump types
