code: def _request(self, domain, type_name, search_command, db_method, body=None):
          
          headers = {'Content-Type': 'application/json', 'DB-Method': db_method}
          search_command = self._clean_datastore_path(search_command)
          url = '/v2/exchange/db/{}/{}/{}'.format(domain, type_name, search_command)
          r = self.tcex.session.post(url, data=body, headers=headers, params=self._params)
  
          data = []
          status = 'Failed'
          if not r.ok or 'application/json' not in r.headers.get('content-type', ''):
              self.tcex.handle_error(350, [r.status_code, r.text])
          data = r.json()
          status = 'Success'
  
          return {'data': data, 'response': r, 'status': status}
docs: Make the API request for a Data Store CRUD operation
  
          Args:
              domain (string): One of 'local', 'organization', or 'system'.
              type_name (string): This is a free form index type name. The ThreatConnect API will use
                                  this resource verbatim.
              search_command (string): Search command to pass to ES.
              db_method (string): The DB method 'DELETE', 'GET', 'POST', or 'PUT'
              body (dict): JSON body