diff --git a/src/netconf-client.cpp b/src/netconf-client.cpp
index 8cf034e..4638bcb 100644
--- a/src/netconf-client.cpp
+++ b/src/netconf-client.cpp
@@ -314,6 +314,8 @@
         return "ietf-datastores:startup";
     case NmdaDatastore::Running:
         return "ietf-datastores:running";
+    case NmdaDatastore::Candidate:
+        return "ietf-datastores:candidate";
     case NmdaDatastore::Operational:
         return "ietf-datastores:operational";
     }
@@ -329,6 +331,15 @@
     return impl::do_get(this, std::move(rpc));
 }
 
+void Session::editData(const NmdaDatastore datastore, const std::string& data)
+{
+    auto rpc = impl::guarded(nc_rpc_editdata(datastoreToString(datastore), NC_RPC_EDIT_DFLTOP_MERGE, data.c_str(), NC_PARAMTYPE_CONST));
+    if (!rpc) {
+        throw std::runtime_error("Cannot create get RPC");
+    }
+    return impl::do_rpc_ok(this, std::move(rpc));
+}
+
 std::string Session::getSchema(const std::string_view identifier, const std::optional<std::string_view> version)
 {
     auto rpc = impl::guarded(nc_rpc_getschema(identifier.data(), version ? version.value().data() : nullptr, nullptr, NC_PARAMTYPE_CONST));
diff --git a/src/netconf-client.hpp b/src/netconf-client.hpp
index 0794958..839c528 100644
--- a/src/netconf-client.hpp
+++ b/src/netconf-client.hpp
@@ -20,6 +20,7 @@
 enum class NmdaDatastore {
     Startup,
     Running,
+    Candidate,
     Operational
 };
 namespace client {
@@ -55,6 +56,7 @@
                     const NC_RPC_EDIT_TESTOPT testOption,
                     const NC_RPC_EDIT_ERROPT errorOption,
                     const std::string& data);
+    void editData(const NmdaDatastore datastore, const std::string& data);
     void copyConfigFromString(const NC_DATASTORE target, const std::string& data);
     std::shared_ptr<libyang::Data_Node> rpc_or_action(const std::string& xmlData);
     void copyConfig(const NC_DATASTORE source, const NC_DATASTORE destination);
diff --git a/src/netconf_access.cpp b/src/netconf_access.cpp
index 4709431..ecd337e 100644
--- a/src/netconf_access.cpp
+++ b/src/netconf_access.cpp
@@ -119,7 +119,7 @@
 void NetconfAccess::doEditFromDataNode(std::shared_ptr<libyang::Data_Node> dataNode)
 {
     auto data = dataNode->print_mem(LYD_XML, 0);
-    m_session->editConfig(NC_DATASTORE_CANDIDATE, NC_RPC_EDIT_DFLTOP_MERGE, NC_RPC_EDIT_TESTOPT_TESTSET, NC_RPC_EDIT_ERROPT_STOP, data);
+    m_session->editData(libnetconf::NmdaDatastore::Candidate, data);
 }
 
 void NetconfAccess::commitChanges()
