Is your code looking at this element?
struct confd_error error; /* user settable via */
/* confd_trans_seterr*() */
Why? (It should perhaps have been in the "ConfD internal fields" section.) As the comment says, it will be set if your callback calls confd_trans_seterr() - and then it will be used, i.e. passed to ConfD, when/if your callback returns CONFD_ERR. If your callback returns CONFD_ERR without calling confd_trans_seterr() or related functions, the pre-set information will be used. And if you read the section "EXTENDED ERROR REPORTING" in the confd_lib_lib(3) man page, you will find:
A call of confd_trans_seterr(tctx, "string") is equivalent to
confd_trans_seterr_extended(tctx, CONFD_ERRCODE_APPLICATION, 0, 0,
from which yo can perphaps deduce that returning CONFD_ERR without calling any of the confd_trans_seterr*() functions is equivalent to having called
confd_trans_seterr_extended(tctx, CONFD_ERRCODE_APPLICATION, 0, 0, "")
which is what the pre-set info corresponds to. Bottom line, your code should not look at this info at all (nor write it other than via the documented functions).