def METHOD_NAME(self, action="GET", url="/", data=None, query_params=None):
    headers = {}
    target = self.endpoint_api + url
    body = ""
    if data is not None:
        headers["Content-type"] = "application/json"
        body = json.dumps(data)
    headers["Authorization"] = f"Bearer {self._get_provider_option('auth_token')}"
    result = requests.request(
        method=action, url=target, params=query_params, data=body, headers=headers
    )
    result.raise_for_status()
    json_result = result.json()
    if json_result["result"] != "success":
        raise Exception("API didn't return success status")
    return json_result