The Platform enforces rolling rate limits to restrict the number of API requests a user, application, or service can make within a dynamic timeframe. It helps prevent a single user or service from consuming disproportionate resources that could degrade the service for others.
Requests are monitored against both 60-second and 1-hour limits. As long as neither limit is exceeded, the application can continue making requests. However, if the 1-hour limit is breached, all further requests are blocked, even if the 60-second limit is still within bounds.
When a rate limit is exceeded, subsequent requests will fail with one of the following error messages:
- Minute-based Limit: “You’ve exceeded the per-minute rate limit. Please wait for some time before retrying.”
- Hour-based Limit: “You’ve exceeded the hourly rate limit. Please wait for some time before retrying.”
API Rate Limit Matrix
Enforcement Level |
Rate Limit |
API List |
bot |
60 per minute
1800 per hour |
Bot Definition APIs (Upload File, Import Bot as a New Bot, Import Bot into an Existing Bot, Import Bot Functions, Install Sample Bot, Bot Export, Enable Channel, Add and Enable a New Language, Enable an existing Language, Disable an existing Language, Update a Language Configuration, Publish Bot, Bot Variables Import, Batch Test Execution, Get Batch Test Suites, Export Batch Test Suite, Import Batch Test Suite, Delete Batch Test Suite, Delete Batch Test Suite Execution, Create (Import) a Conversation Test Suite, Conversation Test Suite Execution, and Delete Conversation Test Suite)
NLP Training APIs (ML Utterances Import, ML Utterance Train, ML Utterances Export, FAQ Training, Extraction from file or URL, Get Extractions History, Get Extraction Question, Get KnowledgeTasks, Add Questions from Extraction, Get FAQs, and Update NLP Configurations)
Analytics APIs (Find Intent, Conversation History, Conversation Summary, Feedback Analytics, Debug Logs, Get ChangeLogs, Sessions History, Get Dashboard Widget Data, Get Analytics, User Engagement Trend, and Conversation Details and Summary) |
request_id |
60 per minute
1800 per hour |
Bot Definition Status APIs (Bot Import Status, Bot Export – Status, Bot Publish Status, Batch Test Execution Status, Conversation Test Suite Creation Status, and Conversation Test Suite Execution Status)
NLP Training Status APIs (ML Utterances Import Status, ML Utterance Train Status, ML Utterances Export Status, and FAQ Training Status) |
account |
60 per minute
1800 per hour |
Admin APIs (Get Bots, Import Roles, Get Roles, Get User Roles Details, Get Groups, Export Roles, Assign BT Roles, Assign Admin Roles, Update User Access, Create Users, Get Users Information, Update User, Remove Users from Account, Delete Customer Data, Delete Customer Data Status API, and Get Admin Console Audit Logs) |
bot |
600 per minute
18000 per hour |
Bot Definition Notification APIs (Proactive Notification, Proactive Notification Status) |
account+table |
600 per minute
18000 per hour |
Data access APIs (Insert Data, Insert Bulk Data, Update Data, Delete Data, Get Table Data, and Get View Data) |
Best Practices
- Spread out calls evenly to avoid traffic spikes.
- Use filters to limit the data response size and avoid calls that request overlapping data.
- When the limit has been reached, stop making API calls. Wait for the specific time period to pass. Alternatively, implement a backoff strategy where your application automatically reduces its request frequency and retries failed requests after a calculated delay.
Need a higher or custom rolling Rate Limit? Contact support.