Indeed, 4 days does seem too aggressive. You are probably a victim of automation:
for (apiKey in apiKeys)
if (userShouldPay(apiKey))
sendCanned4DayWarningEmail(apiKey);