Bot API 429s during JMeter load test for AI conversations

Does anyone understand why the Bot API endpoints are throwing 429 Too Many Requests errors during a moderate concurrency load test?

I am running a JMeter 5.6.2 script from Singapore to simulate inbound AI bot interactions. The goal is to test the platform’s capacity for handling concurrent bot sessions. The script hits the /api/v2/conversations/botsessions endpoint to create sessions and then immediately queries /api/v2/conversations/botsessions/{botSessionId}/messages to send user inputs.

At just 20 concurrent threads, I start seeing consistent 429 responses. The response headers include Retry-After: 1, but even with a 1-second delay, the rate limit persists. This is different from the WebSocket disconnects I saw with analytics. Here are the specific details:

  • Tool: JMeter 5.6.2
  • Location: Asia/Singapore
  • Endpoint: /api/v2/conversations/botsessions and /api/v2/conversations/botsessions/{botSessionId}/messages
  • Concurrency: 20 threads, ramp-up 0s
  • Error: 429 Too Many Requests

I have verified that the API keys have the correct scopes (conversation:bot:read, conversation:bot:write). The rate limit seems very low for bot interactions compared to other APIs. Is there a specific throttle for bot sessions that I am missing, or is this a known limitation for high-throughput bot testing?