This problem actually started somewhere in the past one or two weeks. Before that, there didn't seem to be any (significant) rate limiting, as I could make seemingly endless calls to the API without getting rate limited.
According to the API documentation:
Our rate limits per IP address per endpoint:
GET requests: 3 within any 3 consecutive secondsPOST requests: 5 within any 3 consecutive secondsPUT requests: 2 within any 3 consecutive seconds
However, when simply retrieving information about an account with
MonetaryAccount::listing($context, $userId)->getValue();I sometimes randomly get the error
HTTP Response Code: 429 Too many requests.
You can do a maximum of 1 POST call per 1 second to this endpoint.even when I only make one request after waiting multiple seconds.
First of all, the error does not match the documentation. 1 call per second is different from 5 calls per 3 seconds.
Secondly, the error does not match what is actually happening. I am not making more than one call in one second. I am making only one call and then waiting a bit until I try again.
Finally, the rate limit is way too low for any real-world application. For example, I am trying to allow people to link multiple bunq accounts to the account they have in my app. Then, they can view a list of their linked accounts. This list is produced using the command I stated above. Now if any user has more than one bank account linked (or 5 if the rate limit would match the documentation), simply displaying their accounts triggers the rate limiting.
I would like to stress that this worked perfectly fine up until one or two weeks ago. My implementation hasn't changed. I did upgrade the bunq php sdk to version 0.12.3, but I don't know if this could have anything to do with it.
Any ideas on this from bunq developers? Thanks!