Outbound Campaign API 429 Errors During JMeter Load Test

Struggling to understand why the Outbound Campaign API returns 429 Too Many Requests errors when simulating moderate load in our environment. We are preparing for a large-scale outbound campaign in the EST timezone and need to validate system capacity.

Current setup details:

  • Genesys Cloud version: Latest production build
  • JMeter version: 5.6.2
  • Test script: Simulating 50 concurrent outbound call initiations per minute
  • API endpoint: POST /api/v2/outbound/campaigns/{campaignId}/contacts

Steps to reproduce the issue:

  1. Create a new outbound campaign in Genesys Cloud with a simple dialing strategy.
  2. Configure JMeter test plan with HTTP Request sampler targeting the contacts endpoint.
  3. Set thread group to 50 users with ramp-up period of 10 seconds.
  4. Add CSV Data Set Config for contact details.
  5. Run the test for 5 minutes and monitor response codes.

Expected behavior:
All requests should return 200 OK or 201 Created status codes, indicating successful contact addition.

Actual behavior:
After approximately 30 seconds, the API starts returning 429 Too Many Requests errors. The rate limit headers indicate we are within the documented limits, but the errors persist.

Headers observed in response:

  • X-RateLimit-Limit: 1000
  • X-RateLimit-Remaining: 0
  • X-RateLimit-Reset: 1698765432

We have verified that the API rate limit headers show we are well within the allowed thresholds. The test environment is not experiencing any unusual latency or connectivity issues.

Has anyone encountered similar rate limiting issues during outbound campaign load testing? Any insights on how to optimize the test configuration or adjust the API calls would be appreciated.

Additional context:

  • The test is running from an EST timezone server.
  • No custom integrations or webhooks are configured for the campaign.
  • The contacts dataset contains 10,000 unique records.