I used dp.action_seterr_extended(uninfo=self.uinfo,code=CONFD_ERRCODE_ACCESS_DENIED,apptag_ns=0,apptag_tag=0,errstr=err) instead of dp.action_seterr(self.uinfo, err). Internally action_seterr calls action_seterr_extended method but trying to change the status code.