Kaizen #203 - Answering Your Questions | Handling API Limits and Error Responses

Kaizen #203 - Answering Your Questions | Handling API Limits and Error Responses



Hi Everyone,
Welcome back to yet another post in the Kaizen Series! 
We appreciate your keen participation in the 200th milestone celebration of the Kaizen series. We will continue to answer the queries we received through the feedback. 
When working with Zoho CRM APIs, you must respect API limits, handle errors properly, and deliver meaningful experiences—even when things go wrong. In this post, we will discuss handling API limits and error responses.

Understanding Zoho CRM API Limits

Zoho CRM enforces API limits based on the purchased user licenses and add-on credits, and this is to ensure availability to all users and prevent abuse of its APIs. The following limits are applicable to Zoho CRM REST APIs.

  • API Credits Limits: Each edition (Free, Standard, Professional, etc.) comes with a set number of API credits per rolling 24-hour window. For example, Enterprise/Zoho One offers a baseline of 50,000 plus 1,000 per user license, with a cap up to 5,000,000 credits including add-one credits. You can refer to our help documentation on API limits for more details.
  • Concurrency Limits: Concurrency is the number of parallel API calls that are active at one time instance. Apps are capped at concurrent requests based on CRM edition: Free (5), Standard (10), Professional (15), Enterprise (20), Ultimate (25).
  • Sub-Concurrency Limits: Some resource-intensive APIs have their own concurrency limits (typically 10 concurrent requests): bulk updates, queries, lead conversion, mail, etc. Exceeding these returns a TOO_MANY_REQUESTS error.
  • Limits per Call: Different APIs have specific limits for the number of resources that can be inserted/updated. For example for insert, update, or upsert records, you can pass up to 100 records in one API call. Refer to the individual help documentation for any such limits.

Tips:

  • Monitor Usage: Use Zoho’s dashboard to track API credits in real time. Set alerts if you are approaching limits. Alternatively, keep an eye on the header X-API-CREDITS-REMAINING which denotes the remaining credits that will be present in the response when your API usage exceeds 50 percent or the daily available credit limit. Also, you can customize your usage notification to receive an email alert.
  • Batch Operations: Prefer bulk inserts/updates (up to 100 records/call) to reduce wasteful requests. Use composite APIs when multiple APIs need to be executed. 
  • Space Out Calls: When integrating, use logical intervals and avoid call bursts to prevent concurrency /subconcurrency limit getting applied. We have covered this in more detail in our previous Kaizen post : How to effectively handle API calls to optimize API credits?

Limits in Zoho CRM GraphQL APIs

Like our REST APIs, our GraphQL API calls also consume credits based on the type and number of resources queried. Maximum allowed credits per call is 10 credits.
Complexity for each query is calculated based on the type and number of resources requested, and maximum allowed complexity is 1,000 per query. 
Depth refers to the number of nesting layers of a field. Depth up to seven for metadata and three for records is allowed.
You can refer to our GraphQL API documentation on Credits, Complexity, and Depth for more details.

Handling Errors

 Zoho CRM REST APIs return 200 status codes for every successful API call. Each API error has these sections:
  • Status Code 
  • Error Code 
  • Message 
Different sections of an error response
Here "resource_path_index": 0 in the response indicates which segment of the URL path contains the error, counting after the API version.

Common Errors

  • 400 Bad Request:  
    • INVALID_MODULE
      • Cause: Incorrect module name (e.g., "Lead" vs "Leads").
      • Fix: Use exact API names from Setup > Developer Space > APIs.
    • INVALID_DATA
      • Cause: Malformed JSON/wrong data type.
      • Fix: Validate field formats.
    • DUPLICATE_DATA
      • Cause: Unique field value exists elsewhere.
      • Fix: Disable "Do not allow duplicates" or change value.
    • MANDATORY_NOT_FOUND
      • Cause: Missing required field (e.g., Last_Name in Contacts while trying to insert a new record in Contacts module).
      • Fix: Include all mandatory fields in the request.
  •  401 Unauthorized: 
    • AUTHENTICATION_FAILED
      • Cause: Wrong domain URL .
      • Fix: Use the correct domain-specific URL.
    • INVALID_TOKEN:
      • Cause: Expired OAuth token is used for making API call.
      • Fix: Refresh access token using the refresh token.
  • 403 Forbidden: 
    • NO_PERMISSION
      • Cause: User lacks permission for the resource.
      • Fix: Obtain necessary permission to access the resource.
  •  404 Not Found: 
    • INVALID_URL_PATTERN
      • Cause: URL syntax error.
      • Fix: Verify endpoint structure in API docs.
  •  429 Too Many Requests: 
    • TOO_MANY_REQUESTS
      • Cause: Number of API requests for the 24 hour period is exceeded or the concurrency/sub-concurrency limit of the user for the app is exceeded.
      • Fix: Make calls in accordance with the limits.
  • 207 Multi-Status: 
    • In some cases when the API is partially successful, 207 status code is returned.

