code: protected Object httpRequest(ApiAction action, HttpRequestMethod method, Map<String, Object> data) throws IOException {
          String url = this.apiUrl + "/" + action.toString().toLowerCase();
          Type type = new TypeToken<Map<String, Object>>() {}.getType();
          String json = GSON.toJson(data, type);
          Map<String, String> params = buildPayload(json);
          Object response = httpClient.executeHttpRequest(url, method, params, handler, customHeaders);
          recordRateLimitInfo(action, method, response);
          return response;
      }
docs: Make Http request to Sailthru API for given resource with given method and data
  @param action
  @param method
  @param data parameter data
  @return Object
  @throws IOException