Limits
Rate limits and concurrency limits for the Omniagent API
Need higher limits? Contact us at help.napster.com to discuss your requirements.
Rate limits
Connection endpoints are rate-limited to 1 request per 5 seconds. This applies to:
POST /public/connectionsPOST /public/ws-connectionsPOST /public/agents/{agentId}/connections
If you exceed this limit, the API returns a 429 status code with a Retry-After header indicating how many seconds to wait before retrying:
HTTP/1.1 429 Too Many Requests
Retry-After: 5{
"code": "RequestRateLimitExceeded",
"description": "Too many requests. Please try again later.",
"type": 12,
"numericType": 12
}Always respect the Retry-After header value rather than hardcoding a wait time.
Concurrency limits
Each organization can run up to 5 concurrent sessions per transport. The limit is tracked independently for each transport type:
| Transport | Concurrent sessions |
|---|---|
| WebRTC | 5 |
| WebSocket | 5 |
| VoIP | 5 |
| SIP | 5 |
| Total | 20 |
If you try to create a session that would exceed the limit, the API returns a 409 status code:
{
"code": "ConcurrentSessionLimitReached",
"description": "Organization has reached the maximum of 5 concurrent 'webrtc' sessions.",
"type": 3,
"numericType": 3
}Sessions count toward the limit from creation until they are closed. Idle sessions still count.
Telephony behavior
When concurrency limits are reached on phone channels (VoIP and SIP), the system plays a pre-recorded audio message informing the caller that no agents are available and asks them to try again later. The call is then dropped.