Vault: Get Expiring Cards: Error Message: 987 Invalid transaction: max attempts reached

I am implementing Vault and have stored some credit cards in Vault. 

I am attempting to get dataKeys for the expiring cards using 'res_get_expiring'. However, it is failing with response code 987 with the following message:

[Message] => Invalid transaction: max attempts reached

Is there any limit on the number of times res_get_expiring can be tried in a day? 

 

Can it be due to my code? Here is my code (PHP)

public function getExpiringCards() 
{
$dataKeys = false;
$txnArray=array('type'=>'res_get_expiring',
);
$mpgTxn = new mpgTransaction($txnArray);

$mpgRequest = new mpgRequest($mpgTxn);
if ($mpgRequest)
{
$mpgRequest->setProcCountryCode($this->countryCode);
$mpgHttpPost =new mpgHttpsPost($this->store_id,$this->api_token,$mpgRequest);

if ($mpgHttpPost)
{
$res=$mpgHttpPost->getMpgResponse();
if ($res)
{
$this->response = $res;
if ($res->getResponseCode() < 50 ) // OK
{
$dataKeys = $res->getDataKeys();
}
}
}
}
return $dataKeys;
}