Just noticed that my JMeter scripts are failing hard when trying to simulate high-volume outbound campaigns via the Genesys Cloud platform API. We are running these tests from our Singapore office, targeting the https://api.mypurecloud.com endpoint. The goal is to validate how the system handles concurrent call initiations, specifically around the /api/v2/outbound/campaigns/{campaignId}/previewcalls endpoint.
The setup involves a JMeter thread group with 50 virtual users, each attempting to trigger a preview call every 2 seconds. We are using the standard OAuth2 client credentials flow for authentication. However, after just 15 seconds, the response time spikes, and we start seeing a flood of HTTP 429 Too Many Requests errors. This happens even though we are well below the documented rate limits for this specific endpoint (which I believe is 100 requests per minute per client ID).
Here is the error payload we are getting:
{
“code”: “too_many_requests”,
“message”: “You have exceeded the rate limit for this endpoint. Please retry after 30 seconds.”,
“status”: 429
}
I have checked the JMeter configuration, and the HTTP Request Defaults are set correctly with the necessary headers (Accept: application/json, Content-Type: application/json, Authorization: Bearer <token>). We are also keeping the WebSocket connections open for real-time status updates, but I suspect the issue lies in the initial HTTP burst.
Is there a specific way to handle rate limiting for the Outbound Dialer API during load testing? Should we be implementing exponential backoff in our JMeter script, or is there a higher limit available for performance testing environments? Any insights on how to properly throttle the request rate without compromising the test’s validity would be appreciated. We want to ensure we are not hitting artificial limits before reaching the actual system capacity.