private AuthResponse RequestAuthTokens(AuthInfo currentAuthInfo) { RestClient authClient = new RestClient("https://api.tdameritrade.com/v1/oauth2/token"); RestRequest request = new RestRequest(Method.POST); request.AddParameter("grant_type", "refresh_token"); request.AddParameter("refresh_token", currentAuthInfo.refresh_token); request.AddParameter("client_id", ConsumerKey); if (RefreshTokenNeedsUpdate(currentAuthInfo)) { Log.Information("Requesting new REFRESH token"); request.AddParameter("access_type", "offline"); } else { Log.Information("Requesting new access token only"); } IRestResponse response = TDClient.ExecuteRequest(authClient, request); return(JsonConvert.DeserializeObject <AuthResponse>(response.Content)); }