code: def _send_data(self, method, endpoint, action,
                     data, *url_args, **url_params):
          
          api_url = self._endpoint(endpoint, action, *url_args)
          data.update({'email': self.email, 'api_key': self.api_key})
          data = json.dumps(data)
          kwargs = {'headers': self.headers, 'params': url_params,
                    'verify': self.verify, 'data': data}
          if self.proxies:
              kwargs['proxies'] = self.proxies
          self.logger.debug("Requesting: %s %s, %s" % (method, api_url,
                                                       str(kwargs)))
          response = requests.request(method, api_url, **kwargs)
          self.logger.debug("Response: %d, %s" % (response.status_code,
                                                  response.content))
          return self._json(response)
docs: Submit to API Endpoint - for DELETE, PUT, POST methods.
  
          :param str method: Method to use for the request
          :param str endpoint: Endpoint
          :param str action: Endpoint Action
          :param url_args: Additional endpoints(for endpoints that take part of
                           the url as option)
          :param url_params: Parameters to pass to url, typically query string
          :return: response deserialized from JSON