Use Case: A user has supplied Plaid with credentials to "amex". For some reason, that user changes their password. Plaid can no longer access Amex on behalf of the user.
Problem: I believe that right now, the information flow for bad credentials is that an error message is received when the Plaid client checks for updated information (e.g. new transactions). However, Plaid probably knows about the incorrect credentials prior to that request. Relying on a synchronous event (requesting new transactions from the PlaidAPI, e.g.) to communicate the error potentially leaves Plaid customers in a bad state.
It would be nice to see something like
"code"=>"49","message"=>"Credentials Invalid","access_token"=>"XYZAAAA"