code: def errors(self, batch_id, halt_on_error=True):
          
          errors = []
          try:
              r = self.tcex.session.get('/v2/batch/{}/errors'.format(batch_id))
              # if r.status_code == 404:
              #     time.sleep(5)  # allow time for errors to be processed
              #     r = self.tcex.session.get('/v2/batch/{}/errors'.format(batch_id))
              self.tcex.log.debug(
                  'Retrieve Errors for ID {}: status code {}, errors {}'.format(
                      batch_id, r.status_code, r.text
                  )
              )
              # self.tcex.log.debug('Retrieve Errors URL {}'.format(r.url))
              # API does not return correct content type
              if r.ok:
                  errors = json.loads(r.text)
              # temporarily process errors to find "critical" errors.
              # FR in core to return error codes.
              for error in errors:
                  error_reason = error.get('errorReason')
                  for error_msg in self._critical_failures:
                      if re.findall(error_msg, error_reason):
                          self.tcex.handle_error(10500, [error_reason], halt_on_error)
              return errors
          except Exception as e:
              self.tcex.handle_error(560, [e], halt_on_error)
docs: Retrieve Batch errors to ThreatConnect API.
  
          .. code-block:: javascript
  
              [{
                  "errorReason": "Incident incident-001 has an invalid status.",
                  "errorSource": "incident-001 is not valid."
              }, {
                  "errorReason": "Incident incident-002 has an invalid status.",
                  "errorSource":"incident-002 is not valid."
              }]
  
          Args:
              batch_id (str): The ID returned from the ThreatConnect API for the current batch job.
              halt_on_error (bool, default:True): If True any exception will raise an error.