Has anyone figured out why the pause endpoint for outbound campaigns starts returning 500 Internal Server Errors when concurrency spikes above 50 threads?
Running a JMeter script against POST /api/v2/outbound/campaigns/{campaignId}/pause in the ap-southeast-1 region. The goal is to simulate a bulk pause operation during a shift change for a large BPO client. The script uses a CSV data set with 500 unique campaign IDs. Thread group is configured for 100 threads, ramp-up 10 seconds, loop count 1. The HTTP Request sampler includes the standard Bearer token authentication header.
At 10-20 concurrent threads, the API responds with 200 OK and the campaign status updates correctly in the Genesys Cloud UI. However, once the thread count hits roughly 50 concurrent requests, the error rate jumps to 40%. The response body for the 500 errors is empty or contains a generic JSON error object with no specific message. The latency for successful calls remains under 200ms, but failed calls timeout after 30 seconds.
Checked the API documentation and there is no mention of a specific rate limit for the pause endpoint other than the general tenant limit. The tenant is on the standard plan. We are not hitting the global rate limit as measured by the 429 responses. The issue seems specific to the state change operation under load.
Is this a known limitation of the outbound dialer API? Are there specific headers or query parameters needed to handle bulk operations? The JMeter log shows the requests are being sent correctly with valid tokens. The campaigns are active and eligible for pausing.
Looking for any insights on handling high-concurrency state changes for outbound campaigns. Any workarounds or best practices for load testing this specific endpoint? The client requires the ability to pause hundreds of campaigns within a 5-minute window. Current setup is failing this requirement.