Changelogs
We update Zoho CRM APIs frequently with new features to suit your evolving business needs. These changelogs document all the notable changes made to Zoho CRM APIs in version 4.
API Domain
For V2.1 and above versions, you must use the dedicated domain name to make API calls. The default domain is: https://www.zohoapis.com/ (US)
This is helpful in serving CORS requests. The other supported domains are:
- Europe - https://www.zohoapis.eu/
- China - https://www.zohoapis.com.cn/
- India - https://www.zohoapis.in/
- Australia - https://www.zohoapis.com.au/
- Japan - https://www.zohoapis.jp/
For more information, refer to Multi DC Support. If you fire API calls with a domain other than https://www.zohoapis.{dc}, the system will throw INVALID_HOST error with HTTP status 400.
Version V4
The Zoho CRM APIs with updates that apply to the V4 version are listed below.
Note
Navigating through code samples: In each of the code samples, newly introduced keys are presented in green, existing keys that are updated are presented in orange, and keys that are removed are presented in red.
- Modules API
The property $converted is removed from the $properties array of the Leads module as we have introduced Converted__s as a field. This boolean field represents whether the record is converted or not.
- Fields Metadata API
For all modules, ID is introduced as a separate field.
The data type of the Layout field is changed from bigint to layout, and the JSON type is changed from string to JSON Object.
New Fields Converted__s and Converted_Date_Time have replaced the $converted field in lower versions.
The fields name_format__s and sort_order_preference__s are introduced in the Users module.
The name_format__s allows you to set your preference for the user's name such as "Salutation, First Name, Last Name" or "Salutation, Last Name, First Name".
The sort_order_preference__s allows you to sort the records in the response based on either the last name or first name. The default sorting happens by the record IDs.
- The key name_format is changed to name_format__s and sort_order_preference is changed to sort_order_preference__sin the Get Users API.
- You can update the name_format__s and sort_order_preference__s in the Update Users API
- Error cases pertaining to the name_format__s and sort_order_preference__s fields are added in the Get Users API.
- Roles API
The keys created_by__s, modified_by__s, modified_time__s and created_time__s are introduced.
- GET Records API
$converted field is replaced with Converted__s and Converted_Date_Time.
The fields Enrich_Status__s and Last_Enriched_Time__s are added for the Data Enrichment module.
- Insert Records API
A new key EXDATE is added that allows you to exclude a date for the recurring activity of a Meeting.
The participant key for type=email is changed to email.
- From V4, if a user does not have permission to create or update a record with a tag, the system will throw the NO_PERMISSION error.
- Get Wizards API
New properties execute_on and type are added to the conditional_rules JSON array of wizards.
- The values for type are set_values, set_lock, show_component, and show_widget.
- The key exempted_profiles is introduced in the response when the type is set_lock
- The values for execute_on are create, edit, and create_edit.
The color_palette key is added that displays the colors available for a button on a screen. Note that this key is available in the response only if you have chosen at least one custom color for the button on a screen.
- Email Templates API
The key last_version_statistics is introduced to get the statistics of an email template such as the number of emails that were opened, tracked, delivered, bounced etc.
Two new categories-normal and draft are added in the response, besides the existing values "system_templates", "plugin_templates", and "marketplace_templates". The value custom_templates is removed.
- Add and Update Tags API
- While adding or updating a tag, if the following conditions are not met, relevant errors are thrown.
- The tag's name must not exceed 25 characters and
- The tag's name must not contain any emojis
- The tag's name cannot have the special characters <, >, or a comma.
- You cannot have more than 100 tags for a module.
- While adding or updating a tag, if the following conditions are not met, relevant errors are thrown.
- Contact Roles API
The Contact_Role key is changed from String to a JSON object when you fetch the contact roles associated to a deal.
- New error responses are added.
- Composite API
- Composite API consumes only one API credit when all the sub-requests are successful(as opposed to the two credits in V3).
The key concurrent_execution is renamed to parallel_execution.
- Notification API
- From V4, the maximum expiry duration of a channel (channel_expiry) has been extended from one day to one week.
- Query API
You can retrieve up to 2000 records per API call(as opposed to 200 records per API call in V3). Use the LIMIT clause to retrieve more than the default 200 records per API call.
Example:
{ "select_query": "select Last_Name, First_Name, Company from Leads where Company is not null LIMIT 2000" }- You can now query for records based in their external fields and their values.
You can use aggregate functions SUM(), MAX(), MIN(), AVG(), and COUNT() in your query. Example:
{ "select_query": "select SUM(Annual_Revenue) from Leads where (External_ID in 'elead1', 'elead2')" }