29 Oct 2024
Design Automation GET WorkItems/:id will be enforced with Rate Limit 150 Rate Per Minute (RPM)
If you have applications based on APS Design Automation and you are checking the status of a WorkItem using GET workItems/:id with a high frequency, please be informed of the upcoming change:
Rate limit 150 RPM per client id will be enforced for the endpoint GET workitems/:id starting May 1, 2025.
Rate Limiting
Rate limiting is used to control the amount of traffic sent or received by a network. If your application makes too many calls, the calls will fail after hitting the limit, resulting in an HTTP 429 response. This is a commonly used practice for a better flow of data and to increase security by mitigating attacks such as DoS.
When you are writing code for scalable solution, you will need to take this rate limit into consideration and when you hit this rate limit, you will need to wait till the given period has lapsed and retry. HTTP 429 responses will contain a “Retry-After” HTTP header, which indicates the number of seconds after which the client can call again. Below is an example of response when hitting an RPM limit:
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
Retry-After: 25
Server: Apigee Router
Content-Length: 44
{"developerMessage":"Quota limit exceeded."}
Action Required
If you know or expect that your application is calling GET workitems/:id more than 150 times per minute, please make sure to handle the 429 status code as described above.
“Polling” is a common use case of calling GET workitems/:id repeatedly. If your use case falls into this category, there are a couple of suggestions:
- Use OnComplete callback.
- If you have multiple workitems, use POST workitems/status to retrieve status of an array of workitems instead of calling GET workitems/:id multiple times.
- Use WebSocket API to fetch the workitem status if OnComplete callback does not work for your scenario.
- If GET workitems/:id is inevitable, please Do Not call more often than every other second.
You can find more information about rate limit here.
If you have any questions, please contact APS support.