We are using the Google Vault Service via the Vault API SDK for .NET. Our application is attempting to create a Vault hold by making the following request via the API:
_vaultService.Matters.Holds.AddHeldAccounts(request, matterId, holdId).ExecuteAsync();
In the request body, we are passing in a list of email addresses. The documentation specifies to either include the emails OR the Google Account Ids (we are using the email addresses). The business logic of our application relies on the API response to tell our application which given emails are not valid. Those emails are then pruned from the request which is recursively resubmitted.
At present, we are seeing the response return apparently valid emails in the array of "Emails do not exist" emails. This is preventing us from being able to accurately determine which emails should and should not be able to be added to the hold. We are hoping to understand how to deal with this.
Example response:
Google.Apis.Requests.RequestError
Emails do not exist:
[bademail1@domain.com, goodemail1@domain.com] [400]
Errors [
Message[Emails do not exist:
[bademail1@domain.com, goodemail1@domain.com]] Location[ - ] Reason[badRequest] Domain[global]
]
We expect the known bad emails to be returned in the response, but not good emails.
We have manually validated the good email addresses using the API, but would like to avoid having to pre-validate every email before constructing and submitting the request.