def METHOD_NAME(
    self, method, path, payload=None, params=None, headers=None, webapi_uri=None
):
    if not webapi_uri:
        webapi_uri = list(self.connections.keys())[0]
    if not self.authenticate(webapi_uri=webapi_uri):
        return (False, 0, "")
    attempts = 0
    while attempts <= 1:
        success, status_code, response = METHOD_NAME(
            self.connections[webapi_uri][access_token],
            method,
            f"{webapi_uri}{path}",
            payload,
            params,
            headers or {},
        )
        attempts += 1
        # Unauthorised error: attempt to re-auth as scheduler might have restarted?
        if status_code == requests.codes.UNAUTHORIZED:
            self.authenticate(webapi_uri=webapi_uri, force=True)
            continue
        else:
            break
    return success, status_code, response