Rate Limits
Overview
Glassix APIs are subject to rate limits to maintain the platform's stability and security. Rate limits help prevent abuse, spam, denial-of-service (DoS) attacks, and other disruptive activities.
Rate limiting restricts the number of API requests that can be made within a defined time period for each user and department combination. These limits vary depending on the specific API endpoint (path) and the rate limit tier associated with the workspace.
Example:
A workspace on Tier 2 calls /tickets/create, which allows 10 requests per minute per user and department.
| Time | User | Request # | Result |
|---|---|---|---|
| 10:00:00 | user-a | 1–10 | 200 OK |
| 10:00:45 | user-a | 11 | 429 Too Many Requests |
| 10:00:50 | user-b | 1 | 200 OK |
| 10:01:00 | user-a | 12 | 200 OK (window reset) |
The 11th request from user-a is rejected until the minute window resets. Rate limits are not shared across the workspace. user-b has its own counter of 10 per minute for the same path, so its request succeeds even while user-a is blocked. The same applies when one user acts in different departments: each user and department pair has a separate counter.
Counters are also tracked separately per path, so user-a can still call /tickets/send while /tickets/create is exhausted.
For paths with an hourly limit as well (for example /tickets/list: 5 per minute, 30 per hour), both limits apply. After 30 calls in an hour, further requests return 429 even if the current minute has room.
Error Handling
When the rate limit for a given endpoint is exceeded, Glassix will return a 429 Too Many Requests HTTP status code. This indicates that the rate limit has been surpassed, and the client should wait before making additional requests.
Rate Limits
This section provides an overview of the rate limits for different API endpoints based on your subscription tier.
The rate limits are enforced on a per-minute basis, while some may have per-hour limitations.
You can view your workspace tier in Settings>Developers>API Keys.
If you are interested in upgrading your tier, you can contact our support team.
| Path | Tier 0 (SaaS Starter) | Tier 1 (SaaS Growth) | Tier 2 (Ent. Default) | Tier 3 | Tier 4 | Tier 5 |
|---|---|---|---|---|---|---|
/token/get | No Access | 30 | 30 | 30 | 30 | 30 |
/tickets/get | No Access | 1 | 10 | 20 | 40 | 60 |
/tickets/create | No Access | 1 | 10 | 20 | 40 | 60 |
/tickets/setsummary | No Access | 1 | 10 | 20 | 40 | 60 |
/tickets/list | No Access | 1 per minute, 3 per hour | 5 per minute, 30 per hour | 10 per minute, 60 per hour | 20 per minute, 120 per hour | 30 per minute, 180 per hour |
/tickets/send | No Access | 10 | 100 | 200 | 400 | 600 |
/tickets/setstate | No Access | 3 | 30 | 60 | 120 | 180 |
/tickets/setfields | No Access | 3 | 30 | 60 | 120 | 180 |
/tickets/setparticipantname | No Access | 1 | 10 | 20 | 40 | 60 |
/tickets/setowner | No Access | 3 | 30 | 60 | 120 | 180 |
/tickets/assignavailableuser | No Access | 1 | 10 | 20 | 40 | 60 |
/tickets/setdepartment | No Access | 1 | 10 | 20 | 40 | 60 |
/tickets/addtags | No Access | 3 | 30 | 60 | 120 | 180 |
/tickets/removetag | No Access | 1 | 10 | 20 | 40 | 60 |
/tickets/addnote | No Access | 1 | 10 | 20 | 40 | 60 |
/tickets/scramble | No Access | 1 | 10 | 20 | 40 | 60 |
/tickets/pdf | No Access | 1 | 10 | 20 | 40 | 60 |
/tickets/html | No Access | 1 | 10 | 20 | 40 | 60 |
/tickets/generatesurveylink | No Access | 1 | 10 | 20 | 40 | 60 |
/users/allusers | No Access | 1 | 10 | 20 | 40 | 60 |
/users/getstatus | No Access | 1 | 10 | 20 | 40 | 60 |
/users/setstatus | No Access | 1 | 10 | 20 | 40 | 60 |
/users/statuslogs | No Access | 1 per minute, 3 per hour | 10 per minute, 30 per hour | 20 per minute, 60 per hour | 40 per minute, 120 per hour | 60 per minute, 180 per hour |
/users/update | No Access | 1 | 10 | 20 | 40 | 60 |
/users/setfullname | No Access | 1 | 10 | 20 | 40 | 60 |
/users/add | No Access | 1 | 10 | 20 | 40 | 60 |
/users/delete | No Access | 1 | 10 | 20 | 40 | 60 |
/users/setuniqueargument | No Access | 1 | 10 | 20 | 40 | 60 |
/users/getbyuniqueargument | No Access | 1 | 10 | 20 | 40 | 60 |
/users/setroles | No Access | 1 | 10 | 20 | 40 | 60 |
/contacts/get | No Access | 1 | 10 | 20 | 40 | 60 |
/contacts/setname | No Access | 1 | 10 | 20 | 40 | 60 |
/contacts/addidentifier | No Access | 1 | 10 | 20 | 40 | 60 |
/contacts/setuniqueargumant | No Access | 1 | 10 | 20 | 40 | 60 |
/contacts/deleteidentifier | No Access | 1 | 10 | 20 | 40 | 60 |
/phonecalls/started | No Access | 1 | 10 | 20 | 40 | 60 |
/phonecalls/ended | No Access | 1 | 10 | 20 | 40 | 60 |
/phonecalls/audiolink | No Access | 1 | 10 | 20 | 40 | 60 |
/webhooks/getevents | No Access | 1 | 6 | 12 | 24 | 36 |
/webhooks/deleteevents | No Access | 1 | 6 | 12 | 24 | 36 |
/protocols/send | No Access | 50 | 500 | 1,000 | 2,000 | 3,000 |
/tenants/gettags | No Access | 1 | 1 | 2 | 4 | 6 |
/cannedreplies/getall | No Access | 1 | 1 | 2 | 4 | 6 |
/interactivedocuments/send | No Access | 1 | 10 | 20 | 40 | 60 |
/contents/categories/getall | No Access | 3 | 30 | 60 | 120 | 180 |
/contents/create | No Access | 3 | 30 | 60 | 120 | 180 |
/contents/get | No Access | 3 | 30 | 60 | 120 | 180 |
/contents/update | No Access | 3 | 30 | 60 | 120 | 180 |
/contents/delete | No Access | 3 | 30 | 60 | 120 | 180 |
/contents/getall | No Access | 3 | 30 | 60 | 120 | 180 |
/whatsapp/templates/{waba} | No Access | 1 | 2 | 5 | 10 | 20 |
Updated 5 days ago