There is a concurrent request limit which may result in the TOO_MANY_REQUESTS error. This is mentioned in the documentation
The below advice should 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 a high load. Also if your request is being processed, it does not count against the rate limiting 3 queued requests.
The error will occur on placeOrders, cancelOrders. updateOrders, replaceOrders if the number of individual transactions (place, cancel, update or replace instructions) submitted exceeds 1000 in a single second.