API threshold limit reached

I received emails today stating that my api thresholds were reached but if i check the api performance graphs i see that the app is not even using 10% of the limit. error reports:

Fatal Exception: java.lang.RuntimeException: Could not register device on Backendless server: com.backendless.exceptions.billing.LimitReachedException: You have reached your limit. Consider upgrading the billing plan or purchase a function pack for the Cloud9/99 plans.
at com.backendless.push.BackendlessBroadcastReceiver.onError(BackendlessBroadcastReceiver.java:83)
at com.backendless.push.BackendlessPushService$1.handleFault(BackendlessPushService.java:252)
at com.backendless.Messaging$2.handleFault(Messaging.java:247)
at com.backendless.async.message.AsyncMessage$FaultHandler.handle(AsyncMessage.java:83)
at com.backendless.async.message.AsyncMessage.handleCallback(AsyncMessage.java:41)
at com.backendless.core.AndroidCarrier$1.handleMessage(AndroidCarrier.java:37)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7223)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

why is this happening?

Hi, Dirk.

Please, go here: <Your_app> -> Manage -> Billing -> show current usage, and check that you really didn’t exceed any of the limits.
Write here about the result. If all limits are right, provide appId, that we would able to investigate a problem.

Hi Dirk,

What is your application ID? I’ll be happy to look into it for you.

Regards,
Mark

492BF43E-259A-2772-FF54-BCEDD786F700

thanks

On March 22 (on 9:00 UTC) your application had a peak in apicalls. That is why you received email.
You can see the total information about limits on the page described above.
Your screenshot didn’t contain this information, because a little delay exists between your real time actions and gathering analytics.

Hi Dirk,

The spike of the API calls was caused by device registrations (each device registration is an API call). You currently have 3280 devices registered with the app.

As Oleg pointed out, the spike occurred on March 22nd at 2:00am US Central time:
http://support.backendless.com/public/attachments/9f4792cfcbab69ac2dec0f0fdd9dee0d.png&lt;/img&gt;

Hope this helps.

Regards,
Mark

Hi Mark
Thanks for the info, I’ve never seen this before so that’s rather interesting. A few weeks ago I implemented a check in my app to look at the registration expiration date and re register the device for push notification if the current time is greater than the initial expiration time. The reason why I did this was because the expiration date seems to be 2 days after device registration, what is the best practice for registering devices for push notification using backendless? do I have to re register devices?

Hi Dirk,

A better approach would be to clear previous registration and re-register device when the user launches the app. This would spread out the calls more or less evenly and guarantee that a device’s registration is always current.

Hope this helps.

Regards,
Mark