When entering multiple mfa question responses I receive an internal server error, but I am still able to receive the transactions from an account. Below is the flow that I am currently using which throws the error.
I grab the institution details via the GetInstitutionDetails(long institutionId);
I present the user with the first set of questions that they must answer and use their response with the DiscoverAndAddAccounts(long institutionId, InstitutionLogin login, out challenges, out challengeSession);
The user is presented with one mfa question. The user responds to the question and I call DiscoverAndAddAccountsResponse(challengeResponses, challengeSession);
I then update the institution login to determine if there are more questions to ask with the following call.
UpdateInstitutionLogin(InstitutionLoginId, login, true, out challenges, out challengeSessions);
When the user responds to these questions and I once again call DiscoverAndAddAccountsResponse(challengeResponses, challengeSession) with the new responses I receive and internal server error exception, but the account goes from "CHALLENGE_RESPONSE_REQUIRED" to "NOT_NECESSARY" and I am able to grab transaction data.
You should be calling UpdateInstitutionLoginResponse rather than DiscoverAndAddResponse if you are passing back challenges from the UpdateInstitutionLogin call.