code: def submit_data(self, batch_id, halt_on_error=True):
          
          # check global setting for override
          if self.halt_on_batch_error is not None:
              halt_on_error = self.halt_on_batch_error
  
          content = self.data
          # store the length of the batch data to use for poll interval calculations
          self._batch_data_count = len(content.get('group')) + len(content.get('indicator'))
          self.tcex.log.info('Batch Size: {:,}'.format(self._batch_data_count))
          if content.get('group') or content.get('indicator'):
              headers = {'Content-Type': 'application/octet-stream'}
              try:
                  r = self.tcex.session.post(
                      '/v2/batch/{}'.format(batch_id), headers=headers, json=content
                  )
              except Exception as e:
                  self.tcex.handle_error(10520, [e], halt_on_error)
              if not r.ok or 'application/json' not in r.headers.get('content-type', ''):
                  self.tcex.handle_error(10525, [r.status_code, r.text], halt_on_error)
              return r.json()
          return {}
docs: Submit Batch request to ThreatConnect API.
          Args:
              batch_id (string): The batch id of the current job.