Tips

  • Mandatory Fields: Provide all mandatory fields in the response body.
  • OAuth Issues: Ensure correct scopes.
  • Inspect Every Response Body: Parse responses even if the HTTP status code returned is 2XX. 
  • Validate Data Before Calling: Ensure your request matches the expected format. Clean data before submission to prevent 400-range errors (e.g., MANDATORY_NOT_FOUND, DUPLICATE_DATA).
  • Token Issues: Respond to INVALID_TOKEN with a token refresh workflow.

Error Status Code in GraphQL APIs 

Zoho CRM GraphQL APIs return errors in 200 and 400 status codes depending on error type. 200 HTTP status codes are returned in two cases. 
(a) Issue in the input when validated against the schema .
(b) Runtime errors due to credits, depth, and so on.

Refer to the Status Codes and Responses page in GraphQL for more information.
We hope you found this post useful. We will be back next week to answer another query we received.
Let us know if you have any questions in the comments or drop us an email at support@zohocrm.com.

    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.






                              Zoho Developer Community




                                                    • Desk Community Learning Series


                                                    • Digest


                                                    • Functions


                                                    • Meetups


                                                    • Kbase


                                                    • Resources


                                                    • Glossary


                                                    • Desk Marketplace


                                                    • MVP Corner


                                                    • Word of the Day


                                                    • Ask the Experts



                                                              • Sticky Posts

                                                              • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                                Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                              • Kaizen #226: Using ZRC in Client Script

                                                                Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                              • Kaizen #222 - Client Script Support for Notes Related List

                                                                Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                              • Kaizen #217 - Actions APIs : Tasks

                                                                Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                              • Kaizen #216 - Actions APIs : Email Notifications

                                                                Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are


                                                              Manage your brands on social media



                                                                    Zoho TeamInbox Resources



                                                                        Zoho CRM Plus Resources

                                                                          Zoho Books Resources


                                                                            Zoho Subscriptions Resources

                                                                              Zoho Projects Resources


                                                                                Zoho Sprints Resources


                                                                                  Qntrl Resources


                                                                                    Zoho Creator Resources



                                                                                        Zoho CRM Resources

                                                                                        • CRM Community Learning Series

                                                                                          CRM Community Learning Series


                                                                                        • Kaizen

                                                                                          Kaizen

                                                                                        • Functions

                                                                                          Functions

                                                                                        • Meetups

                                                                                          Meetups

                                                                                        • Kbase

                                                                                          Kbase

                                                                                        • Resources

                                                                                          Resources

                                                                                        • Digest

                                                                                          Digest

                                                                                        • CRM Marketplace

                                                                                          CRM Marketplace

                                                                                        • MVP Corner

                                                                                          MVP Corner









                                                                                            Design. Discuss. Deliver.

                                                                                            Create visually engaging stories with Zoho Show.

                                                                                            Get Started Now


                                                                                              Zoho Show Resources

                                                                                                Zoho Writer

                                                                                                Get Started. Write Away!

                                                                                                Writer is a powerful online word processor, designed for collaborative work.

                                                                                                  Zoho CRM コンテンツ






                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • Account Unblock Request

                                                                                                                  Dear Sir/Madam, I hope you are doing well. I noticed that my account has been blocked for violation of the usage policy which I believe comes from it being associated with sending spam. I have since then removed the old keys which were compromised in
                                                                                                                • Where do I edit the "Welcome to [portal name]" message

                                                                                                                  I am looking for a way to edit the "Welcome to" part of the message that is seen on the landing page (ex: https://help.zoho.com/portal/en/home). When I use the French interface, it doesn't make sense... I want to change it from "Bienvenue chez" to" Bienvenue au". Thanks!
                                                                                                                • Cliq iOS can't see shared screen

                                                                                                                  Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
                                                                                                                • Replies sometimes creating separate ticket

                                                                                                                  Sometimes when a customer responds to an email coming from Zoho Desk, instead of adding a reply to the original ticket, a separate ticket is created. This happens even though the response subject line contained the ticket number, and the person responding
                                                                                                                • Show backordered items on packing slip

                                                                                                                  Is it possible to show a column on the Packing Slip that shows number of backordered items when a PO is only partially filled? I would also like to see the Backordered column appear on POs after you receive items if you didn't get ALL of the items or partial amounts of items. And lastly, it would be nice to have the option of turning on the Backordered column for invoices if you only invoice for a partial order. -Tom
                                                                                                                • Global Sets for Multi-Select pick lists

                                                                                                                  When is this feature coming to Zoho CRM? It would be very useful now we have got used to having it for the normal pick lists.
                                                                                                                • Tables for Europe Datacenter customers?

                                                                                                                  It's been over a year now for the launch of Zoho Tables - and still not available für EU DC customers. When will it be available?
                                                                                                                • Inactive License for free account.

                                                                                                                  I recently upgraded my Cliq subscription not my team (on the free version), are unable to login to their accounts. The error message received is Inactive License Looks like you have not been covered under the current free plan of users. Please contact
                                                                                                                • List of All Contacts on "Do-Not-Mail List"

                                                                                                                  I have several contacts that are UNKNOWN among my thousands of email addresses who would like to be put back on the active mailing list.  I require a list of ALL my contacts on "Do-Not-Mail List" - How to I receive this list? Note: "We're sorry, but this is not possible" is not an acceptable answer. I must receive this list form Zoho Campaigns or directly from someone within Zoho Technical Support.  Thank you, Justin
                                                                                                                • Cliq Bots - Post message to a bot using the command line!

                                                                                                                  If you had read our post on how to post a message to a channel in a simple one-line command, then this sure is a piece of cake for you guys! For those of you, who are reading this for the first time, don't worry! Just read on. This post is all about how
                                                                                                                • Auto-sync field of lookup value

                                                                                                                  This feature has been requested many times in the discussion Field of Lookup Announcement and this post aims to track it separately. At the moment the value of a 'field of lookup' is a snapshot but once the parent lookup field is updated the values diverge.
                                                                                                                • Edit 'my' Notes only

                                                                                                                  The permissions around Notes should be more granular, and allow to user to be able to edit the notes he created only. The edit Notes permission is useful as it allows the user to correct any mistakes or add information as needed. However, with this same
                                                                                                                • [Free webinar series] Get to know Deluge: Zoho’s powerful scripting language

                                                                                                                  Hello Everyone, We are much elated to invite you all to our upcoming session in Zoho Deluge! Bringing on to your table - Get to know Deluge: Zoho’s powerful scripting language Understanding Deluge Zoho’s suite of applications offers robust solutions for
                                                                                                                • Account blocked

                                                                                                                  Yesterday I got my Zeptomail account blocked due to too many hard bounces. My account is used exclusively for sending transactional emails (eg. your order has been shipped, a form has been filled, etc) and the sudden blocking impacted hundreds of websites
                                                                                                                • What is wrong with this sendmail message?

                                                                                                                  I keep getting improper statement errors on the message, but I cannot see a problem. Also, if the message is much longer the whole message turns black instead of being coloured yellow, red and blue. client = Clients[ID == input.Client_Lookup]; sendmail
                                                                                                                • How to size a QR image in a report PDF?

                                                                                                                  I've created a report template for a client record which has a QR code field. I've tried inserting the field into a paragraph element and also as a field element that I have resized. The QR code is shown at the same, large size on the page either way.
                                                                                                                • How do create a validation rule / function to check datetime field is within Business Hours?

                                                                                                                  I've got a field called Scheduled_Time. People keep accidently inputting 2am when they mean 2pm. Realistically this field is never going to be before 7am or after 9pm. I'd like to add validation rule to the field (which is a datetime field). Using the
                                                                                                                • Creating a report for a subform child record and show parent data

                                                                                                                  I have a Client form (Name, Address) under which I can add a child Appointment (Date, Time, Location, SalesRep) in a subform. Now I want to set up a report where I can view an Appointment and send it to a Sales rep for their records. I want to automatically
                                                                                                                • Tropicalize Books

                                                                                                                  Books is an incredibly powerful tool that works well in many countries. But I feel that it is a product that is not yet "tropicalized" for Brazil as we speak (this would be like adapting the local reality). We have many strong competitors who do more
                                                                                                                • Generate print-ready documents from Zoho Books with the Zoho Writer extension

                                                                                                                  Hi everyone, We're excited to introduce the Zoho Writer Templates for Zoho Books extension. Create customized templates to generate professional, print-ready documents such as invoices, estimates, purchase orders, and expense reports, populated with real-time
                                                                                                                • Tip #73 - Exploring Technician Console: Diagnostics - 'Insider Insights'

                                                                                                                  Hello Zoho Assist Community! Say you're remotely supporting a client whose machine is behaving erratically. Applications are freezing, services keep stopping on their own, and the user has no idea what's going wrong under the hood. You need to dig deeper,
                                                                                                                • NEED HELP

                                                                                                                  I have below data po no invoice no Party inv date value status 1 aa1 ABC 01-May-26 100 Under Cr 2 aa2 XYZ 02-May-26 200 Over Due 3 aa3 ABC 02-May-26 300 Under Cr 4 aa4 XYZ 03-May-26 400 Under Cr I need result as below using formulas (not Pivot table)
                                                                                                                • Pasting images is a mess

                                                                                                                  I’m trying to paste images into my tickets, in the comments field. But when I paste images, they end up in the wrong order or behind the text.
                                                                                                                • A way to create kits (groups of items) that do not require bundling and are added to an order as the individual items

                                                                                                                  We are evaluating moving off of Sage BusinessWorks (which handles accounting, order entry, inventory control, accounts receivable, etc) to Zoho Books/Inventory. One of the things we heavily use is a feature called Kits, which allows creating a group of
                                                                                                                • Refering cell from other sheet

                                                                                                                  Hi, If we want to refer any cell in the same sheet its very easy, like suppose if I want to refer cell A2  in P7 I just need to type =A2 in P7, similarly how can I refer a cell present in different sheet ( I mean refer cell A2 from Sheet1 into Sheet2) Thanks
                                                                                                                • How to prevent users from switching price lists in an order?

                                                                                                                  Hi, I have Zoho Finance integrated with Zoho CRM. My team will be placing orders through the CRM using the Finance module. When creating a new customer I will assign it a price list, I don't want the sales rep to switch to a different Price List, other
                                                                                                                • Invoice emails repeatedly "Bounced back" from perfectly good email address of clients.

                                                                                                                  Hi For a couple of months now I am getting tens of invoice email invoices "bounced back" from perfectly sound email addresses when they are sent via Zoho Books. (see attached or an example) (the common theme seems to be that the emails are going to either
                                                                                                                • Paying a credit card

                                                                                                                  When you move money from your operating account to the credit card account to pay the balance does you select "Pay Credit Card" or "Transfer". Doers it matter? Also I seem to be doing transfers and sometimes I get a list of possible matches and I select
                                                                                                                • Timer not appearing to update

                                                                                                                  For the last couple of days, I've noticed my timer is not updating. When I start it, it doesn't show as started until I refresh the page. When I pause it, it doesn't show as paused until I refresh the page. But it does register a stop correctly in real
                                                                                                                • Proforma Invoice

                                                                                                                  Is there an option to create proforma and advance invoices in professional
                                                                                                                • Zoho Books | Product updates | May 2026

                                                                                                                  Hello users, We're back with the latest updates and enhancements we've rolled out in Zoho Books. From sales tax automation to scanning receipts for free, explore the updates designed to upgrade your bookkeeping experience. Sales Tax Automation [US & Canada
                                                                                                                • Restrict Ticket Movement to Specific Departments in Zoho Desk

                                                                                                                  Hello Zoho Desk Team, Greetings, and hope you are doing well. We would like to submit a feature request regarding the ability to control ticket movement between departments in Zoho Desk. Current Limitation: At present, Zoho Desk allows agents to move
                                                                                                                • Bounced Contacts

                                                                                                                  We recently started using Zoho and hadn’t sent out campaigns in quite some time. With our first campaign, we saw a high number of bounce backs, which we expected due to the age of some contacts in our database. After doing some research, I understood
                                                                                                                • DYK 5 - Soft and Hard Links in Task Dependency

                                                                                                                  Did You Know you can manage dependent task schedules with Zoho Projects? In a project, some tasks are linked while others progress on their own. When a task is hard linked to another, its schedule is automatically adjusted when the predecessor moves.
                                                                                                                • No Ability to Rename Record Template PDFs in SendMail Task

                                                                                                                  As highlighted previously in this post, we still have to deal with the limitation of not being able to rename a record template when sent as a PDF using the SendMail Task. This creates unnecessary complexity for what should be a simple operation, and
                                                                                                                • Whats app integration

                                                                                                                  Do we have a whats app integration as wel for Zoho recruit please.. If so how can we process it
                                                                                                                • Global/Overall Reports & Dashboards in Zoho Sprints

                                                                                                                  Hi, Do we have an option to refer Global Level Reports & Dashboards in Zoho Sprints? We could see that we have Project specific Reports & Dashboards inside every Project. However, for a management level we want Reports & Dashboards visibility at a Global
                                                                                                                • AI-Powered Summaries for Records, Notes, and Emails

                                                                                                                  Recruiters spend a significant part of their day catching up on context. Reviewing candidate records before a call, scrolling through notes after an interview, or reading lengthy email threads to understand the latest update. As hiring volume grows, finding
                                                                                                                • Cross Module Filtering – Use Fields from Lookup modules in Custom Views criteria and Advanced Filters

                                                                                                                  Hello everyone, Zoho CRM now enables you to achieve deeper filtering of records in a module, using fields of a lookup, thereby enhancing your data management experience manifold. This filtering based on lookup module fields is now available in advanced
                                                                                                                • Zoho Recruit Extension - Recruit Variables

                                                                                                                  I am creating a zoho recruit extension. I have created a zoho recruit variable "token". The user who installs the token is supposed to fill this field. This is now connected with a workflow of "Job Create". I am using a deluge function that sends ths
                                                                                                                • Next Page