There is a concurrent request limit which may result in the TOO_MANY_REQUESTS error. This is mentioned in the documentation
The below advice will hopefully help you to avoid this issue going forward and explains the service behaviour in more detail:
- The rate limiting applies to a logged in account ID, not a session.
- Your account will only get rate limited for its listMarketBook calls if you ask for an OrderProjection or a MatchProjection.
- That conditional listMarketBook rate limiting applies alongside two other operations: listCurrentOrders and listMarketProfitAndLoss, with all 3 operations contending with each other in the worst case.
- listClearedOrders has a separate rate limiting mechanism and won’t contend with any other operation
The service checks for 3 queued requests that are ready for processing; you would only expect requests to be queued when the system is experiencing high load. Also if your request is being processed, it does not count against the rate limiting 3 queued requests.