diff --git a/src/tree_data.h b/src/tree_data.h
index d7aed28..c7d660e 100644
--- a/src/tree_data.h
+++ b/src/tree_data.h
@@ -222,6 +222,10 @@
  * subtree filter data, edit-config's data or other type of data set - such data do not represent a complete data set
  * and some of the validation rules can fail. Therefore there are other options (within lower 8 bits) to make parser
  * to accept such a data.
+ * - for validation, parser needs to add default nodes into the data tree. By default, these additional (implicit)
+ * nodes are removed before the parser returns. However, if caller use one of the LYD_WD_* option, the default nodes
+ * added by parser are kept in the resulting tree or even the explicit nodes with the default values can be removed
+ * (in case of #LYD_WD_TRIM option).
  * @{
  */
 
@@ -275,6 +279,19 @@
                                        If used, libyang generates validation error instead of silently removing the
                                        constrained subtree. */
 
+#define LYD_WD_MASK       0xF0000 /**< Mask for with-defaults modes */
+#define LYD_WD_TRIM       0x10000 /**< Remove all nodes with the value equal to their default value */
+#define LYD_WD_ALL        0x20000 /**< Explicitly add all missing nodes with their default value */
+#define LYD_WD_ALL_TAG    0x40000 /**< Same as LYD_WD_ALL but also adds attribute 'default' with value 'true' to
+                                       all nodes that has its default value. The 'default' attribute has namespace:
+                                       urn:ietf:params:xml:ns:netconf:default:1.0 and thus the attributes are
+                                       created only when the ietf-netconf-with-defaults module is present in libyang
+                                       context. */
+#define LYD_WD_IMPL_TAG   0x80000 /**< Same as LYD_WD_ALL_TAG but the attributes are added only to the nodes that
+                                       are being created and were not part of the original data tree despite their
+                                       value is equal to their default value. There is the same limitation regarding
+                                       the presence of ietf-netconf-with-defaults module in libyang context. */
+
 /**@} parseroptions */
 
 /**
@@ -581,6 +598,26 @@
 int lyd_validate(struct lyd_node **node, int options, ...);
 
 /**
+ * @brief Add default nodes into the data tree.
+ *
+ * @param[in] ctx Optional parameter. If provided, default nodes from all modules in the context will be added (so it
+ *            has no effect for #LYD_WD_TRIM). If NULL, only the modules explicitly mentioned in data tree are
+ *            taken into account.
+ * @param[in] root Data tree root. In case of #LYD_WD_TRIM the data tree can be modified so the root can be changed or
+ *            removed. In other modes and with empty data tree, new default nodes can be created so the root pointer
+ *            will contain/return the newly created data tree.
+ * @param[in] options Options for the inserting data to the target data tree options, see @ref parseroptions. The
+ *            LYD_WD_* options are used to select functionality:
+ * - #LYD_WD_TRIM - remove all nodes that have value equal to their default value
+ * - #LYD_WD_ALL - add default nodes
+ * - #LYD_WD_ALL_TAG - add default nodes and add attribute 'default' with value 'true' to all nodes having their default value
+ * - #LYD_WD_IMPL_TAG - add default nodes, but add attribute 'default' only to the added nodes
+ * @note The *_TAG modes require to have ietf-netconf-with-defaults module in the context of the data tree.
+ * @return EXIT_SUCCESS ot EXIT_FAILURE
+ */
+int lyd_wd_add(struct ly_ctx *ctx, struct lyd_node **root, int options);
+
+/**
  * @brief Unlink the specified data subtree. All referenced namespaces are copied.
  *
  * Note, that the node's connection with the schema tree is kept. Therefore, in case of
