Limits
Rate limits, concurrency limits, and resource limits for the Napster API
Need higher limits? Contact us at help.napster.com to discuss your requirements.
Rate limits
How often you can call the connection endpoints
Concurrency limits
How many sessions can run at the same time
Telephony behavior
What callers hear when phone channels are at capacity
Agents per organization
How many agents an organization can hold
Knowledge collections
How many files a collection can hold
FAQ collections
How many Q&A pairs a collection can hold
FAQ collections per agent
How many FAQ collections an agent can use
Rate limits
Connection endpoints are rate-limited to 1 request per second per API key. The limit is shared across these endpoints:
POST /public/connectionsPOST /public/ws-connectionsPOST /public/agents/{agentId}/connectionsDELETE /public/connections/{connectionId}
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: 1{
"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.
Agents per organization
Each organization can hold up to 100 agents. The limit counts all agents in the organization, across every project and API key.
When creating an agent would exceed the limit, POST /public/agents returns a 409 status code:
{
"code": "AgentLimitExceeded",
"description": "Organization has reached the maximum of 100 agents (100 used).",
"type": 3,
"numericType": 3
}Delete agents you no longer use to free up capacity, or contact us to raise the limit for your organization.
Knowledge collections
Each knowledge collection can contain up to 30 files. Adding a file to a full collection returns 400 KnowledgeBaseFileLimitReached. Per-file size limits depend on the file type — see supported file types.
FAQ collections
Each FAQ collection can hold up to 50 Q&A pairs. Creating a collection or adding pairs past that limit returns 400 FaqLimitExceeded.
FAQ collections per agent
An agent can have 1 FAQ collection attached. The limit applies everywhere faqCollections is accepted:
POST /public/agentsandPATCH /public/agents/{agentId}PUT /public/agents/{agentId}/channels/{channelType}POST /public/connectionsandPOST /public/ws-connections
Passing more than one ID returns a 400 validation error on faqCollections with the message "At most 1 FAQ collection can be attached." To cover more topics, add the Q&A pairs to the same FAQ collection.