New Features of API version 2.0

OAuth 2.0

The v2 APIs use the OAuth2.0 protocol for authentication. They use the Authorization Code Grant Type to obtain an access token. This grant type allows you to share specific data with any application while keeping your usernames and passwords private.

This protocol also lets you use selected scopes to control the type of resource that a client application can access. Refer OAuth 2.0 for v2 APIs-An Overview, for more information.

REST APIs

All v2 APIs follow REST standards, i.e, they use the HTTP request methods GET, POST, PUT, DELETE etc,.

  • GET - Fetch the records

  • POST - Insert new records

  • PUT - Update the existing records

  • DELETE - Delete the records

All inputs and responses are in the JSON format.

All responses will have an HTTP Status Code.

JSON Only

All v2 API inputs and responses are only in the JSON format , whereas the v1 APIs supported both XML and JSON.

Some of the advantages of using JSON are:

  • Less verbose: JSON does not have tags like XML and hence, requires less characters to represent data.

  • Faster: Since JSON uses less data, it is easy to read and parse data thus increases the parsing speed.

  • Readable: JSON is data is very straightforward and easy to read.

Dedicated CRM Domain and Multi DC Handling

The Zoho CRM v2 APIs have a dedicated domain 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/

For more information, refer Multi DC Support.

Note:
The default domain for the CRM account is US

Endpoint Changes

v2 APIs have the endpoint https://www.zohoapis.com/crm/v2/ where
https://www.zohoapis.com is the domain name and
/crm/v2/ is the endpoint for the CRM v2 APIs

For instance, the request URL to get the list of Leads in CRM is
https://www.zohoapis.com/crm/v2/Leads

Note:

When you generate the grant token(authorization code) on the browser, the resulting URL is
{redirect_uri}?code={grant_token}&location=us&accounts-server=https%3A%2F%2Faccounts.zoho.com
The "location=us" parameter contains the domain of your account. Use this domain in all API endpoints.
For instance, the URL to fetch all CRM Leads in

  • EU domain: "https://www.zohoapis.eu/crm/v2/Leads"

  • CN domain: "https://www.zohoapis.com.cn/crm/v2/Leads"

API Names

Zoho CRM v2 APIs use API names generated internally while creating a custom module, field, or related list label. The system uses this key "api_name" in the JSON data while accessing the CRM APIs. This ensures that the label name changes in custom modules or fields won't affect your existing integrations.

For instance, Leads for the leads module, currency for the currency field, and Notes for the notes related list. The v1 APIs used display labels.

Limits and Throttling

The Zoho CRM v2 APIs use a credit system to provide a rate limit to your application.

The maximum credit limit for the Enterprise edition of Zoho CRM is now 500,000 and for the Ultimate edition, it is one million. The API call limit has a rolling window of 24 hours, from the start of the call as opposed to the credit limit being reset at 00:00 AM PST in v1 APIs.

Zoho CRM also uses a concurrency system, to calculate API Limits based on the number of concurrent calls made per user per app in Zoho CRM. These concurrency limits specify the maximum number of API calls that can be simultaneously active at a given time for a user per app.

For more information, refer API Limits.

Pagination

All v2 API GET responses have the following "info" JSON object.

"info": {
"per_page": 200,
"count": 1,
"page": 1,
"more_records": false
}

  • "per_page" : Use this parameter to set the number of records you want to fetch per page. Default value is 200.

  • "page": Use this parameter to fetch the records on that page. Default value is 1.

  • "more_records": This parameter indicates if there are more records in that module. Values are true or false.

Date/Time Format

The v2 APIs follow the ISO 8601 date time format that includes the time zone, whereas the v1 APIs followed the format yyyy-MM-dd HH:mm:ss. For instance:
v2: 2018-03-28T10:32:45+05:30
v1: 2013-06-26 10:37:48

Note:

To know more differences between v1 and v2 field attributes and their methods, refer V2 vs V1.