Hello everyone!
Welcome to Kaizen! This week, we will discuss credit calculation and concurrency in Zoho CRM APIs.
Credit calculation
API rate limiting is crucial to ensure fair resource distribution, maintain optimal service quality for all users, and safeguard our system from potential security threats. It helps us provide a consistent, reliable, and secure service to every user, while encouraging efficient and thoughtful API usage. API Usage in a CRM organization is calculated based on credits. When you make an API call, a specific number of credits are deducted from the total number of credits available to you. The number of credits available to you differs depending on the edition and user licence purchased. Below table shows the same.
Edition | Allowed Credits | Maximum Credits |
Free Edition
| 5000 credits | 5000 credits
|
Standard/Starter Edition
| 50,000 credits + (Number of User licenses x 250) + Add-on credits | 100,000 credits
|
Professional
| 50,000 credits + (Number of User licenses x 500) + Add-on credits | 1,000,000 credits
|
Enterprise/Zoho One | 50,000 credits + (Number of User licenses x 1000) + Add-on credits | 2,000,000 credits
|
Ultimate/CRM Plus
| 50,000 credits + (Number of User licenses x 2000) + Add-on credits | Unlimited
|
The API Rate Limit is for a rolling window of 24 hours i.e., for every API call, we will check the API credits consumed in the last 24 hours to see whether the current API call can be allowed or not. When you make the very first API call , a 24 hour window begins. The API credits you used at each time interval will be freed up after 24 hours corresponding to each time interval.
Consider the above example where we assume that you are making API calls starting from 9 AM. The total available credits are 5000. For simplicity, let us consider that there are no API calls made on the previous day and no additional credits were purchased.
Between 9:00 AM and 9:05 AM on day 1, you use up 100 credits and you are left with 4900 credits . Since no API calls were made the previous day, you have no API credits getting freed up at that time. Between 9:05 AM and 9:10 AM, you use up 150 credits, leaving you with 4750 credits. Let us assume that you exhausted your available limit by 8.45 AM the next day.
At 9 AM on day 2, 100 API credits used on the previous day (day 1) will be freed up. Similarly, at 9:05 AM on day 2 , 150 credits will be freed. In this case API calls between 8:45 AM and 9 AM will result in system errors.
Let us consider the same scenario if you had purchased add-on credits. After you exhaust your available limit by 8:45 AM on day 2, the credits for further API calls will be considered from the purchased add-on credits. At 9 AM, when the 100 API credits used on the previous day are freed up they are available for your use instead of add-on credits.
Concurrency
In addition to 24 hour rolling window throttler, Zoho CRM has concurrency limit being applied for APIs. It will limit the no of parallel API calls being active at one time instance. Concurrency limit is checked per org per OAuth app. Concurrency limit differs based on your Zoho CRM edition.
Edition | Concurrency limit for an Org/App |
Free | 5 |
Standard/Starter | 10 |
Professional | 15 |
Enterprise/Zoho One | 20 |
Ultimate/CRM Plus | 25 |
Let's assume your organization has a concurrency limit set at 10. A sequence of API calls are made one after another. When all these API calls are still in process with each API call you make, the number of concurrent API calls increases incrementally. Initially, when you make the first API call, concurrency is 1. For the second API call made before the end of the first API call, concurrency becomes 2, and so on. This scenario is shown in the picture above. Once you reach the 10th API call, concurrency reaches its maximum limit of 10. As a result, the 11th API call fails.
However, let's assume that the 5th API call completes its process, thereby reducing the concurrency level to 9. In this state, the 12th API call can be made successfully without encountering any errors.
Sub-concurrency
Some APIs will take much more computing resources than other APIs. For example, an Insert Records API call for a 1000 records will take much more resources than a Get Leads API call for a particular lead id.
For such APIs, we'll apply a separate concurrency limit namely sub-concurrency limit to ensure that the APIs are being used responsibly. The APIs that will falls under the sub-concurrency limit are
- Get Records with cvid or sort_by parameters
- Convert Lead
- Insert, Update, or Upsert records (when the record count is greater than 10)
- Send Mail
- Search records API invoked from function
- Query API
- Composite API
Across all editions of Zoho CRM, the sub-concurrency limit is set as 10. You can make 10 concurrent requests for a combination of the above listed APIs or 10 concurrent requests of one of the APIs. However, if the total number of sub-concurrent requests exceeds 10, the system will generate a "TOO_MANY_REQUESTS" error.
Let's understand how concurrency and sub-concurrency apply together to your API calls. Assume that in your organization, the concurrency limit is set at 12 and sub-concurrency limit is set at 10.
We'll consider a case where send mail API call has been fired in parallel 11 times, for which the sub-concurrency is applicable. For the first 10 send mail API calls, there won't be any error and sub-concurrency limit will reach it's maximum allowed limit of 10. When the 11th API call is made, the error "TOO_MANY_REQUESTS" will be thrown even though the concurrency limit of 12 has not reached .
Now, let's consider the 12th API call, doesn't fall under the category of API calls subject to the sub-concurrency limit, say it is a normal GET records call with just fields & ids parameter. This call goes through successfully without encountering any errors. Similarly, the 13th API call, a GET user API call, also goes through. At this point, the concurrency is 12, and the concurrency limit is set at 12 as well. The 14th API call will result in an error because the concurrency limit exceeded. In short, the number of API calls allowed at a time depends on the concurrency limit and sub-concurrency limit.
We hope you found this post useful and it increased your understanding. Stay tuned for more.
Cheers!
Mable
Recent Topics
Top Menu Disappeared from Blog Page
Hi, Our top menu disappeared at Blog Posts page. However, it's still visible any other page on the website. I attached two screenshots, so it can be understood clearly. How can we bring back top menu? Thanks, K.
Missing phone numbers
yesterday I have noticed that most contacts' phone numbers are missing. At first I thought it is a synchronisation problem with my Android phone but as I have found later, numbers are missing on Zoho. I have tried to reimport contacts from a backup but
Customise 404 page in Zoho Sites 2.0
Is it possible to customise the 404 page in Zoho Sites 2? You use to create a new 404 page and that became the default 404 page, but this does not seem to work anymore? Any pointers/suggestions/support appreciated :)
[Important announcement] Zoho Writer will mandate DKIM configuration for automation users
Hi all, Effective Dec. 31, 2024, configuring DKIM for From addresses will be mandatory to send emails via Zoho Writer. DKIM configuration allows recipient email servers to identify your emails as valid and not spam. Emails sent from domains without DKIM
Create workflow rules based on notes
Last modified on 17/04/2023: Creating Workflow rules based on notes is now available for all Zoho CRM users in all DCs. Note that it was an early access feature available only upon request. As of April 13, 2023, it is rolled out for al Zoho CRM accounts.
Workflow sync between zoho books and zoho inventory
Hello, While the custom fields, validation rules and even custom buttons are sync'd between zoho books and zoho inventory, the workflow rules do not. Not sure if this is an intentional purpose of zoho team for some good reason or if it's in the development
Item sales account via api
Hey everyone, I’m making an invoice using the create invoice endpoint on the api. Is it possible to set a sales account in the line_items attributes?
Zoho Please change your ways
I started using Your new Zoho bookings in earnest 3 days ago. What a mistake. Once again, everything is backwards and upside down. I had to spend 5 hours testing how the thing works in order for me to understand how to acutally use it. When i started using google calendar years ago. it took seconds to figure out how it works. Why is that. bc they put everything in places where it makes sense. Today, I needed to add an appointment as well as a time off. Stupid me i added the time off first,
Make a ticket visible in the Community
Hi there, It is possible to have a conversation with a customer via a ticket and eventually the proposed solution isn't possible yet. Therefore you want to add it as an idea in the Community, available and open to everyone that is in the community, so
Zoho email folders gone
Hi, All my email folders are gone, i cant found any email, except sent. Also before folder rulesas was changed and i didnt fixed them, could you please check it?
Pause/Resume Subscrtiption API
I don't see the option to Pause/Resume a subscription using the API, is it in the pipeline?
Update Department on Ticket (with applied Blueprint)
Hello, Is it possible to update the Department of a ticket which is dictated by a blueprint, e.g. I would like to change departments at different states in the Blueprint. I do not see this is an option in workflow rules or blueprint transition actions,
ERROR_CODE :554, ERROR_CODE :rejected due to spam
Please verify bounce message: This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. xxx@thalesesec.com Error, ERROR_CODE :554, ERROR_CODE
Can't verify domain with AWS Route53
I have a domain successfully transferred to AWS Route53 from NameCheap. When I try to CNAME or TXT Records as suggested, they are added in AWS console however zohomail does not verify them. For the TXT record zohomail says the value is wrong, whereas
Sent emails not going and showing "Processing"
Hello Team, Could you please assist with sent emails showing "processing" and not actually going through? Many thanks and regards, Cycology
LinkedIn verification link and otp not receiving
For the last 2 to 3 weeks I'm trying to verify my LinkedIn account to access my company's LinkedIn page, Linkedin is sending verification links and codes to this email address but I have not received any codes or links. Please help me here. Looking forward
send file to ftp or another external service
i'v created a zoho creator application for take a picture and rename it by phone. Now i need to send Each renamed pictures to my ftp or to specific folder on google drive...then, delete it from creator. (every picture recived it will processed by another program and stored on my Erp) HOW CAN I DO ??
Mass pdfs into OCR field
I am working on a Creator app that my org will use internally. Is there any way to mass upload pfs through a form with an OCR file upload field? Is Creator capable of this, or would I need to use Catalyst?
How to upload a file to form file upload field from deluge script.
Hi guys, I need to store API response into Form File upload field . I'm not getting any errors but PDF file is not assigned to file upload field. You can check possibilities using below details: Method: POST URL: https://v2.convertapi.com/convert/web/to/pdf?Secret=<<SecretKey>>&Token=<<APIKey>>&Url=https://www.google.com You need to generate secretKey and APIKey by Login to https://www.convertapi.com/a/su Response: { "ConversionCost": 4, "Files": { "FileName": "www_google_com.pdf", "FileSize": 68342,
Export view via deluge.
Hi, Is it possible to export a view (as a spreadsheet) via deluge? I would like to be able to export a view as a spreadsheet when a user clicks a button. Thanks
Subform Time field showing as null in script.
Good Afternoon everyone. I am trying to take the information from my subform and populate it into a multiline field in the CRM. The code below works with no errors. The problem is, it shows that the Open and Close (Time fields) are null. But they are
Is there a way to sort report on record template by a specific field like date field
Hi, Is it possible to sort the report on the record template by the date field and not the default Added Time. Please check the example bellow: The records are sorting by the added time I wand to change that by the date field,
Shared subfolders
Am I right in thinking that there is no Zoho email application that allows me to create a shared inbox and then add additional folders/subfolders under that inbox? If so, this is really quite incredible and probably a deal breaker for us to start using
Update Multi select field values to another form table as individual record
Hi, I am new to coding and do basics within deluge. I need help with the deluge script to meet the following requirement. Form Student Attendance The fields are : Attendance Date Course (Lookup to Course Form) Class (Lookup to Class Form) Students (Multi
Shared Mailbox - Mark as read for all users
Hi all, Maybe someone can help me out. At the moment we have a shared mailbox without streams. When a users reads an mail or marks it as read other users will not see this. How can we resolve this? We now archive the mails when read and followed up. However
Allocate emails to user in a shared mailbox
Hi, This might be obvious, but I cannot find the answer. I have 3 shared mailboxes so any team member can see the emails. Is there a way of allocating a specific email to a user so that it is their responsibility to deal with it? Thanks in advance.
How to view shared mailbox in Outlook
How to view shared mailbox in Outlook or in another software
Customising the approval email
Is there anyway to customise the Approval email or to add further fields as the default looks so basic and unlike any of the other email notifications from Desk. My users just thought it was spam.
Pushing GCLID info from Gravity Forms to ZohoCRM
We are switching to Gravity Forms from Zoho Forms and I cannot find any good info on how to make sure my GCLID tracking info is pushed through to the CRM through my new forms. There was an article in the documentation about placing something within the
Issue Configuring SSO Integration with Cognito in Zoho Help Center
Dear Zoho Support Team, We have been working on configuring SSO integration for our Zoho Help Center using Amazon Cognito. While the setup appears to be completed successfully, we are encountering an issue when attempting to access the Help Center. The
Need manual aggregate column pathing help
See linked video here: https://workdrive.zohoexternal.com/external/a5bef0f0889c18a02f722e59399979c604ce0660a1caf50b5fdc61d92166b3e7
Merging contacts does fail because of help center membership
I'm trying to merge two contact records (they are the same contact) where one of them is a member on the help center. The system warns me about this situation and then I de-activate this contact as an "End User" for the help center. Right now the system
Duplicate Contacts - how to get merge or delete
I have noticed that our list of contacts in Zoho Desk duplicates contacts periodically. I have yet to identify when or why. How do I merge or delete them? I see there is a "Deduplicate" but I am unable to find anything that explains this feature.
"Mark as Spam" not working as expected
Dear support, in the below scenario, clicking on "Mark as spam" identifies only the first of the checked emails as spam, removes that email from the visible list and leaves the rest of the list still visible & unchecked. I've tried check-marking them
Massive price increase for user licenses of Zoho Portal
This actually a complaint about this announcement: https://help.zoho.com/portal/en/community/topic/free-user-licenses-across-all-portal-user-types You present this as an enhancement. And, yes, while reading the main part, I'd agree that (for smaller companies),
Calendar - "super compact" week view
every time i go to my calendar i have to re-engage the "super-compact view" for the week view...is there a way to make "super-compact" a default view so I dont have to keep on setting it manually?
Calendar - "pop up" locations
One of the attractive features of google calendar and outlook calendar is that locations for events will start to automatically populate the location drop down menu as you type. Adding this feature to zoho calendar would be the final feature i need.
Using Zia in Zoho Sheet data to research the internet and return answer to a cell in Zoho Sheet
I'm trying to see if Zia (connected with OpenAI key) can take data parameters stored in a Zoho Sheet to conduct research out on the internet then return an answer into the same Sheet. I'm trying to do the equivalent of using something like the =AI() function
[Free Webinar] Learning Table Series - Creator for the Education Industry
Hello Everyone! We're thrilled to invite you to the Learning Table Series—a year-long initiative to demonstrate how Zoho Creator can transform industries with innovative and automated solutions. Each month focuses on a specific industry, and this time,
Remove the [## XXXX ###] from subject replies
For our organisation we would like to have the [## XXXX ###] removed from subject replies. Cheers, Jurgen 365VitaalWerken
Next Page