API Documentation
CURL
select client library
CURL
Java

Introduction

Zoho Desk APIs facilitate integration with other Zoho applications and third-party tools by adhering to RESTful principles. These APIs enable you to programmatically fetch and edit data in the different modules in Zoho Desk, such as Tickets, Contacts, Accounts and so on. All the APIs follow HTTP rules and error codes. To keep yourself updated about the changes in our APIs, follow the Zoho Desk Developer APIs forum.


API Root Endpoint

desk.zoho.com/api/v1

Getting Started

All Zoho Desk APIs require these two mandatory fields in the header.

  1. Authorization - Authentication request token
  2. orgId -ID of the organization to access. All API endpoints except /organizations mandatorily require the orgId.

Example

$ curl -X GET https://desk.zoho.com/api/v1/tickets
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.67013ab3960787bcf3affae67e649fc0.83a789c859e040bf11e7d05f9c8b5ef6"

HTTP Methods

Zoho Desk APIs enable data manipulation and retrieval through different HTTP methods.



Method Purpose
GET Retrieve resources
POST Create resources and perform resource actions
PUT Update resources
PATCH Partially update resources
DELETE Delete resources




Using the GET method, you can get a list of resources or details of a particular instance of a resource.
To get a list of tickets

$ curl -X GET https://desk.zoho.com/api/v1/tickets
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.67013ab3960787bcf3affae67e649fc0.83a789c859e040bf11e7d05f9c8b5ef6"

To get the details of a ticket referred to by a specified ticket_id

$ curl -X GET https:// desk.zoho.com/api/v1/tickets/903000000000099
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.67013ab3960787bcf3affae67e649fc0.83a789c859e040bf11e7d05f9c8b5ef6"

Errors

Zoho Desk uses HTTP status codes to indicate success or failure of API calls. Status codes in the 2xx range indicate success, 4xx range indicate error in the information provided, and 5xx range indicate server side errors. The following table lists some commonly used HTTP status codes.

HTTP Status Codes

Status Code Description
200 OK
201 Created
204 No content
400 Bad request
401 Unauthorized
403 Forbidden (Unauthorised access)
404 URL not found
405 Method not allowed (Method called is not supported for the API invoked)
413 Payload Too Large
415 Unsupported Media Type
422 Unprocessable Entity
429 Too Many Requests
500 Internal error

Besides HTTP status codes and their corresponding error messages, error responses for Zoho Desk APIs also include a machine-parsable errorCode param to simplify error handling.

The different errorCodes and their uses are described below.


UNAUTHORIZED

This errorCode value appears if the authentication token in the API request is invalid


INVALID_OAUTH

This errorCode value appears if the OAuthToken is invalid or expired.


SCOPE_MISMATCH

This errorCode value appears if the OAuthToken does not contain the scope required to perform the operation.


OAUTH_ORG_MISMATCH

This errorCode value appears if the user chooses a different organization while generating the OAuthToken instead of the organization in which they want to perform the operation.


FORBIDDEN

This errorCode value appears if the user does not have all the permissions required to access the resource.


LICENSE_ACCESS_LIMITED

This errorCode value appears if the user is unable to perform an action due to the limitations of the Zoho Desk edition in use

The possible values for the feature key are

  • AGENTS
  • LIGHT_AGENTS
  • TEAM

The possible values for the editionType key are

  • FREE
  • EXPRESS
  • STANDARD
  • PROFESSIONAL
  • ENTERPRISE


URL_NOT_FOUND

This errorCode value appears if the URL provided is invalid or does not exist.


METHOD_NOT_ALLOWED

This errorCode value appears if the method in the API request is known by the server but disabled for the API requested.


RESOURCE_SIZE_EXCEEDED

This errorCode value appears if the size of the resource exceeds the limit defined by the server.


UNSUPPORTED_MEDIA_TYPE

This errorCode value appears if the server refuses the request as a result of receiving the input in an unsupported format.


INVALID_DATA

This errorCode value appears if there are inaccuracies, such as duplicate entries or invalid IDs, in the data given by the user. The type of inaccuracy is identified by the errorType param.

The possible values for the errorType key are:

  • invalid - the field contains an invalid value
  • duplicate - the field contains a value that already exists
  • missing - the field does not contain a value

The field that contains the inaccurate value is returned in the fieldName param, which is represented in the JSON Pointer convention


UNPROCESSABLE_ENTITY

This errorCode value appears if the input does not fulfil the conditions necessary for successfully executing the API.


ONLY_LIVECHAT_USER

This errorCode value appears if the API request tries to remove the last user remaining in a department that has live chat enabled


DUPLICATE_CONTRACT

This errorCode value appears if the user creates a contract for an SLA with existing or overlapping time periods.

  • The key existingContracts is an array containing one or more contract entities.


EXTENSION_ERROR

This errorCode value appears when the Extension API fails to process a request due to an exception received from an external service such as Sigma, DRE, or the Marketplace.

The errorDetails provide information about the source and cause of the failure:

  • service: Indicates the external service from which the error originated.
  • serviceErrorMessage: Provides a detailed description of the failure as returned by the external service.


INTEGRATION_ADMIN_ERROR

This errorCode value appears if the API request tries to deactivate a user who has enabled integrations in the help desk portal

The integration param returns the integration the user enabled in the portal. The possible values are :

  • LIVECHAT


THRESHOLD_EXCEEDED

This errorCode value appears if the user sends too many requests within a given amount of time ("rate limiting").


TOO_MANY_REQUESTS

This errorCode value appears if the user fires too many requests in a simultaneous/concurrent manner ("rate limiting").


INTERNAL_SERVER_ERROR

This errorCode value appears if the server encounters an unexpected condition that prevents it from fulfilling the request.

Request Example

$ curl -X GET https://desk.zoho.com/api/v1/tickets/700000007942
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60"


Response Example

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8


UnAuthenticatedErrorResponse

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8


Oauth Error Response

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8


ScopeMisMatch Error Response

HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8


OAuth Org Mismatch Error Response

HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8


Forbidden Error Response

HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8


LicenseAccessLimited Error Response

HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8


Url Not Found Error Response

HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8


Method Not Allowed Error Response

HTTP/1.1 405 Method Not Allowed
Content-Type: application/json;charset=UTF-8


Resource Size Exceeded Error Response

HTTP/1.1 413 Payload Too Large
Content-Type: application/json;charset=UTF-8


Unsupported Media Type Error Response

HTTP/1.1 415 Unsupported Media Type
Content-Type: application/json;charset=UTF-8


Invalid Data Error Response

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json;charset=UTF-8


Unprocessable Entity Error Response

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json;charset=UTF-8


Unprocessable Entity Error Response

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json;charset=UTF-8


Unprocessable Entity Error Response

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json;charset=UTF-8


Unprocessable Entity Error Response

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json;charset=UTF-8


Unprocessable Entity Error Response

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json;charset=UTF-8


Threshold Exceeded Error Response

HTTP/1.1 429 Too Many Requests
Content-Type: application/json;charset=UTF-8


Concurrent Rate Limit Exceeded Error Response

HTTP/1.1 429 Too Many Requests
Content-Type: application/json;charset=UTF-8


Internal Server Error Response

HTTP/1.1 500 Internal Server Error
Content-Type: application/json;charset=UTF-8


Include

Zoho Desk enables you to retrieve different related resources through a single API request, which is made possible by the include query param. This query param takes a comma separated list of values corresponding to the API.

Conventions

  1. Always ignore undocumented fields or enum values present in the api response.These fields could be either experimental or deprecated.
  2. Data fields in tickets, contacts, accounts, tasks etc are dynamic. This is due to security field filtering applied for user profile. Hence when coding with data from these api always consider them as dynamic.

Compatibility

Backwards Compatibility on api changes is always maintained. Minor api changes like field, URL, query param deprecation will be notified via forum with a transistion period. Support will be revoked after the end of transition period. Only major api interface change will involve the version number in the URL to change.

Zoho Desk API - OpenAPI Specification 3.1.0

Overview

An OpenAPI Specification (OAS) is an industry-standard way to describe RESTful APIs. It provides a clear, structured way to define authentication methods, endpoints, request parameters, and response formats. OpenAPI specification is written either in JSON or YAML, making them both machine-readable and easy for developers to interpret.

Why OpenAPI Specification 3.1.0?

OpenAPI 3.1.0 provides a standardized and structured approach that helps developers understand, use, and integrate APIs more effectively. It is designed to provide:

  • API Endpoints: Clearly defines request URLs, supported HTTP methods, and optional/required parameters required to make an API call. It also specifies response formats for all possible HTTP status codes.
  • Authorization: Supports OAuth 2.0 for secure API authentication.
  • Request and Response Formats: Standardizes formats for GET, POST, PUT, PATCH, and DELETE operations. It also includes detailed response schemas and error handling guidelines, enabling easier debugging.

GitHub Repository Details

The OpenAPI Specification (OAS) for Zoho Desk APIs is hosted on GitHub:

  • The OAS document is available in JSON format.
  • Refer to the Git Repository for all OAS files

Note:

Zoho Desk's OAS files are designed to provide a generic representation of standard API endpoints, request/response structures, and supported HTTP methods. They do not include application-specific business logic.

For example, each module may require different input data for specific scenarios. However, the generic design may not fully capture your application-specific requirements. Developers are expected to identify such gaps, plan accordingly, and extend or adapt the specifications to fit their use cases during integration.

API Credits

Every time you make an API call in Zoho Desk, it uses up API credits. These credits help control usage and ensure system performance stays stable.

The number of credits used depends on what kind of operation you're performing. Simple actions use fewer credits, while complex actions use more.

Examples:

  • Fetch a single record: 1 credit per call
  • Update many records: 25 credits per call (based on the operation complexity)

Credit Allocation by Edition

Every Zoho Desk edition comes with a set of base credits by default. Additional credits are also provided based on the number of users you have purchased, excluding light agents.

Edition Base Credits + Additional Credits per User
Free/ Trial period 5,000 + 0
Express 25,000 + 100/User
Standard 50,000 + 250/User
Professional 75,000 + 500/User
Enterprise/Zoho One/CRM Plus 100,000 + 1,000/User

For example, if a portal is using the Professional edition and has 50 users.

  • The base credit is 75,000.
  • Each user gets 500 credits, so 50 x 500 = 25,000
  • Total: 75,000 + 25,000 = 100,000 credits.

Here is a calculator to find the available credit limits based on your edition and the number of users.

Calculate credits limits

200,000 Credits
With the purchase of 100 users for Enterprise/ZohoOne edition

API credits are tracked on a 24-hour cycle, from 00:00 to 23:59:59, based on the timezone of your data center. These credits reset every 24 hours.

Once you have used up all your base and user credits, you can purchase additional credits

Note:

Unused credits will expire after the 24-hour period ends.


You can view the daily base credits available to your organization by navigating to Setup > Developer Space > APIs.

You can easily track your credit usage by checking this section. It provides a detailed breakdown showing how many credits have already been consumed and how many are still available for use.


Note:

API credit usage is presented for the current day. Please allow up to 15 minutes for the latest usage information to be updated.

Concurrency Limits

In addition to API credits, Zoho Desk also uses a concurrency system to manage API usage. Concurrency limits define the maximum number of API calls that can be active at the same time from a portal


These limits differ based on your Zoho Desk edition.

Edition Concurrency Limits
Free/ Trial period 5
Express 10
Standard 10
Professional 15
Enterprise/Zoho One/ CRM Plus 25

If you exceed the allowed concurrency limit, you will receive an error message, as shown

In such cases, you can terminate (kill) some ongoing API calls to continue.

Since concurrency is based on the number of simultaneous active calls, each active API call still consumes credits as usual.

You can make as many API calls as needed per minute, as long as the number of active calls at any given time stays within your editions concurrency limits.

Error response

{
"errorCode": "TOO_MANY_REQUESTS",
"message": "The maximum number of Concurrent API Calls that can be made has been exceeded."
}

Credit Consumption Model

Desk uses two types of credit consumption models depending on the nature of the API


Fixed credit consumption

The number of credits consumed remains fixed, regardless of how much data is processed.

Example:

API: Fetch a single record

Credit: 1 credit/ call


Variable credit consumption

This credit consumption depends on how many records you are working with or how intensive the operation is.

1. Credits for bulk write operations

When adding, updating, or deleting multiple records in a single API request, credits are consumed based on the number of records processed.

Simply, More records = More credits used

Each API has a defined configured credit value, and the total credit consumption is calculated using a formula


Credit consumption for each operation:
Operation Defined credit
Update multiple records 1 credit for every 2 records
Delete multiple records (Move records to trash) 6 credits per record
Restore records from the recycle bin 6 credits per record
Execute generic action 1 credit per record
Note: If the record ID is not specified, 50 credits will be consumed by default.

For example, updating 50 records will use 25 credits. Restoring 50 records from the recycle bin will consume 300 credits.

2. Credits for fetching multiple records

When you fetch multiple records, credits are consumed based on the range of records retrieved. The larger the range, the more credits are used. This applies to APIs that search for or fetch a large number of records. The credit usage increases with the number of records processed.

Credit Breakdown by record range:

  • Records from 0 to 2,000 : 3 credits
  • Records from 2001 to 10000 : 10 credits
  • Records from 10,001 to 100,000 : 50 credits
  • Records above 100,001 : 100 credit

For example, if an API is invoked with parameters from=5 and limit=50, it will retrieve 50 records starting from index 5 (i.e., records 5 to 54). Since these records are near the beginning of the dataset, the operation is lighter and will consume around 3 credits.

However, fetching the same number of records from a much later point. For example, from index 10,005 to 10,054 is more resource-intensive and may consume up to 50 credits.

All APIs support a maximum of 50 records per request. The deeper the data range, the higher the credit consumption.

Note:

Fetching a record by its ID or number (e.g., Ticket ID or Ticket Number) counts as a single record. Only one credit will be consumed.

Increase API Credits

In Zoho Desk, you can increase your API credits beyond the base credits provided with your edition. To do this, simply send an email to support@zohodesk.com, or contact your dedicated account manager and they will take care of the rest.

Note:

Credit purchase limits vary by edition. The editions (excluding Free and Trial) allow up to 5,000,000 credits, including base and user credits.


Before You Request Additional Credits, Make Sure

  • You are the super admin of the account.
  • Your account is on a paid plan.

The table below shows the pricing for each credit slab.

Tier Daily credit Range Monthly Rate per 1000 credits
First 25,000 1 to 25,000 $4.20
Next 75,000 25,001 to 100,000 $1.80
Next 150,000 100,001 to 250,000 $1.50
Above 250,000 250,001+ $0.75

Example: Calculating Monthly Cost for 300,000 Credits

If you need 300,000 credits in a day, the monthly cost would be:

  • First 25,000 credits ->25 x $4.20 = $105.00
  • Next 75,000 credits ->75 x $1.80 = $135.00
  • Next 150,000 credits ->150 x $1.50 = $225.00
  • Remaining 50,000 credits ->50 x $0.75 = $37.50

Total Monthly Cost: $502.50


Use the calculator below to check the monthly payable amount for the add-on credits.

Calculate Add-on limits


240 USD
The total amount payable for 100,000 Add-on credits

Disclaimer: All calculated rates are approximate and subject to changes in the exchange rate.

Ratelimit Response Headers

You can track how many API credits are used and how many are remaining by checking the response headers of your API call.

Response Header Name Description
X-Rate-Limit-Request-Weight-v3 The number of credits used for that specific API call.
X-Rate-Limit-Remaining-v3 The credits left for portal for the current day.
Retry-After The time (in seconds) you need to wait before trying the next API request. This appears in the response header only after you reach the rate limit.

Note:

The Retry-After header appears only when your portal hits the maximum daily credit limit.

Success Response Header

HTTP/1.1 200 OK
-H "X-Rate-Limit-Request-Weight-v3: 3"
-H "X-Rate-Limit-Remaining-v3: 950"

Too many request Response Header

HTTP/1.1 429
-H "Retry-After: 34"

Setting Credit Alert Notifications

You can set up alert notifications to stay informed about your API credit usage. By specifying a threshold limit in percentage, the system will automatically trigger an alert when your API usage reaches that defined limit. This helps you proactively manage your consumption and avoid unexpected disruptions. Learn how to configure API usage alerts.

Authentication(OAuth)

Zoho Desk's APIs use the industry-standard OAuth 2.0 protocol for authentication and authorization. This protocol delegates user authentication to the service that hosts the user account and authorizes third-party applications to access the user account. Each API request must include an OAuthToken to retrieve any resource from your Zoho Desk portal.

To view a sample reference code in Java to help you understand the OAuth authorization flow for Zoho Desk Rest APIs, click here.


Why should we use OAuth2.0?

  • Clients are not required to support password authentication or store user credentials.

  • Clients gain delegated access, i.e., access only to resources authenticated by the user.

  • Users can revoke the client's delegated access anytime.

  • OAuth2.0 access tokens expire after a set time. If the client faces a security breach, user data will be compromised only until the access token is valid.

How OAuth2.0 works?

Terminologies

The following are some terms you need to know before you start using the Zoho Desk APIs.

Protected resources:

The Zoho Desk resources, such as Tickets, Contacts, Tasks, etc.

Resource server:

The Zoho Desk server that hosts protected resources.

Resource owner:

Any end-user of your account, who can grant access to the protected resources.

Client:

An application that sends requests to the resource server to access the protected resources on behalf of the end-user.

Client ID:

The consumer key generated from the connected application.

Client Secret:

The consumer secret generated from the connected application.

Authentication server:

Authorization server provides the necessary credentials (such as Access and Refresh tokens) to the client. In this case, it will be the Zoho Desk authorization server.

Authentication code:

The authorization server creates a temporary token and sends it to the client via the browser. The client will send this code to the authorization server to obtain access and refresh tokens..

Tokens

Access Token:

A token that is sent to the resource server to access the protected resources of the user. The Access token provides secure and temporary access to Zoho Desk APIs and is used by the applications to make requests to the connected app. Each access token will be valid only for an hour and can be used only for the set of operations that are described in the scope.

Refresh Token:

A token that can be used to obtain new access tokens. This token has an unlimited lifetime until it is revoked by the end-user.

Sample Success Response

Step 1: Register your Application

First, register your app in Zoho's Developer Console, which you can access here.

Choose a client type

  • Java Script: Applications that run exclusively on a browser and are independent of a web server.

  • Web Based: Applications that are clients running on a dedicated HTTP server.

  • Mobile: Applications that are installed on smart phones and tablets.

  • Non-browser Mobile Applications: Applications for devices without browser provisioning such as smart TVs and printers.

  • Self Client: If your application is a stand-alone application that performs only back-end jobs like data-sync (without any manual intervention).

For more details, refer to OAuth Overview.

Choose Web based client and Enter the following details:

  • Client Name: The name of your application you want to register with Zoho.

  • Homepage URL: The URL of your web page.

  • Authorized Redirect URIs: A valid URL of your application to which Zoho Accounts redirects you with a grant token(code) after successful authentication.


On successful registration, you will be provided with a client ID and a client secret. These are your OAuth credentials.


Step2: Making the Authorization Request

To use the Zoho Desk APIs, the user must authenticate the application to make API calls on their behalf with an access token.

The access token, in return, must be obtained from a grant token (authorization code). The Zoho Desk APIs use the authorization code grant type to provide access to protected resources.

There are two ways in which you can generate the grant token based on the client type.

Web-based application

Web-based applications are chosen when your application is used by multiple users and requires user intervention during authorization. For this client-type, you must use redirection-based code generation. In this authorization flow, obtain an authorization grant by invoking the authorization URI, that contains the parameters listed in the table below. Refer to the example to understand how to construct this authorization URI.


Parameter Description
client_id Client ID generated after registering the client.
response_type "code"
redirect_uri Redirect URI mentioned while registering the client.
scope The various scopes associated with Zoho Desk.You can use the list of scopes as per your requirement
access_type "offline"/"online". In cases where refresh tokens can't be stored, use online access_type. The default will be online
state State is an opaque value used by the client to maintain state between the request and callback.

After you invoke the authorization URI, a "user-consent" page opens.


When the user clicks Accept:

The application gets authorized. The grant token sent as a parameter in the redirect_uri.

A back-end script from your end needs to store the following details from the above URL.

  • code={grant_token} - This is used to generate access and refresh tokens.
  • location={domain} - This tells you the domain of the user from which you have to make API calls.
  • accounts-server={accounts_URL} - This is your accounts URL which you have to use to generate access and refresh tokens.

The application exchanges the authorization code for an access token.


When the user clicks Reject:

The browser redirects to the redirect URI with the parameter error=access_denied, and your application is denied access to the user's data in Zoho Desk.


Note:

The grant token is valid only for one minute.


Generating OAuth Tokens Using Self Client

Use this method to generate the grant token if your application does not have a domain and a redirect URL.
You can also use this option when your application is a standalone server-side application performing a back-end job.

  1. Go to Zoho Developer Console.

  2. Choose Self Client from the list of client types, and click Create Now.

  3. Click OK in the pop up to enable a self client for your account.

  4. Now, your client ID and client secret are displayed under the Client Secret tab.

  5. Click the Generate Code tab and enter the required scope separated by commas. Refer to our list of Scopes, for more details.

  6. Select the Time Duration for which the grant token is valid. Please note that after this time, the grant token expires.

  7. Enter a description and click Generate.

  8. The generated code for the specified scope is displayed. Copy the grant token.

Note:

Generating the grant token is a one-time process, provided you generate the access and refresh tokens within the time the grant token is valid for.

Authorization Grant API Url

GET https://accounts.zoho.com/oauth/v2/auth

Query Params

?response_type=code
&client_id=1000.R2Z0WWOLFVMR287126QED3B4JWQ5EN
&scope=Desk.tickets.READ,Desk.basic.READ
&redirect_uri=https://www.zylker.com/oauthgrant
&state=-5466400890088961855


Step 3: Generating Tokens

Invoke a URL in the following format to exchange the authorization code (obtained at the end of the previous step) with an OAuthToken.

Parameter Description
code Authorization code obtained after generating the grant token.
client_id Client ID obtained after registering the client.
client_secret Client secret obtained after registering the client.
grant_type "authorization_code"
redirect_uri Redirect URI mentioned while registering the client.

After invoking the URL, you will be presented with an access token, which you must include in all API calls.


Note:

Each access token is valid for only an hour and used only for the operations defined in the scope.

Refresh token does not expire. Use it to refresh access tokens when they expire.

You can only generate a maximum of five refresh tokens in a minute.

Access Token API Url

POST https://accounts.zoho.com/oauth/v2/token

Query Params

?code=1000.fadbca4c2be2f08b0ce82a54f4313.ba5325853af6f12a0f160
&grant_type=authorization_code
&client_id=1000.R2Z0WWOLFVMR287126QED3B4JWQ5EN
&client_secret=39c689de68c712fa5f1f06c3b1319ab98f59fa921b
&redirect_uri=https://www.zylker.com/oauthgrant


Response Example

Step 4: Refreshing your Access Tokens

Access tokens generally expire in one hour, which means a new access token has to be generated to keep the process going. You can eliminate the need to perform the entire procedure to generate access tokens, by using refresh tokens. Once the access token expires, the refresh token can be used to generate a new access token.

Refresh token can be obtained only when access_type is set to offline while creating the access token.

Refer to the example to understand how an access token can be obtained using the refresh token.


Note:

  • A "User" in an organization can have a maximum of 20 refresh tokens. And each refresh token can have a maximum of 15 active access tokens (non expired).

  • When a user creates a 16th access token, the system deletes the first created access token. Similarly, when the user creates the 21st refresh token, the system deletes the first created refresh token.

  • We have provided with a sample test OAuth in all the examples, so that you can test any example on your own. You can replace the sample OAuth Token with your actual token to test requests from your Desk account.

Access Token From Refresh token API Url

POST https://accounts.zoho.com/oauth/v2/token

Query Params

?refresh_token=1000.dd7e67013ab396012e3d6eb1a9bc08.40bf11e7d0a1781ffec859e
&client_id=1000.R2Z0WWOLFVMR287126QED3B4JWQ5EN
&client_secret=39c689de68c712fa5f1f06c3b1319ab98f59fa921b
&scope=Desk.tickets.READ,Desk.basic.READ
&redirect_uri=https://www.zylker.com/oauthgrant
&grant_type=refresh_token

Response Example

Step 5: Revoking Tokens

If you want to revoke your refresh token, Make a POST request with the following URL:

https://accounts.zoho.com/oauth/v2/token/revoke?token={refresh_token}

Refer to the example to understand how a refresh token can be revoked.


Revoking Token API Url

POST https://accounts.zoho.com/oauth/v2/token/revoke

Query Params

?token=1000.dd7e67013ab396012e3d6eb1a9bc08.40bf11e7d0a1781ffec859e

Using OAuth Token In API Calls

To invoke Zoho Desk's APIs, pass the access token in the Authorization parameter in the header, as shown in the example.


Request Example

$ curl -X GET https://desk.zoho.com/api/v1/tickets/1892000000143237
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.67013ab3960787bcf3affae67e649fc0.83a789c859e040bf11e7d05f9c8b5ef6"

Response Example

HTTP/1.1 200 Ok
Content-Type: application/json;charset=UTF-8

OAuth Scopes

The various scopes accessible using Zoho Desk's APIs are as follows:

ScopeName Description

Desk.tickets.ALL

Grants read and write access to tickets and related data.

Desk.tickets.READ

Grants read access to tickets and related data.

Desk.tickets.WRITE

Grants write access to tickets.

Desk.tickets.UPDATE

Grants update access to tickets and related data.

Desk.tickets.CREATE

Grants access to create tickets

Desk.tickets.DELETE

Grants access to delete tickets

Desk.contacts.READ

Grants read access to contacts, accounts and related data

Desk.contacts.WRITE

Grants write access to contacts, accounts and related data

Desk.contacts.UPDATE

Grants update access to contacts, accounts and related data

Desk.contacts.CREATE

Grants access to create contacts and accounts

Desk.tasks.ALL

Grants read and write access to tasks and related data

Desk.tasks.WRITE

Grants write access to tasks and related data

Desk.tasks.READ

Grants read access to tasks and related data

Desk.tasks.CREATE

Grants access to create tasks

Desk.tasks.UPDATE

Grants update access to tasks and related data

Desk.tasks.DELETE

Grants access to delete tasks

Desk.basic.READ

Grants read access to basic data, such as organizations, agents and departments

Desk.basic.CREATE

Grants access to create basic data, such as organizations, agents and departments

Desk.settings.ALL

Grants read and write access to settings data

Desk.settings.WRITE

Grants write access to settings data

Desk.settings.READ

Grants read access to settings data

Desk.settings.CREATE

Grants access to create new settings data

Desk.settings.UPDATE

Grants access to update existing settings data

Desk.settings.DELETE

Grants access to delete settings data

Desk.search.READ

Grants access to search for data

Desk.events.ALL

Grants read and write access to the events subscription

Desk.events.READ

Grants read access to the events subscription

Desk.events.WRITE

Grants write access to the events subscription

Desk.events.CREATE

Grants access to create events subscription

Desk.events.UPDATE

Grants update access to the events subscription

Desk.events.DELETE

Grants delete access to the events subscription

Desk.articles.READ

Grants read access to articles

Desk.articles.CREATE

Grants access to create articles

Desk.articles.UPDATE

Grants update access to articles

Desk.articles.DELETE

Grants delete access to articles

Organization Binding

Any OAuth token generated is linked to a Zoho Desk organization. This step of associating the token and the organization, which happens in the backend while getting authorization consent from the end user, is called organization binding.


If the end-user has only one Zoho Desk organization (portal), the OAuth token is linked to it automatically. If they have multiple organizations, they must manually select the one with which the token must be linked, as illustrated in the following image.


After they click the Submit button, the OAuth token is generated with the organization information bound to it.


Zoho Desk APIs automatically extract organization information from OAuth tokens. Therefore, it is not necessary to add the extra orgId query parameter in an API call or pass it in the API's header. However, if you choose to do so, make sure that the value of orgId is same as that of the portal bound with the OAuth token. If the IDs do not match, the API call fails, and the OAUTH_ORG_MISMATCHerror message is returned.


Webhook

Zoho Desk supports webhooks that asynchronously deliver information on events that occur in the help desk. These events include actions, such as creating or updating a ticket, contact, or account, and so on. For information on how to include Zoho Desk webhooks in your service, refer to this document.

Help Center

Your help center is one of the key channels through which customers can seek support. This portal provides your customers with access to major help modules, such as your knowledge base, user community, live chat, and ticket submission form. A well-designed and well-maintained help center ensures good self-service capabilities for your customers and lesser burden on your support agents. To know more about this please refer this document

Java SDK

The Zoho Desk Java SDK helps you create client Java applications that can be integrated with your Zoho Desk portal. This SDK makes it easy to access and use Zoho Desk APIs where necessary. In other words, it serves as a wrapper for the REST APIs, making it easy to use Zoho Desk's functionalities in your custom applications. To know more about this SDK please refer this document

Organizations

In Zoho Desk, each business is categorized as an organization. If you have multiple businesses, set each business up as an individual organization by creating a new signup and generating a unique organization ID. All APIs except the ones directly related to organizations must include the organization ID in the header in this format: orgId:{organization_id}

ATTRIBUTES

Attribute Name
Data Type
Description
companyName

string

Actual name of the organization/business

portalName

string

Unique name for the help desk portal. Only lower-case letters and numbers are allowed in the name.

phoneNumber

string

Phone number of the organization

edition

string

Zoho Desk edition purchased. Values allowed are:Ā FREE,Ā ENTERPRISE, PROFESSIONAL, STANDARD and EXPRESS.

id

long

Unique ID of the organization

isDefault

boolean

Key that returns if the organization is the default organization of the user

isAdminInOrg

boolean

Key that returns if the user is an admin in the organization

portalURL

string

URL of the help desk portal

logoURL

string

URL of the image file displaying the organization's logo

alias

string

Alternative name for the help desk portal

employeeCount

string

Number of employees in the organization

description

string

Brief description of the organization

mobile

string

Mobile number of the organization

website

string

Website of the organization

fax

string

Fax number of the organization

primaryContact

string

Primary contact person in the organization

street

string

Street in which the organization's office is located

city

string

City in which the organization's office is located

state

string

State in which the organization's office is located

zip

string

Zip code of the organization's address

country

string

Country in which the organization's office is located

currencyLocale

string

Currency locale in which the organization operates

currencySymbol

string

Currency symbol used in the organization

Example

{
  "country" : "United States",
  "city" : "Bernierview",
  "companyName" : "Zylker INC.",
  "description" : "We are Zylker Support.",
  "edition" : "ENTERPRISE",
  "employeeCount" : "10",
  "isAdminInOrg" : true,
  "faviconURL" : "https://desk.zoho.com/api/v1/organizations/3981311/favicon?no-cache=d61a9627de49ffe046fcab71af3359e8",
  "portalName" : "zylker",
  "street" : "70961 Powlowski Crossing",
  "currencyLocale" : "US",
  "alias" : "Zylker Teams",
  "id" : "3981311",
  "state" : "NC",
  "isPayloadEncryptionEnabled" : "false",
  "fax" : "8392839821",
  "zip" : "68838-2640",
  "website" : "www.zylker.com",
  "mobile" : "9848022338",
  "currencySymbol" : "$",
  "logoURL" : "http://static.zohocdn.com/desk/app/images/portalLogo.de847024ebc0131731a3.png",
  "isDefault" : "false",
  "phoneNumber" : "9884358081",
  "portalURL" : "http://support.zylker.com/support/zylker/ShowHomePage.do",
  "primaryContact" : "steve@zylker.com",
  "currencyCode" : "USD",
  "isSandboxPortal" : "false"
}


Get organization

This API fetches the details of an organization from yourĀ help desk.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
includeCustomDomain

boolean

optional,
default : false

Key that denotes if the customDomain field must be included in the API response

GET /api/v1/organizations/{organization_Id}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/organizations/3981311?includeCustomDomain=true
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "country" : "United States",
  "city" : "Bernierview",
  "companyName" : "Zylker INC.",
  "description" : "We are Zylker Support.",
  "edition" : "ENTERPRISE",
  "employeeCount" : "10",
  "isAdminInOrg" : true,
  "faviconURL" : "https://desk.zoho.com/api/v1/organizations/3981311/favicon?no-cache=d61a9627de49ffe046fcab71af3359e8",
  "portalName" : "zylker",
  "street" : "70961 Powlowski Crossing",
  "currencyLocale" : "US",
  "alias" : "Zylker Teams",
  "id" : "3981311",
  "state" : "NC",
  "isPayloadEncryptionEnabled" : "false",
  "fax" : "8392839821",
  "zip" : "68838-2640",
  "website" : "www.zylker.com",
  "mobile" : "9848022338",
  "currencySymbol" : "$",
  "logoURL" : "https://desk.zoho.com/api/v1/organizations/3981311/logo?no-cache=ffc59c3ba6585c12fb306f5174948ff6",
  "customDomain" : "support.zylker.com",
  "isDefault" : "false",
  "phoneNumber" : "9884358081",
  "portalURL" : "http://support.zylker.com/support/zylker/ShowHomePage.do",
  "primaryContact" : "steve@zylker.com",
  "currencyCode" : "USD",
  "isSandboxPortal" : "false"
}

Get all organizations

This API lists all organizations to which the current user belongs.

GET /api/v1/organizations

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/organizations
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "country" : "United States",
    "city" : "Bernierview",
    "companyName" : "Zylker INC.",
    "description" : "We are Zylker Support.",
    "edition" : "ENTERPRISE",
    "employeeCount" : "10",
    "isAdminInOrg" : true,
    "faviconURL" : "https://desk.zoho.com/api/v1/organizations/3981311/favicon?no-cache=d61a9627de49ffe046fcab71af3359e8",
    "portalName" : "zylker",
    "street" : "70961 Powlowski Crossing",
    "currencyLocale" : "US",
    "alias" : "Zylker Teams",
    "id" : "3981311",
    "state" : "NC",
    "isPayloadEncryptionEnabled" : "false",
    "fax" : "8392839821",
    "zip" : "68838-2640",
    "website" : "www.zylker.com",
    "mobile" : "9848022338",
    "currencySymbol" : "$",
    "logoURL" : "https://desk.zoho.com/api/v1/organizations/3981311/logo?no-cache=ffc59c3ba6585c12fb306f5174948ff6",
    "isDefault" : "false",
    "phoneNumber" : "9884358081",
    "portalURL" : "http://support.zylker.com/support/zylker/ShowHomePage.do",
    "primaryContact" : "steve@zylker.com",
    "currencyCode" : "USD",
    "isSandboxPortal" : "false"
  }, {
    "country" : "United States",
    "city" : "Port Cierra",
    "companyName" : "Nshlerin LLC.",
    "description" : "We are Nshlerin Support.",
    "edition" : "PROFESSIONAL",
    "employeeCount" : "20",
    "isAdminInOrg" : true,
    "faviconURL" : "https://desk.zoho.com/api/v1/organizations/5988319/favicon?no-cache=b31a9627de49fge046fcab71sf3359eq",
    "portalName" : "nshlerin",
    "street" : "269 Adam Flats",
    "currencyLocale" : "US",
    "alias" : "Nshlerinians",
    "id" : "5988319",
    "state" : "Port Cierra",
    "isPayloadEncryptionEnabled" : "false",
    "fax" : "987654321",
    "zip" : "33560-8932",
    "website" : "www.nshlerin.com",
    "mobile" : "987654321",
    "currencySymbol" : "$",
    "logoURL" : "http://static.zohocdn.com/desk/app/images/portalLogo.de847024ebc0131731a3.png",
    "isDefault" : "false",
    "phoneNumber" : "9884309090",
    "portalURL" : "http://support.nshlerin.com/support/nshlerin/ShowHomePage.do",
    "primaryContact" : "kelvin@zylker.com",
    "currencyCode" : "USD",
    "isSandboxPortal" : "true"
  } ]
}

Get accessible organizations

This API lists all organizations which can be accessed using the current Oauth token.

GET /api/v1/accessibleOrganizations

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/accessibleOrganizations
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "country" : "United States",
    "city" : "Bernierview",
    "companyName" : "Zylker INC.",
    "description" : "We are Zylker Support.",
    "edition" : "ENTERPRISE",
    "employeeCount" : "10",
    "isAdminInOrg" : true,
    "faviconURL" : "https://desk.zoho.com/api/v1/organizations/3981311/favicon?no-cache=d61a9627de49ffe046fcab71af3359e8",
    "portalName" : "zylker",
    "street" : "70961 Powlowski Crossing",
    "currencyLocale" : "US",
    "alias" : "Zylker Teams",
    "id" : "3981311",
    "state" : "NC",
    "isPayloadEncryptionEnabled" : "false",
    "fax" : "8392839821",
    "zip" : "68838-2640",
    "website" : "www.zylker.com",
    "mobile" : "9848022338",
    "currencySymbol" : "$",
    "logoURL" : "https://desk.zoho.com/api/v1/organizations/3981311/logo?no-cache=ffc59c3ba6585c12fb306f5174948ff6",
    "isDefault" : "false",
    "phoneNumber" : "9884358081",
    "portalURL" : "https://support.zylker.com/support/zylker/ShowHomePage.do",
    "primaryContact" : "steve@zylker.com",
    "currencyCode" : "USD",
    "isSandboxPortal" : "false"
  } ]
}

Update organization

This APIĀ updates the details of an organization.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
companyName

string

optional,
max chars : 50

Actual name of the organization/business

portalName

string

optional,
max chars : 100

Unique name for the help desk portal. Only lower-case letters and numbers are allowed in the name.

phoneNumber

string

optional,
max chars : 30

Phone number of the organization

edition

string

optional,
max chars : 100

Zoho Desk edition purchased. Values allowed are:Ā FREE,Ā ENTERPRISE, PROFESSIONAL, STANDARD and EXPRESS.

alias

string

optional,
max chars : 50

Alternative name for the help desk portal

employeeCount

string

optional,
max chars : 19

Number of employees in the organization

description

string

optional,
max chars : 250

Brief description of the organization

mobile

string

optional,
max chars : 30

Mobile number of the organization

website

string

optional,
max chars : 50

Website of the organization

fax

string

optional,
max chars : 100

Fax number of the organization

primaryContact

string

optional,
max chars : 100

Primary contact person in the organization

street

string

optional,
max chars : 50

Street in which the organization's office is located

city

string

optional,
max chars : 50

City in which the organization's office is located

state

string

optional,
max chars : 50

State in which the organization's office is located

zip

string

optional,
max chars : 100

Zip code of the organization's address

country

string

optional,
max chars : 50

Country in which the organization's office is located

currencyLocale

string

optional,
max chars : 100

Currency locale in which the organization operates

PATCH /api/v1/organizations/{organization_Id}

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/organizations/3981311
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "portalName" : "zylkerdesk", "companyName" : "Zylker Desk", "primaryContact" : "kelvin@zylker.com", "mobile" : "9848022338", "employeeCount" : "10" }'

Response Example

{
  "country" : "United States",
  "city" : "Bernierview",
  "companyName" : "Zylker Desk",
  "description" : "We are Zylker Support.",
  "edition" : "ENTERPRISE",
  "employeeCount" : "10",
  "isAdminInOrg" : true,
  "faviconURL" : "https://desk.zoho.com/api/v1/organizations/3981311/favicon?no-cache=d61a9627de49ffe046fcab71af3359e8",
  "portalName" : "zylkerdesk",
  "street" : "70961 Powlowski Crossing",
  "currencyLocale" : "US",
  "alias" : "Zylker Teams",
  "id" : "3981311",
  "state" : "NC",
  "isPayloadEncryptionEnabled" : "false",
  "fax" : "8392839821",
  "zip" : "68838-2640",
  "website" : "www.zylker.com",
  "mobile" : "9848022338",
  "currencySymbol" : "$",
  "logoURL" : "http://static.zohocdn.com/desk/app/images/portalLogo.de847024ebc0131731a3.png",
  "isDefault" : "false",
  "phoneNumber" : "9884358081",
  "portalURL" : "http://support.zylker.com/support/zylkerdesk/ShowHomePage.do",
  "primaryContact" : "kelvin@zylker.com",
  "currencyCode" : "USD",
  "isSandboxPortal" : "false"
}

Get organization favicon

This API fetches the favicon set for an organization/portal in your help desk.

Query Params

Param Name
Data Type
Description
no-cache

string

optional,
max chars : 100

Key that helps avoid browser cache. Only alphanumeric values are allowed.

fileSize

string

optional,
max chars : 100

Size of the image file to download. Values allowed are THUMBNAIL (image with reduced dimensions and size) and ACTUAL (image with actual dimensions and size). The default value is ACTUAL.

GET /api/v1/organizations/{organization_Id}/favicon

OAuth Scope

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/organizations/3981311/favicon
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Update organization favicon

This API updates the favicon set for an organization/portal in your help desk.

Credit: 1 credit/call

File Params

favicon

Content-Type:multipart/form-data

Image file of the favicon.The maximum file size allowed is 2 MB ;and extensions allowed are .jpg,.png,.gif,.jpeg,.ico

POST /api/v1/organizations/{organization_Id}/favicon

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/organizations/3981311/favicon
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "faviIconURL" : "https://desk.zoho.com/api/v1/organizations/3981311/favicon?no-cache=ffc59c3ba6585c12fb306f5174948ff6"
}

Delete organization favicon

This API updates the favicon set for an organization/portal in your help desk.

Credit: 1 credit/call

DELETE /api/v1/organizations/{organization_Id}/favicon

OAuth Scope

Desk.settings.DELETE , Desk.basic.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/organizations/3981311/favicon
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Update default organization

This API updates the default organization for the current user in Zoho Desk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
id

long

required

Unique ID of the organization to be marked as default org

POST /api/v1/organizations/markDefault

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/organizations/markDefault
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "id" : "3981311" }'

Response Example

204

Businesshours

Business hours are the working hours of your help desk. In Zoho Desk, you can configure multiple business hour sets, based on factors, such as the shift times of your agents, and time zones of the regions you cater to. Defining business hours is important because the due time for responding to and resolving tickets are calculated based on these hours. They play a critical role in time tracking and SLAs

ATTRIBUTES

Attribute Name
Data Type
Description
name

String

Name of the business hours set

status

String

Activation status of the business hours set. Values allowed are ACTIVE and INACTIVE

type

String

Type of the business hours set. Values allowed are 24X7 (available anytime throughout the week), SPECIFIC (available during specific hours on the days selected),and CUSTOM (available during different hours on different days

holidayListId

deprecated

long

ID of the holiday list, Alert: Use holidayListIds to associate holidays with business hours

holidayListIds
see documentation

list

ID(s) of the holiday lists to associate with business hours. Note: A maximum of 2 holiday lists can be associated with business hours

timeZoneId

string

ID of the time zone to associate with the business hours set

businessTimes

list

Business hours for the week

Example

{
  "modifiedTime" : "2018-12-03T07:16:59.198Z",
  "holidayLists" : [ {
    "name" : "Recurring Holiday With Christmas and NewYear",
    "id" : "4000000658002",
    "status" : "ACTIVE"
  }, {
    "name" : "2024 Fixed Holiday Jan 3rd and 4th and Feb 2",
    "id" : "4000000658020",
    "status" : "ACTIVE"
  } ],
  "createdBy" : "4000000016079",
  "associatedHolidayList" : {
    "holidayListStatus" : "INACTIVE",
    "holidayListId" : "4000000105030",
    "holidayListName" : "General HolidayList"
  },
  "name" : "UK Shift BusinessHours",
  "businessTimes" : [ {
    "startTime" : "09:00",
    "endTime" : "18:00",
    "day" : "MONDAY"
  }, {
    "startTime" : "09:00",
    "endTime" : "18:00",
    "day" : "TUESDAY"
  }, {
    "startTime" : "09:00",
    "endTime" : "18:00",
    "day" : "WEDNESDAY"
  }, {
    "startTime" : "09:00",
    "endTime" : "18:00",
    "day" : "THURSDAY"
  }, {
    "startTime" : "09:00",
    "endTime" : "18:00",
    "day" : "FRIDAY"
  }, {
    "startTime" : "09:00",
    "endTime" : "18:00",
    "day" : "SATURDAY"
  }, {
    "startTime" : "00:00",
    "endTime" : "00:00",
    "day" : "SUNDAY"
  } ],
  "timeZone" : {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( GMT )",
    "id" : "GMT"
  },
  "createdTime" : "2018-11-28T11:25:45.082Z",
  "modifiedBy" : "4000000016079",
  "id" : "4000000101009",
  "type" : "CUSTOM",
  "status" : "INACTIVE"
}


Create business hours set

This API creates a business hours set in your help desk portal

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

String

required

Name of the business hours set

status

String

required

Activation status of the business hours set. Values allowed are ACTIVE and INACTIVE

type

String

required

Type of the business hours set. Values allowed are 24X7 (available anytime throughout the week), SPECIFIC (available during specific hours on the days selected),and CUSTOM (available during different hours on different days

holidayListId
deprecated

long

optional

ID of the holiday list, Alert: Use holidayListIds to associate holidays with business hours

holidayListIds
see documentation

list

optional

ID(s) of the holiday lists to associate with business hours. Note: A maximum of 2 holiday lists can be associated with business hours

timeZoneId

string

optional,
max chars : 100

ID of the time zone to associate with the business hours set

businessTimes

list

optional

Business hours for the week

POST /api/v1/businessHours

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/businessHours
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "timeZoneId" : "PLT", "name" : "BusinssHour Pakistan Shift", "businessTimes" : [ { "startTime" : "10:00", "endTime" : "16:00", "day" : "MONDAY" }, { "startTime" : "10:00", "endTime" : "16:00", "day" : "TUESDAY" }, { "startTime" : "10:00", "endTime" : "16:00", "day" : "WEDNESDAY" }, { "startTime" : "10:00", "endTime" : "16:00", "day" : "THURSDAY" }, { "startTime" : "10:00", "endTime" : "16:00", "day" : "FRIDAY" } ], "type" : "SPECIFIC", "status" : "ACTIVE" }'

Response Example

{
  "modifiedTime" : "2018-12-10T07:18:39.796Z",
  "holidayLists" : [ ],
  "createdBy" : "4000000016079",
  "associatedHolidayList" : null,
  "name" : "BusinssHour Pakistan Shift",
  "businessTimes" : [ {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "MONDAY"
  }, {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "TUESDAY"
  }, {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "WEDNESDAY"
  }, {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "THURSDAY"
  }, {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "FRIDAY"
  }, {
    "startTime" : "00:00",
    "endTime" : "00:00",
    "day" : "SATURDAY"
  }, {
    "startTime" : "00:00",
    "endTime" : "00:00",
    "day" : "SUNDAY"
  } ],
  "timeZone" : {
    "name" : "( GMT 5:00 ) Pakistan Time( PLT )",
    "id" : "PLT"
  },
  "createdTime" : "2018-12-10T07:18:39.796Z",
  "modifiedBy" : "4000000016079",
  "id" : "4000000186010",
  "type" : "SPECIFIC",
  "status" : "ACTIVE"
}

Get business hours set

This API fetches the details of a business hours set configured in your help desk portal

Credit: 1 credit/call

GET /api/v1/businessHours/{businessHourId}

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/businessHours/4000000186010
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2018-12-10T07:18:39.796Z",
  "holidayLists" : [ ],
  "createdBy" : "4000000016079",
  "associatedHolidayList" : null,
  "name" : "BusinssHour Pakistan Shift",
  "businessTimes" : [ {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "MONDAY"
  }, {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "TUESDAY"
  }, {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "WEDNESDAY"
  }, {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "THURSDAY"
  }, {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "FRIDAY"
  }, {
    "startTime" : "00:00",
    "endTime" : "00:00",
    "day" : "SATURDAY"
  }, {
    "startTime" : "00:00",
    "endTime" : "00:00",
    "day" : "SUNDAY"
  } ],
  "timeZone" : {
    "name" : "( GMT 5:00 ) Pakistan Time( PLT )",
    "id" : "PLT"
  },
  "createdTime" : "2018-12-10T07:18:39.796Z",
  "modifiedBy" : "4000000016079",
  "id" : "4000000186010",
  "type" : "SPECIFIC",
  "status" : "ACTIVE"
}

Update business hours set

TThis API updates the details of a business hours set configured in your help desk portal

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

String

optional

Name of the business hours set

status

String

optional

Activation status of the business hours set. Values allowed are ACTIVE and INACTIVE

type

String

optional

Type of the business hours set. Values allowed are 24X7 (available anytime throughout the week), SPECIFIC (available during specific hours on the days selected),and CUSTOM (available during different hours on different days

holidayListId
deprecated

long

optional

ID of the holiday list, Alert: Use holidayListIds to associate holidays with business hours

holidayListIds
see documentation

list

optional

ID(s) of the holiday lists to associate with business hours. Note: A maximum of 2 holiday lists can be associated with business hours

timeZoneId

string

optional,
max chars : 100

ID of the time zone to associate with the business hours set

businessTimes

list

optional

Business hours for the week

PATCH /api/v1/businessHours/{businessHourId}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/businessHours/6000000045001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "holidayListIds" : [ "4000000105030" ] }'

Response Example

{
  "modifiedTime" : "2018-12-10T09:46:28.750Z",
  "holidayLists" : [ {
    "name" : "General HolidayList",
    "id" : "4000000105030",
    "status" : "INACTIVE"
  } ],
  "createdBy" : "4000000016079",
  "associatedHolidayList" : {
    "holidayListStatus" : "INACTIVE",
    "holidayListId" : "4000000105030",
    "holidayListName" : "General HolidayList"
  },
  "name" : "BusinssHour Pakistan Shift-with Holidays",
  "businessTimes" : [ {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "MONDAY"
  }, {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "TUESDAY"
  }, {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "WEDNESDAY"
  }, {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "THURSDAY"
  }, {
    "startTime" : "10:00",
    "endTime" : "16:00",
    "day" : "FRIDAY"
  }, {
    "startTime" : "00:00",
    "endTime" : "00:00",
    "day" : "SATURDAY"
  }, {
    "startTime" : "00:00",
    "endTime" : "00:00",
    "day" : "SUNDAY"
  } ],
  "timeZone" : {
    "name" : "( GMT 5:00 ) Pakistan Time( PLT )",
    "id" : "PLT"
  },
  "createdTime" : "2018-12-10T07:18:39.796Z",
  "modifiedBy" : "4000000016079",
  "id" : "4000000186010",
  "type" : "SPECIFIC",
  "status" : "ACTIVE"
}

Delete business hours set

This API deletes a business hours set from your help desk portal

Credit: 1 credit/call

DELETE /api/v1/businessHours/{businessHourId}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/businessHours/6000000033001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

List business hour sets

This API lists a particular number of business hour sets, based on the limit specified

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional

Index number, starting from which the business hour sets must be listed

limit

integer

optional,
range : 1-50

Number of business hour sets to list

status

String

optional

Activation status of the business hour sets. Values allowed are ACTIVE and INACTIVE

businessHourIds

list

optional

The IDs of the BusinessHours to list separated by commas. You can pass upto 50 IDs.

GET /api/v1/businessHours

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/businessHours
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2018-12-10T07:09:51.265Z",
    "holidayLists" : [ ],
    "createdBy" : "4000000016079",
    "associatedHolidayList" : null,
    "name" : "BusinssHour Pak Shift",
    "businessTimes" : [ {
      "startTime" : "10:00",
      "endTime" : "16:00",
      "day" : "MONDAY"
    }, {
      "startTime" : "10:00",
      "endTime" : "16:00",
      "day" : "TUESDAY"
    }, {
      "startTime" : "10:00",
      "endTime" : "16:00",
      "day" : "WEDNESDAY"
    }, {
      "startTime" : "10:00",
      "endTime" : "16:00",
      "day" : "THURSDAY"
    }, {
      "startTime" : "10:00",
      "endTime" : "16:00",
      "day" : "FRIDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "00:00",
      "day" : "SATURDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "00:00",
      "day" : "SUNDAY"
    } ],
    "timeZone" : {
      "name" : "( GMT 5:00 ) Pakistan Time( PLT )",
      "id" : "PLT"
    },
    "createdTime" : "2018-12-10T07:09:51.265Z",
    "modifiedBy" : "4000000016079",
    "id" : "4000000185071",
    "type" : "SPECIFIC",
    "status" : "ACTIVE"
  }, {
    "modifiedTime" : "2018-12-04T10:44:24.258Z",
    "holidayLists" : [ ],
    "createdBy" : "4000000016079",
    "associatedHolidayList" : null,
    "name" : "Specific BH",
    "businessTimes" : [ {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "MONDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "TUESDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "WEDNESDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "THURSDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "FRIDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "SATURDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "SUNDAY"
    } ],
    "timeZone" : {
      "name" : "( GMT 0:00 ) Greenwich Mean Time( GMT )",
      "id" : "GMT"
    },
    "createdTime" : "2018-11-28T11:25:45.082Z",
    "modifiedBy" : "4000000016079",
    "id" : "4000000101003",
    "type" : "SPECIFIC",
    "status" : "ACTIVE"
  }, {
    "modifiedTime" : "2018-12-04T06:48:44.595Z",
    "holidayLists" : [ {
      "name" : "Overlapping Holidays",
      "id" : "4000000117001",
      "status" : "INACTIVE"
    } ],
    "createdBy" : "4000000016079",
    "associatedHolidayList" : {
      "holidayListStatus" : "INACTIVE",
      "holidayListId" : "4000000117001",
      "holidayListName" : "Overlapping Holidays"
    },
    "name" : "24X7 BusinessHour",
    "businessTimes" : [ {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "MONDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "TUESDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "WEDNESDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "THURSDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "FRIDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "SATURDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "SUNDAY"
    } ],
    "timeZone" : {
      "name" : "( GMT 0:00 ) Greenwich Mean Time( GMT )",
      "id" : "GMT"
    },
    "createdTime" : "2018-11-28T11:25:45.082Z",
    "modifiedBy" : "4000000016079",
    "id" : "4000000103001",
    "type" : "24X7",
    "status" : "ACTIVE"
  }, {
    "modifiedTime" : "2018-12-03T07:16:59.198Z",
    "holidayLists" : [ ],
    "createdBy" : "4000000016079",
    "associatedHolidayList" : null,
    "name" : "Indian Shift 2",
    "businessTimes" : [ {
      "startTime" : "09:00",
      "endTime" : "18:00",
      "day" : "MONDAY"
    }, {
      "startTime" : "09:00",
      "endTime" : "18:00",
      "day" : "TUESDAY"
    }, {
      "startTime" : "09:00",
      "endTime" : "18:00",
      "day" : "WEDNESDAY"
    }, {
      "startTime" : "09:00",
      "endTime" : "18:00",
      "day" : "THURSDAY"
    }, {
      "startTime" : "09:00",
      "endTime" : "18:00",
      "day" : "FRIDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "00:00",
      "day" : "SATURDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "00:00",
      "day" : "SUNDAY"
    } ],
    "timeZone" : {
      "name" : "( GMT 0:00 ) Greenwich Mean Time( GMT )",
      "id" : "GMT"
    },
    "createdTime" : "2018-11-28T12:36:11.781Z",
    "modifiedBy" : "4000000016079",
    "id" : "4000000104068",
    "type" : "SPECIFIC",
    "status" : "ACTIVE"
  }, {
    "modifiedTime" : "2018-12-03T07:16:59.198Z",
    "holidayLists" : [ {
      "name" : "General HolidayList",
      "id" : "4000000105030",
      "status" : "INACTIVE"
    } ],
    "createdBy" : "4000000016079",
    "associatedHolidayList" : {
      "holidayListStatus" : "INACTIVE",
      "holidayListId" : "4000000105030",
      "holidayListName" : "General HolidayList"
    },
    "name" : "UK 24X7 Shift",
    "businessTimes" : [ {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "MONDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "TUESDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "WEDNESDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "THURSDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "FRIDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "SATURDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "23:59",
      "day" : "SUNDAY"
    } ],
    "timeZone" : {
      "name" : "( GMT 0:00 ) Greenwich Mean Time( GMT )",
      "id" : "GMT"
    },
    "createdTime" : "2018-11-28T11:25:45.082Z",
    "modifiedBy" : "4000000016079",
    "id" : "4000000101005",
    "type" : "24X7",
    "status" : "ACTIVE"
  }, {
    "modifiedTime" : "2018-12-03T07:16:59.198Z",
    "holidayLists" : [ {
      "name" : "General HolidayList",
      "id" : "4000000105030",
      "status" : "INACTIVE"
    } ],
    "createdBy" : "4000000016079",
    "associatedHolidayList" : {
      "holidayListStatus" : "INACTIVE",
      "holidayListId" : "4000000105030",
      "holidayListName" : "General HolidayList"
    },
    "name" : "UK Shift",
    "businessTimes" : [ {
      "startTime" : "09:00",
      "endTime" : "18:00",
      "day" : "MONDAY"
    }, {
      "startTime" : "09:00",
      "endTime" : "18:00",
      "day" : "TUESDAY"
    }, {
      "startTime" : "09:00",
      "endTime" : "18:00",
      "day" : "WEDNESDAY"
    }, {
      "startTime" : "09:00",
      "endTime" : "18:00",
      "day" : "THURSDAY"
    }, {
      "startTime" : "09:00",
      "endTime" : "18:00",
      "day" : "FRIDAY"
    }, {
      "startTime" : "09:00",
      "endTime" : "18:00",
      "day" : "SATURDAY"
    }, {
      "startTime" : "00:00",
      "endTime" : "00:00",
      "day" : "SUNDAY"
    } ],
    "timeZone" : {
      "name" : "( GMT 0:00 ) Greenwich Mean Time( GMT )",
      "id" : "GMT"
    },
    "createdTime" : "2018-11-28T11:25:45.082Z",
    "modifiedBy" : "4000000016079",
    "id" : "4000000101009",
    "type" : "CUSTOM",
    "status" : "INACTIVE"
  } ]
}

List associated automation rules

This API lists a particular number of automation rules that include a business hours set,based on the limit specified

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional

Index number, starting from which the rules must be listed

limit

integer

optional,
range : 1-50

Number of rules to list

GET /api/v1/businessHours/{businessHourId}/relatedRules

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/businessHours/10000000317019/relatedRules
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "ruleType" : "SUPERVISE",
    "ruleName" : "TBA1",
    "ruleId" : "6000000019012"
  }, {
    "ruleType" : "SLA",
    "ruleName" : "Priority-based SLAs",
    "ruleId" : "6000000013508"
  }, {
    "ruleType" : "SLA",
    "ruleName" : "Bronze SLAs",
    "ruleId" : "6000000013514"
  }, {
    "ruleType" : "BLUEPRINT",
    "ruleName" : "Default Blueprint",
    "ruleId" : "6000000016083"
  }, {
    "ruleType" : "BLUEPRINT",
    "ruleName" : "BH BP",
    "ruleId" : "6000000018143"
  }, {
    "ruleType" : "BLUEPRINT",
    "ruleName" : "Third Bp",
    "ruleId" : "6000000023018"
  } ]
}

HolidayList

Holiday list refers to the list of public holidays applicable to your help desk. In Zoho Desk, you can configure multiple holiday lists, based on the regions you cater to. Holiday lists are factored in calculating the due time for responding to and resolving tickets. They play a critical role in time tracking and SLAs. You can associate a holiday list with multiple business hour sets, but each business hour set can include only one holiday list.

ATTRIBUTES

Attribute Name
Data Type
Description
name

String

Name of the holiday list

holidays

list

Holidays to define in the list

status

String

Activation status of the holiday list. Values allowed are ACTIVE and INACTIVE

associatedBusinessHourIds
see documentation

list

IDs of the business hour sets associated with the holiday list

holidayListType

String

Type of holiday. Possible values: RECURRING: Fixed holidays that repeat every year on the same date (e.g., Christmas, New Year's Day), YEAR_SPECIFIC:Holidays that vary depending on the year (e.g., Easter, Thanksgiving)

year

Integer

The year the holiday falls in. Note: Required only when the holidayListType is set to YEAR_SPECIFIC

Example

{
  "modifiedTime" : "2018-12-03T07:16:54.223Z",
  "holidayListType" : "YEAR_SPECIFIC",
  "associatedBusinessHours" : [ {
    "businessHourStatus" : "ACTIVE",
    "businessHourId" : "4000000101005",
    "businessHourName" : "Dual Write OFF 2"
  }, {
    "businessHourStatus" : "INACTIVE",
    "businessHourId" : "4000000101009",
    "businessHourName" : "Dual Write OFF 3 to ON via Update"
  } ],
  "holidays" : [ {
    "from" : "03-26",
    "to" : "03-26",
    "holidayName" : "Regional Holidays"
  }, {
    "from" : "12-05",
    "to" : "12-05",
    "holidayName" : "November Holidays"
  } ],
  "createdBy" : "4000000016079",
  "year" : "2024",
  "name" : "General HolidayList",
  "createdTime" : "2018-11-28T13:04:53.327Z",
  "modifiedBy" : "4000000016079",
  "id" : "4000000105030",
  "status" : "ACTIVE"
}


Create holiday list

This API creates a holiday list in your help desk portal

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

String

required

Name of the holiday list

holidays

list

required

Holidays to define in the list

status

String

required

Activation status of the holiday list. Values allowed are ACTIVE and INACTIVE

associatedBusinessHourIds
see documentation

list

optional

IDs of the business hour sets associated with the holiday list

holidayListType

String

optional

Type of holiday. Possible values: RECURRING: Fixed holidays that repeat every year on the same date (e.g., Christmas, New Year's Day), YEAR_SPECIFIC:Holidays that vary depending on the year (e.g., Easter, Thanksgiving)

year

Integer

optional,
range : 2000-2100

The year the holiday falls in. Note: Required only when the holidayListType is set to YEAR_SPECIFIC

POST /api/v1/holidayList

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/holidayList
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "associatedBusinessHourIds" : [ "4000000101003", "4000000101005", "4000000103001" ], "holidayListType" : "YEAR_SPECIFIC", "holidays" : [ { "from" : "02-20", "to" : "02-21", "holidayName" : "Holiday1" }, { "from" : "03-26", "to" : "03-26", "holidayName" : "Holiday2" }, { "from" : "12-24", "to" : "12-25", "holidayName" : "Christmas Holidays" } ], "year" : "2024", "name" : "My Company Holidays", "status" : "ACTIVE" }'

Response Example

{
  "modifiedTime" : "2018-12-10T10:36:53.136Z",
  "holidayListType" : "YEAR_SPECIFIC",
  "associatedBusinessHours" : [ {
    "businessHourStatus" : "ACTIVE",
    "businessHourId" : "4000000101003",
    "businessHourName" : "UK Day Shift"
  }, {
    "businessHourStatus" : "ACTIVE",
    "businessHourId" : "4000000101005",
    "businessHourName" : "Indian Night Shift"
  }, {
    "businessHourStatus" : "ACTIVE",
    "businessHourId" : "4000000103001",
    "businessHourName" : "UK Night Shift"
  } ],
  "holidays" : [ {
    "from" : "02-20",
    "to" : "02-21",
    "holidayName" : "Holiday1"
  }, {
    "from" : "03-26",
    "to" : "03-26",
    "holidayName" : "Holiday2"
  }, {
    "from" : "12-24",
    "to" : "12-25",
    "holidayName" : "Christmas Holidays"
  } ],
  "createdBy" : "4000000016079",
  "year" : "2024",
  "name" : "My Company Holidays",
  "createdTime" : "2018-12-10T10:36:53.136Z",
  "modifiedBy" : "4000000016079",
  "id" : "4000000191371",
  "status" : "ACTIVE"
}

Get holiday list

This API fetches the details of a holiday list configured in your help desk portal

Credit: 1 credit/call

GET /api/v1/holidayList/{holidayListId}

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/holidayList/4000000191371
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2018-12-10T10:36:53.136Z",
  "holidayListType" : "RECURRING",
  "associatedBusinessHours" : [ {
    "businessHourStatus" : "ACTIVE",
    "businessHourId" : "4000000101003",
    "businessHourName" : "UK Day Shift"
  }, {
    "businessHourStatus" : "ACTIVE",
    "businessHourId" : "4000000101005",
    "businessHourName" : "Indian Night Shift"
  }, {
    "businessHourStatus" : "ACTIVE",
    "businessHourId" : "4000000103001",
    "businessHourName" : "UK Night Shift"
  } ],
  "holidays" : [ {
    "from" : "02-20",
    "to" : "02-21",
    "holidayName" : "Holiday1"
  }, {
    "from" : "03-26",
    "to" : "03-26",
    "holidayName" : "Holiday2"
  }, {
    "from" : "12-24",
    "to" : "12-25",
    "holidayName" : "Christmas Holidays"
  } ],
  "createdBy" : "4000000016079",
  "year" : null,
  "name" : "My Company Holidays",
  "createdTime" : "2018-12-10T10:36:53.136Z",
  "modifiedBy" : "4000000016079",
  "id" : "4000000191371",
  "status" : "ACTIVE"
}

Update holiday list

This API updates the details of a holiday list configured in your help desk portal

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

String

optional

Name of the holiday list

holidays

list

optional

Holidays to define in the list

status

String

optional

Activation status of the holiday list. Values allowed are ACTIVE and INACTIVE

associatedBusinessHourIds
see documentation

list

optional

IDs of the business hour sets associated with the holiday list

PATCH /api/v1/holidayList/{holidayListId}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/holidayList/6000000045009
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "associatedBusinessHourIds" : [ "4000000101003", "4000000103001" ], "name" : "My Holidays" }'

Response Example

{
  "modifiedTime" : "2018-12-10T10:44:46.247Z",
  "holidayListType" : "RECURRING",
  "associatedBusinessHours" : [ {
    "businessHourStatus" : "ACTIVE",
    "businessHourId" : "4000000101003",
    "businessHourName" : "UK Day Shift"
  }, {
    "businessHourStatus" : "ACTIVE",
    "businessHourId" : "4000000103001",
    "businessHourName" : "UK Night Shift"
  } ],
  "holidays" : [ {
    "from" : "02-20",
    "to" : "02-21",
    "holidayName" : "Holiday1"
  }, {
    "from" : "03-26",
    "to" : "03-26",
    "holidayName" : "Holiday2"
  }, {
    "from" : "12-24",
    "to" : "12-25",
    "holidayName" : "Christmas Holidays"
  } ],
  "createdBy" : "4000000016079",
  "year" : null,
  "name" : "My Holidays",
  "createdTime" : "2018-12-10T10:36:53.136Z",
  "modifiedBy" : "4000000016079",
  "id" : "4000000191371",
  "status" : "ACTIVE"
}

Delete holiday list

This API deletes a holiday list from your help desk portal

Credit: 1 credit/call

DELETE /api/v1/holidayList/{holidayListId}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/holidayList/4000000191371
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

List holiday lists

This API lists a particular number of holiday lists, based on the limit specified

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional

Index number, starting from which the holiday lists must be listed

limit

integer

optional,
range : 1-50

Number of holiday lists to list

status

String

optional

Activation status of the holiday list. Values allowed are ACTIVE and INACTIVE

GET /api/v1/holidayList

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/holidayList
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2018-12-10T10:48:48.772Z",
    "holidayListType" : "RECURRING",
    "associatedBusinessHours" : [ {
      "businessHourStatus" : "ACTIVE",
      "businessHourId" : "4000000101003",
      "businessHourName" : "UK Day Shift"
    }, {
      "businessHourStatus" : "ACTIVE",
      "businessHourId" : "4000000103001",
      "businessHourName" : "UK Night Shift"
    }, {
      "businessHourStatus" : "ACTIVE",
      "businessHourId" : "4000000101005",
      "businessHourName" : "Indian Night Shift"
    } ],
    "createdBy" : "4000000016079",
    "year" : null,
    "name" : "My Company Holidays",
    "createdTime" : "2018-12-10T10:48:48.772Z",
    "modifiedBy" : "4000000016079",
    "id" : "4000000191456",
    "status" : "ACTIVE"
  }, {
    "modifiedTime" : "2018-12-10T10:35:36.071Z",
    "holidayListType" : "YEAR_SPECIFIC",
    "associatedBusinessHours" : [ ],
    "createdBy" : "4000000016079",
    "year" : "2024",
    "name" : "My Holidays",
    "createdTime" : "2018-12-10T10:35:36.071Z",
    "modifiedBy" : "4000000016079",
    "id" : "4000000191337",
    "status" : "INACTIVE"
  }, {
    "modifiedTime" : "2018-12-04T14:56:17.481Z",
    "holidayListType" : "RECURRING",
    "associatedBusinessHours" : [ ],
    "createdBy" : "4000000016079",
    "year" : null,
    "name" : "Overlapping Holidays",
    "createdTime" : "2018-12-03T13:27:30.454Z",
    "modifiedBy" : "4000000016079",
    "id" : "4000000117001",
    "status" : "INACTIVE"
  }, {
    "modifiedTime" : "2018-12-03T07:16:54.223Z",
    "holidayListType" : "YEAR_SPECIFIC",
    "associatedBusinessHours" : [ {
      "businessHourStatus" : "INACTIVE",
      "businessHourId" : "4000000101009",
      "businessHourName" : "Indian Shift"
    } ],
    "createdBy" : "4000000016079",
    "year" : "2026",
    "name" : "General HolidayList",
    "createdTime" : "2018-11-28T13:04:53.327Z",
    "modifiedBy" : "4000000016079",
    "id" : "4000000105030",
    "status" : "ACTIVE"
  } ]
}

Departments

Departments refer to the organizational divisions configured in your help desk, based on the business function performed by each division; for example, marketing, sales, finance, admin, and so on.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the department

name

string

Name of the department

nameInCustomerPortal

string

Display name of the department in the help center

description

string

A short description of the department

isVisibleInCustomerPortal

boolean

Key that denotes if the department is visible in the help center or not

isEnabled

boolean

Key that denotes if the department is enabled or not

isAssignToTeamEnabled

boolean

Key that denotes if the assign to team functionality is enabled or not

hasLogo

boolean

Key that denotes if the department has a logo or not

creatorId

long

ID of user who created the department

createdTime

timestamp

Time of creating the department

associatedAgentIds

list

IDs of agents associated with the department

isDefault

boolean

Key that denotes if the department is the default department in the help desk portal

chatStatus

string

Chat status of the departments: AVAILABLE, DISABLED, NOT_CREATED

Example

{
  "isAssignToTeamEnabled" : true,
  "chatStatus" : "NOT_CREATED",
  "hasLogo" : true,
  "isVisibleInCustomerPortal" : true,
  "creatorId" : "1892000000042001",
  "description" : "Zylker Inc. is a multinational technology company that designs, develops, and sells consumer electronics.",
  "associatedAgentIds" : [ "1892000000042001", "1892000000056007", "1892000000888059" ],
  "isDefault" : true,
  "isEnabled" : true,
  "name" : "Zylker",
  "createdTime" : "2019-07-26T13:11:02.000Z",
  "id" : "1892000000082069",
  "nameInCustomerPortal" : "ZylCares"
}


Get department

This API fetches the details of a department from your help desk

Credit: 1 credit/call

GET /api/v1/departments/{department_id}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/departments/1892000000082069
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "isAssignToTeamEnabled" : true,
  "chatStatus" : "AVAILABLE",
  "hasLogo" : true,
  "isVisibleInCustomerPortal" : true,
  "creatorId" : "1892000000042001",
  "description" : "Zylker Inc. is a multinational technology company that designs, develops, and sells consumer electronics.",
  "associatedAgentIds" : [ "1892000000042001", "1892000000056007", "1892000000888059" ],
  "isDefault" : true,
  "isEnabled" : true,
  "name" : "Zylker",
  "createdTime" : "2019-07-26T13:11:02.000Z",
  "id" : "1892000000082069",
  "nameInCustomerPortal" : "ZylCares"
}

List departments

This API lists a particular number of departments, based on the limit specified.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
isEnabled

boolean

optional

Key that filters departments based on their enabled status

from

integer

optional,
range : >=0

Index number, starting from which the departments must be fetched

searchStr

string

optional,
max chars : 100

String to search for departments by name, help center name, or description. The string must contain at least one character. Three search methods are supported: 1) string* - Searches for departments whose name, help center name, or description start with the string, 2) *string* - Searches for departments whose name, help center name, or description contain the string, 3) string - Searches for departments whose name, help center name, or description is an exact match for the string

limit

integer

optional,
range : 0-200

Number of departments to fetch; default value is 10 and maximum value supported is 200

chatStatus

string

optional,
max chars : 100

Key that filters departments based on their chat status. Values allowed are AVAILABLE, DISABLED, NOT_CREATED, and ${UNAVAILABLE}. ${UNAVAILABLE} refers to departments which are not available for chat.

GET /api/v1/departments

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/departments?isEnabled=true&chatStatus=AVAILABLE
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "isAssignToTeamEnabled" : true,
    "chatStatus" : "AVAILABLE",
    "isDefault" : true,
    "hasLogo" : true,
    "isVisibleInCustomerPortal" : true,
    "isEnabled" : true,
    "name" : "Zylker",
    "creatorId" : "1892000000042001",
    "description" : "Zylker Inc. is a multinational technology company that designs, develops, and sells consumer electronics.",
    "createdTime" : "2019-07-26T13:11:02.000Z",
    "id" : "1892000000082069",
    "nameInCustomerPortal" : "ZylCares"
  }, {
    "isAssignToTeamEnabled" : true,
    "chatStatus" : "AVAILABLE",
    "isDefault" : false,
    "hasLogo" : true,
    "isVisibleInCustomerPortal" : true,
    "isEnabled" : true,
    "name" : "zPad",
    "creatorId" : "1892000000042001",
    "description" : "zPad is the most advanced tablet that brings you the never-experienced-before processing power.",
    "createdTime" : "2019-08-25T10:12:04.000Z",
    "id" : "1892000000082085",
    "nameInCustomerPortal" : "zPad"
  } ]
}

List agents in department

This API lists the agents in a department.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional

Index number, starting from which the agents must be listed

limit

integer

optional,
range : 0-200

Number of agents to fetch; default value is 10 and maximum value is 200

status

string

optional,
max chars : 100

Key that filters agents, based on their activation status: ACTIVE or DISABLED

isLightAgent

boolean

optional

Key that denotes if the agents must be light or non light.

isConfirmed

boolean

optional

Key that denotes if the agents must be confirmed or unconfirmed.

searchStr

string

optional,
max chars : 100

String to search for agents by first name, last name, or email ID. The string must contain at least one character. Three search methods are supported: 1) string* - Searches for agents whose first name, last name, or email ID start with the string, 2) *string* - Searches for agents whose first name, last name, or email ID contain the string, 3) string - Searches for agents whose first name, last name, or email ID is an exact match for the string

fieldName

string

optional,
max chars : 100

Name of the field that must be used for searching and listing agents. Values allowed are: firstName, lastName, name, and emailId.

sortOrder

string

optional,
max chars : 100

To sort the available list of agents in either ascending or descending order. Values allowed are: asc or desc

GET /api/v1/departments/{department_id}/agents

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/departments/1892000000006907/agents
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "lastName" : "case",
    "extn" : "3298",
    "roleId" : "1892000000056099",
    "langCode" : "en_US",
    "mobile" : "",
    "emailId" : "case@zylker.com",
    "associatedChatDepartmentIds" : [ ],
    "zuid" : "10687231",
    "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069", "1892000000639717" ],
    "firstName" : "",
    "photoURL" : null,
    "phone" : "12121",
    "profileId" : "1892000000056091",
    "countryCode" : "en_US",
    "channelExpert" : [ "Facebook", "Chat", "Phone", "Twitter", "Web", "Email", "Forums" ],
    "name" : "case",
    "isConfirmed" : true,
    "aboutInfo" : "Expert in handling tickets and Automations",
    "id" : "1892000000056007",
    "status" : "ACTIVE"
  }, {
    "lastName" : "jade",
    "extn" : "3203",
    "roleId" : "1892000000056899",
    "langCode" : "en_US",
    "mobile" : "",
    "emailId" : "jade@zylker.com",
    "associatedChatDepartmentIds" : [ ],
    "zuid" : "10657727",
    "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069", "1892000000639717", "1892000001019041", "1892000001106673", "1892000001109673" ],
    "firstName" : "",
    "photoURL" : "https://contacts.zoho.com/file?t=user&ID=10657727",
    "phone" : "",
    "profileId" : "1892000000056091",
    "countryCode" : "en_US",
    "channelExpert" : [ "Facebook", "Email", "Forums" ],
    "name" : "jade",
    "isConfirmed" : true,
    "aboutInfo" : "Expert in handling tickets",
    "id" : "1892000000042001",
    "status" : "ACTIVE"
  }, {
    "lastName" : "john",
    "extn" : "3228",
    "roleId" : "1892000000056004",
    "langCode" : "en_US",
    "mobile" : "",
    "emailId" : "john@zylker.com",
    "associatedChatDepartmentIds" : [ ],
    "zuid" : "10713988",
    "associatedDepartmentIds" : [ "1892000000006907", "1892000001019041" ],
    "firstName" : "",
    "photoURL" : null,
    "phone" : "68779989",
    "profileId" : "18920000000232043",
    "countryCode" : "en_US",
    "channelExpert" : [ "Facebook", "Chat", "Phone", "Twitter", "Web", "Email", "Forums" ],
    "name" : "john",
    "isConfirmed" : true,
    "aboutInfo" : "Expert in handling tickets and Automations",
    "id" : "1892000000070001",
    "status" : "DISABLED"
  }, {
    "lastName" : "Waugh",
    "extn" : "4020",
    "roleId" : "1892000000056004",
    "langCode" : "ja_JP",
    "mobile" : "",
    "emailId" : "stephen@zylker.com",
    "associatedChatDepartmentIds" : [ ],
    "zuid" : null,
    "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069", "1892000000639717" ],
    "firstName" : "Steve",
    "photoURL" : null,
    "phone" : "",
    "profileId" : "18920000000232043",
    "countryCode" : "en_US",
    "channelExpert" : [ "Facebook", "Chat" ],
    "name" : "Steve Waugh",
    "isConfirmed" : false,
    "aboutInfo" : "Expert in handling Departments",
    "id" : "1892000000888059",
    "status" : "ACTIVE"
  } ]
}

Get department count

This API returns the number of departments configured in your help desk portal.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
isEnabled

boolean

optional

Key that filters departments based on their enabled status

GET /api/v1/departments/count

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/departments/1892000000006907/count?isEnabled=true
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "count" : 5
}

Get department details by department IDs

This API fetches the details of the departments whose IDs are passed in the API request.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentIds

long

required

Comma-separated array of department IDs. Maximum number of IDs allowed is 50.

GET /api/v1/departmentsByIds?departmentIds={department_ids}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/departmentsByIds?departmentIds=1892000000082069,1892000000082085
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "isAssignToTeamEnabled" : true,
    "chatStatus" : "AVAILABLE",
    "isDefault" : true,
    "hasLogo" : true,
    "isVisibleInCustomerPortal" : true,
    "isEnabled" : true,
    "name" : "Zylker",
    "creatorId" : "1892000000042001",
    "description" : "Zylker Inc. is a multinational technology company that designs, develops, and sells consumer electronics.",
    "createdTime" : "2019-07-26T13:11:02.000Z",
    "id" : "1892000000082069",
    "nameInCustomerPortal" : "ZylCares"
  }, {
    "isAssignToTeamEnabled" : true,
    "chatStatus" : "DISABLED",
    "isDefault" : false,
    "hasLogo" : true,
    "isVisibleInCustomerPortal" : true,
    "isEnabled" : true,
    "name" : "zPad",
    "creatorId" : "1892000000042001",
    "description" : "zPad is the most advanced tablet that brings you the never-experienced-before processing power.",
    "createdTime" : "2018-07-06T13:11:12.000Z",
    "id" : "1892000000082085",
    "nameInCustomerPortal" : "zPad"
  } ]
}

Check for duplicate departments

This API checks if multiple departments have the same name.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentName

string

required,
max chars : 150

Name of the department for which you want to check duplicate entries

GET /api/v1/departments/checkExists

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/departments/checkExists?departmentName=zPad
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "isDepartmentNameExist" : true
}

Add department

This API adds a department to your help desk portal.

Credit: 1 credit/record

Attributes

Param Name
Data Type
Description
name

string

required,
max chars : 150

Name of the department

nameInCustomerPortal

string

optional,
max chars : 150

Display name of the department in the help center

description

string

optional,
max chars : 500

A short description of the department

isVisibleInCustomerPortal

boolean

optional

Key that denotes if the department is visible in the help center or not

isAssignToTeamEnabled

boolean

optional

Key that denotes if the assign to team functionality is enabled or not

associatedAgentIds

list

required

IDs of agents associated with the department

POST /api/v1/departments

OAuth Scope

Desk.settings.CREATE , Desk.basic.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/departments
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "isAssignToTeamEnabled" : false, "isVisibleInCustomerPortal" : true, "name" : "zPhone", "description" : "With the most advanced technology, the zPhone is the world’s largest selling smartphone.", "associatedAgentIds" : [ "1892000000042001", "1892000000056007" ], "nameInCustomerPortal" : "zPhone" }'

Response Example

{
  "isAssignToTeamEnabled" : false,
  "chatStatus" : "NOT_CREATED",
  "hasLogo" : false,
  "isVisibleInCustomerPortal" : true,
  "creatorId" : "1892000000042001",
  "description" : "With the most advanced technology, the zPhone is the world’s largest selling smartphone.",
  "associatedAgentIds" : [ "1892000000042001", "1892000000056007" ],
  "isDefault" : false,
  "isEnabled" : true,
  "name" : "zPhone",
  "createdTime" : "2019-07-26T13:11:02.000Z",
  "id" : "1892000000082085",
  "nameInCustomerPortal" : "zPhone"
}

Update department

This API updates the details of an existing department.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

string

optional,
max chars : 150

Name of the department

nameInCustomerPortal

string

optional,
max chars : 150

Display name of the department in the help center

description

string

optional,
max chars : 500

A short description of the department

isVisibleInCustomerPortal

boolean

optional

Key that denotes if the department is visible in the help center or not

isAssignToTeamEnabled

boolean

optional

Key that denotes if the assign to team functionality is enabled or not

associatedAgentIds

list

optional

IDs of agents associated with the department

PATCH /api/v1/departments/{department_id}

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/departments/1892000000082085
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "isAssignToTeamEnabled" : true, "nameInCustomerPortal" : "zPhone Support" }'

Response Example

{
  "isAssignToTeamEnabled" : true,
  "chatStatus" : "DISABLED",
  "hasLogo" : false,
  "isVisibleInCustomerPortal" : true,
  "creatorId" : "1892000000042001",
  "description" : "With the most advanced technology, the zPhone is the world’s largest selling smartphone.",
  "associatedAgentIds" : [ "1892000000042001", "1892000000056007" ],
  "isDefault" : false,
  "isEnabled" : true,
  "name" : "zPhone",
  "createdTime" : "2019-07-26T13:11:02.000Z",
  "id" : "1892000000082085",
  "nameInCustomerPortal" : "zPhone Support"
}

Disable department

This API disables a department in your help desk portal.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
agentNewDepartment

Long

optional

Agents move to new department ID

emailNewDepartment

Long

optional

Email move to new department ID

POST /api/v1/departments/{department_id}/disable

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/departments/1892000000082085/disable
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "emailNewDepartment" : "1892000000082069", "agentNewDepartment" : "1892000000082069" }'

Response Example

204

Enable department

This API enables a department in your help desk portal.

Credit: 1 credit/call

POST /api/v1/departments/{department_id}/enable

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/departments/1892000000082085/enable
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Associate agents to department

This API associates agents to a department.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
agentIds

list

required

Ids of Agents

POST /api/v1/departments/{department_id}/associateAgents

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/departments/1892000000082085/associateAgents
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "agentIds" : [ "1892000000042001", "1892000000056007" ] }'

Response Example

204

Dissociate agents from department

This API dissociates agents from a department.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
agentIds

list

required

Ids of Agents

POST /api/v1/departments/{department_id}/dissociateAgents

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/departments/1892000000082085/dissociateAgents
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "agentIds" : [ "1892000000056007" ] }'

Response Example

204

Domain Mapping

By default, the web address of your help center is a Zoho Desk sub-domain in the "desk.zoho.com/portal/<mycompany>" format. However, you can personalize this address, so that your customers can submit their tickets from a sub-domain, such as 'support.mycompany.com'. This feature is called domain/host mapping.

ATTRIBUTES

Attribute Name
Data Type
Description
domain

string

Address of the domain

isVerified

boolean

Key that denotes if the domain is verified

isApplied

boolean

Key that denotes if the domain is applied to the portal

zdSecurityCode

string

Zoho Desk domain security code to add in the domain service provider's CNAME

verifiedTime

timestamp

Time of verifying the domain

appliedTime

timestamp

Time of applying the domain to the portal

verifiedBy

long

ID of user who verified the domain

appliedBy

long

ID of user who applied the domain to the portal

sslStatus

string

SSL status of the domain

sslRequestStatus

string

SSL request status of the domain if SSL certificate is requested for the domain

sslRequestedBy

long

ID of user who requested for the SSL certificate for the domain

sslRequestedTime

timestamp

Time of requesting the SSL certificate for the domain

Example

{
  "appliedTime" : null,
  "sslRequestStatus" : null,
  "sslRequestedBy" : null,
  "isVerified" : false,
  "sslStatus" : "NO_SSL",
  "domain" : "support.zylker.com",
  "zdSecurityCode" : "zdc3b95061484994060a401652cb2a45b2",
  "sslRequestedTime" : null,
  "isApplied" : false,
  "appliedBy" : null,
  "verifiedBy" : null,
  "verifiedTime" : null
}


Add domain

This API adds a domain to your help desk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
domain

string

required,
max chars : 46

Address of the domain

POST /api/v1/domains

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/domains
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "domain" : "support.zylker.com" }'

Response Example

{
  "appliedTime" : null,
  "sslRequestStatus" : null,
  "sslRequestedBy" : null,
  "isVerified" : false,
  "sslStatus" : "NO_SSL",
  "domain" : "support.zylker.com",
  "zdSecurityCode" : "zdc3b95061484994060a401652cb2a45b2",
  "sslRequestedTime" : null,
  "isApplied" : false,
  "appliedBy" : null,
  "verifiedBy" : null,
  "verifiedTime" : null
}

Verify domain

This API verifies a domain in your help desk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
domain

string

required,
max chars : 100

Domain to be verified.

method

string

required,
max chars : 100

Domain verification method. CNAME or HTML.

POST /api/v1/domains/verify

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/domains/verify
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "method" : "CNAME", "domain" : "support.zylker.com" }'

Response Example

{
  "appliedTime" : null,
  "sslRequestStatus" : null,
  "sslRequestedBy" : null,
  "isVerified" : true,
  "sslStatus" : "NO_SSL",
  "domain" : "support.zylker.com",
  "zdSecurityCode" : null,
  "sslRequestedTime" : null,
  "isApplied" : false,
  "appliedBy" : null,
  "verifiedBy" : "8000000012800",
  "verifiedTime" : "2018-06-03T11:21:07.912Z"
}

Apply domain

This API maps a domain to the default portal in your help desk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
domain

string

required,
max chars : 46

Address of the domain

POST /api/v1/domains/apply

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/domains/apply
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "domain" : "support.zylker.com" }'

Response Example

{
  "appliedTime" : "2018-06-03T11:25:07.897Z",
  "sslRequestStatus" : null,
  "sslRequestedBy" : "8000000012800",
  "isVerified" : true,
  "sslStatus" : "VALID",
  "domain" : "support.zylker.com",
  "zdSecurityCode" : null,
  "sslRequestedTime" : "2018-06-03T11:25:07.897Z",
  "isApplied" : true,
  "appliedBy" : "8000000012800",
  "verifiedBy" : "8000000012800",
  "verifiedTime" : "2018-06-03T11:21:07.912Z"
}

Reset current domain

This API resets the current domain of the default portal in your help desk.

Credit: 1 credit/call

POST /api/v1/domains/reset

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/domains/reset
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

List domains

This API lists the domains configured in your help desk.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
isVerified

boolean

optional

Key that filters domains based on their verification status

isApplied

boolean

optional

Key that filters domains based on their application status in the help desk

GET /api/v1/domains

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/domains?isVerified=true&isApplied=false
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "appliedTime" : null,
    "sslRequestStatus" : null,
    "sslRequestedBy" : null,
    "isVerified" : true,
    "sslStatus" : "NO_SSL",
    "domain" : "supportportal.zylker.com",
    "zdSecurityCode" : null,
    "sslRequestedTime" : null,
    "isApplied" : false,
    "appliedBy" : null,
    "verifiedBy" : "8000000012800",
    "verifiedTime" : "2018-06-03T11:21:07.912Z"
  }, {
    "appliedTime" : null,
    "sslRequestStatus" : null,
    "sslRequestedBy" : null,
    "isVerified" : true,
    "sslStatus" : "NO_SSL",
    "domain" : "customers.zylker.com",
    "zdSecurityCode" : null,
    "sslRequestedTime" : null,
    "isApplied" : false,
    "appliedBy" : null,
    "verifiedBy" : "8000000012800",
    "verifiedTime" : "2018-06-03T11:21:07.654Z"
  }, {
    "appliedTime" : null,
    "sslRequestStatus" : null,
    "sslRequestedBy" : null,
    "isVerified" : true,
    "sslStatus" : "NO_SSL",
    "domain" : "partners.zylker.com",
    "zdSecurityCode" : null,
    "sslRequestedTime" : null,
    "isApplied" : false,
    "appliedBy" : null,
    "verifiedBy" : "8000000012800",
    "verifiedTime" : "2018-06-03T11:21:07.912Z"
  } ]
}

Products

Products are the goods/services your organization sells.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the product

departmentIds
see documentation

list

IDs of departments associated with the product

ownerId

long

ID of user to whom the product is assigned

productName

string

Name of the product

productCode

string

Reference code of the product

productCategory

string

Category to which the product belongs

manufacturer

string

Organization that manufactures the product

unitPrice

double

Price of the product

customFields

deprecated

list

User-defined fields related to the product

cf

list

User-defined fields related to the product

createdBy

long

User who added the product to the help desk portal

modifiedBy

long

User who modified the details of the product

createdTime

timestamp

Time of adding the product to the help desk portal

modifiedTime

timestamp

Time of modifying product details

description

string

Description of the product

Example

{
  "unitPrice" : "100.0",
  "modifiedTime" : "2016-06-27T06:33:19.000Z",
  "productCode" : "E7450",
  "createdBy" : "4000000008692",
  "module" : "products",
  "createdTime" : "2016-06-27T06:33:19.000Z",
  "description" : "New Product",
  "modifiedBy" : "4000000008692",
  "id" : "4000000013043",
  "departmentIds" : [ "6000000007239", "6000000029263" ],
  "productName" : "DELL"
}


Get product

This API fetches a single product from your helpdesk.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

string

optional,
max chars : 100

Key that fetches secondary information related to the product. Values allowed are: departments and owner. You can pass multiple values by separating them with commas.

GET /api/v1/products/{product_id}

OAuth Scope

Desk.products.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/products/6000000124009
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "owner" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/6000000009050/photo?orgId=581861259",
    "firstName" : "Aaron",
    "lastName" : "Stone",
    "name" : "Aaron Stone",
    "id" : "6000000009050"
  },
  "unitPrice" : "100.0",
  "modifiedTime" : "2017-06-28T13:25:06.000Z",
  "cf" : { },
  "description" : null,
  "departmentIds" : [ "6000000009450", "6000000009380", "6000000009230" ],
  "ownerId" : "6000000009050",
  "layoutId" : "6000000002556",
  "productName" : "Dell",
  "productCategory" : null,
  "productCode" : "12345",
  "isDeleted" : false,
  "createdBy" : "6000000009050",
  "createdTime" : "2017-06-28T13:25:06.000Z",
  "modifiedBy" : "6000000009050",
  "id" : "6000000124009",
  "departments" : [ {
    "name" : "Associated Department 1",
    "id" : "6000000009450"
  }, {
    "name" : "Associated Department 2",
    "id" : "6000000009380"
  }, {
    "name" : "Associated Department 3",
    "id" : "6000000009230"
  } ]
}

List products

This API lists a specific number of products from your help desk portal, based on the limit defined. (Note: TheĀ departmentIds key will soon be deprecated and not included in API responses.)

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
viewId

long

optional

ID of the view to apply while fetching the products

from

integer

optional

Index number, starting from which the products must be fetched

limit

integer

optional,
range : 1-100

No. of products to fetch

departmentId

long

optional

ID of the department from which the products must be fetched. If you want to list the products configured in all accessible departments, pass the valueĀ 0.

ownerId

long

optional

ID of user to whom the product is assigned

sortBy

string

optional,
max chars : 100

Sort by a specific attribute : productName, productCode, unitPrice, createdTime or modifiedTime. The default sorting order is ascending. A - prefix denotes descending order of sorting.

fields

string

optional,
max chars : 100

Key that returns the values of mentioned fields (both pre-defined and custom) in your portal. All field types except multi-text are supported. Standard, non-editable fields are supported too. These fields include: layoutId. Maximum of 30 fields is supported as comma separated values.

list

optional

Secondary information related to the contact.Value supported is owner.

GET /api/v1/products

OAuth Scope

Desk.products.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/products?departmentIds=6000000007239,6000000029263
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "unitPrice" : "100.0",
    "productCode" : null,
    "id" : "6000000121033",
    "productName" : "HTC"
  }, {
    "unitPrice" : "100.0",
    "productCode" : null,
    "id" : "6000000121037",
    "productName" : "Dell"
  }, {
    "unitPrice" : "100.0",
    "productCode" : null,
    "id" : "6000000145024",
    "productName" : "Lenovo"
  } ]
}

Create product

This API adds a product to your helpdesk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
departmentIds
see documentation

list

required

IDs of departments associated with the product

ownerId

long

optional

ID of user to whom the product is assigned

productName

string

required,
max chars : 200

Name of the product

productCode

string

optional,
max chars : 200

Reference code of the product

productCategory

string

optional,
max chars : 200

Category to which the product belongs

manufacturer

string

optional,
max chars : 200

Organization that manufactures the product

unitPrice

double

optional

Price of the product

customFields
deprecated

list

optional

User-defined fields related to the product

cf

list

optional

User-defined fields related to the product

description

string

optional,
max chars : 65535

Description of the product

POST /api/v1/products

OAuth Scope

Desk.products.CREATE , Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/products
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "unitPrice" : "100", "productCode" : "12345", "departmentIds" : [ "6000000007239", "6000000029263" ], "productName" : "Dell" }'

Response Example

{
  "unitPrice" : "100.0",
  "modifiedTime" : "2017-07-18T10:46:25.667Z",
  "cf" : { },
  "description" : null,
  "departmentIds" : [ "6000000007239", "6000000029263" ],
  "ownerId" : "6000000009050",
  "layoutId" : "6000000002556",
  "productName" : "Dell",
  "productCategory" : null,
  "productCode" : "12345",
  "isDeleted" : false,
  "createdBy" : "6000000009050",
  "createdTime" : "2017-07-18T10:46:25.667Z",
  "modifiedBy" : "6000000009050",
  "id" : "6000000164001"
}

List tickets by products

This API lists tickets received from a specific products.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

optional

ID of the department from which the tickets must be fetched

from

Integer

optional

Index number, starting from which the tickets must be fetched

limit

Integer

optional,
range : 1-100

Number of tickets to fetch

sortBy

string

optional,
max chars : 100

Sort by a specific attribute: createdTime or modifiedTime. The default sorting order is ascending. A - prefix denotes descending order of sorting.

dueDate

string

optional,
max chars : 100

Filter by ticket duedate. Values allowed are overdue, tomorrow, currentWeek, currentMonth and today. You can include both values by separating them with a comma

isSpam

boolean

optional,
default : false

Filters Spam tickets

string

optional,
max chars : 100

Additional information related to the tickets.Ā Values allowed are:Ā products,Ā departments,Ā team,Ā isRead andĀ assignee. You can pass multiple values by separating them with a comma in the API request.

GET /api/v1/products/{product_id}/tickets

OAuth Scope

Desk.tickets.READ , Desk.settings.READ , Desk.search.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/products/18944000000424033/tickets?include=departments,team,assignee
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "ticketNumber" : "149",
    "sentiment" : "NEGATIVE",
    "statusType" : "Open",
    "subject" : "Hi. There is a sudden delay in the processing of the orders. Check this with high priority",
    "dueDate" : "2017-11-04T07:03:09.000Z",
    "departmentId" : "1892000000006907",
    "channel" : "Email",
    "onholdTime" : null,
    "language" : "English",
    "closedTime" : null,
    "createdTime" : "2017-10-12T13:11:50.000Z",
    "id" : "18944000000336005",
    "department" : {
      "name" : "dasdasdasd",
      "id" : "1892000000006907"
    },
    "email" : "support@zylker.com",
    "customerResponseTime" : "2017-11-03T07:03:09.203Z",
    "productId" : "18944000000424033",
    "contactId" : "18944000000421011",
    "threadCount" : "7",
    "lastThread" : null,
    "team" : {
      "name" : "kjsdfjks",
      "id" : "8920000000069071",
      "logoUrl" : "https://desk.zoho.com/api/v1/teams/8920000000069071/logo?orgId=11278831"
    },
    "priority" : "Medium",
    "assigneeId" : "1892000000042001",
    "commentCount" : "0",
    "accountId" : "189200000005345",
    "phone" : "9876543321",
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/20d7881a46edfcffefe308ab38676ec3e612657a51fd5fbe",
    "teamId" : "8920000000069071",
    "assignee" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agent/1892000000042001/photo",
      "id" : "1892000000042001",
      "email" : "jack@zylker.com"
    },
    "status" : "Open"
  } ]
}

Update product

This API updates details of a product in your help desk portal.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
departmentIds
see documentation

list

optional

IDs of departments associated with the product

ownerId

long

optional

ID of user to whom the product is assigned

productName

string

optional,
max chars : 200

Name of the product

productCode

string

optional,
max chars : 200

Reference code of the product

productCategory

string

optional,
max chars : 200

Category to which the product belongs

manufacturer

string

optional,
max chars : 200

Organization that manufactures the product

unitPrice

double

optional

Price of the product

customFields
deprecated

list

optional

User-defined fields related to the product

cf

list

optional

User-defined fields related to the product

description

string

optional,
max chars : 65535

Description of the product

PATCH /api/v1/products/{product_id}

OAuth Scope

Desk.products.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/products/6000000124009
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "departmentIds" : [ "6000000029263", "6000000125041" ], "productName" : "Dell" }'

Response Example

{
  "unitPrice" : "100.0",
  "modifiedTime" : "2017-07-18T10:53:40.787Z",
  "cf" : { },
  "description" : null,
  "departmentIds" : [ "6000000029263", "6000000125041" ],
  "ownerId" : "6000000009050",
  "layoutId" : "6000000002556",
  "productName" : "Dell",
  "productCategory" : null,
  "productCode" : "12345",
  "isDeleted" : false,
  "createdBy" : "6000000009050",
  "createdTime" : "2017-06-28T13:25:06.000Z",
  "modifiedBy" : "6000000009050",
  "id" : "6000000124009"
}

Move Products to trash

This API moves products to the Recycle Bin of your help desk portal.

Credit: 6 credits/record

Attributes

Param Name
Data Type
Description
departmentId
see documentation

long

optional

ID of the department containing the products

productIds

list

required

IDs of the products you want to delete

POST /api/v1/products/moveToTrash

OAuth Scope

Desk.products.DELETE , Desk.settings.DELETE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/products/moveToTrash
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "productIds" : [ "2000032003232" ], "departmentId" : "2000032006800" }'

Response Example

204

Search for duplicate records

This API searches for duplicate records of a product.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional

Index number, starting from which the products must be fetched

limit

integer

optional,
range : 1-100

No. of products to fetch

productName

string

required,
max chars : 200

Name of the product, used as the keyword for the search

GET /api/v1/products/searchDuplicates

OAuth Scope

Desk.products.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/products/searchDuplicates?productName=Dell
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "unitPrice" : "100.0",
    "productCode" : null,
    "id" : "6000000121033",
    "productName" : "Dell"
  }, {
    "unitPrice" : "100.0",
    "productCode" : null,
    "id" : "6000000121037",
    "productName" : "Dell"
  } ]
}

Associate contacts with a product

This API associates contacts with a product. Only a maximum of 10 contacts can be associated with a product through a single API request.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
ids

list

required

IDs of the resources to associate

associate

boolean

required

true for associating the resource and false for dissociating the resource

POST api/v1/products/{product_id}/associateContacts

OAuth Scope

Desk.products.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/products/2000000031001/associateContacts
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "ids" : [ "2000000034031", "2000000034029" ], "associate" : true }'

Response Example

200

Associate accounts with a product

This API associates accounts with a product. Only a maximum of 10 accounts can be associated with a product through a single API request.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
ids

list

required

IDs of the resources to associate

associate

boolean

required

true for associating the resource and false for dissociating the resource

POST api/v1/products/{product_id}/associateAccounts

OAuth Scope

Desk.products.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/products/2000000031001/associateAccounts
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "ids" : [ "2000000029035", "2000000029001" ], "associate" : true }'

Response Example

200

List accounts associated with product

This API lists the accounts associated with a product

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional

Index number starting from which the accounts must be fetched

limit

integer

optional,
range : 1-100

Number of accounts to fetch

sortBy

string

optional,
max chars : 100

Key that sorts the accounts by a specific attribute: accountName or createdTime.The default sorting order is ascending. A - prefix denotes descending order of sorting

GET api/v1/products/{products_id}/accounts

OAuth Scope

Desk.contacts.READ , Desk.settings.READ

Request Example

  • CURL
  • Java

$ curl -X GET https://support.zoho.com/api/v1/products/2000000031001/accounts
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AccountAPI account = ZDesk.getAccountAPIInstance(mailId); <br/> List&lt;Account&gt; response = account.getAccountsUnderProduct( productId, from, limit, sortBy, isAscending );

Response Example

{
  "data" : [ {
    "website" : "112121",
    "accountName" : "Admin Account",
    "phone" : "121212",
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Accounts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "createdTime" : "2015-02-16T16:57:44.000Z",
    "zohoCRMAccount" : {
      "id" : "32754000000537001"
    },
    "id" : "1892000000052077",
    "email" : "admin@zylker.com"
  }, {
    "website" : "1211212",
    "accountName" : "Agent Account",
    "phone" : "11211",
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Accounts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "createdTime" : "2015-02-16T16:57:44.000Z",
    "zohoCRMAccount" : {
      "id" : "32754000000537001"
    },
    "id" : "1892000000052090",
    "email" : "agent@zylker.com"
  } ]
}

List contacts associated with product

This API lists the contacts associated with a product.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional

Index number, starting from which the contacts must be listed

limit

integer

optional,
range : 1-100

Number of contacts to fetch

sortBy

string

optional,
max chars : 100

Parameter that sorts contacts by one of these attributes:
firstName,

lastName,

phone,

email,

account,

createdTime,

modifiedTime

list

optional

Key that fetches secondary information related to the contact.Value allowed is accounts

isSpam

boolean

optional,
default : false

Filters Spam contacts

GET api/v1/products/{products_id}/contacts

OAuth Scope

Desk.contacts.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://support.zoho.com/api/v1/products/2000000031001/contacts
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "lastName" : "Case",
    "secondaryEmail" : null,
    "ownerId" : null,
    "type" : null,
    "accountId" : "1892000000091433",
    "firstName" : "Jonathan",
    "photoURL" : "https://desk.zoho.com/api/v1/contacts/1892000000772003/photo",
    "isAnonymous" : true,
    "phone" : "555555",
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "createdTime" : "2017-10-12T13:11:50.000Z",
    "zohoCRMContact" : null,
    "id" : "1892000000772003",
    "customerHappiness" : {
      "badPercentage" : "0",
      "okPercentage" : "0",
      "goodPercentage" : "0"
    },
    "email" : "case@zylker.com"
  }, {
    "lastName" : "Jade",
    "secondaryEmail" : null,
    "ownerId" : null,
    "type" : null,
    "accountId" : "1892000000052077",
    "firstName" : "Christ",
    "photoURL" : null,
    "isAnonymous" : true,
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "createdTime" : "2017-10-12T13:11:50.000Z",
    "zohoCRMContact" : {
      "id" : "1892000000772030",
      "type" : "contacts_leads"
    },
    "id" : "1892000000772001",
    "customerHappiness" : {
      "badPercentage" : "22",
      "okPercentage" : "31",
      "goodPercentage" : "47"
    },
    "email" : "jade@zylker.com"
  } ]
}

Product Attachments

Product attachments are the files you attach to a product to aid quick resolution.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the attachment Note : This ID can be used only by the user who uploaded the attachment. If another user tries to use the attachment ID in other APIs such as sendEmailReply, draftEmailReply, etc an error will be thrown.

creatorId

long

ID of user who attached the file

createdTime

timestamp

Time of attaching the file

name

string

Name of the attachment

isPublic

boolean

Key that returns if the attachment is public or not

size

long

Size of the attachment

Example

{
  "creator" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000047001/photo?orgId=298902",
    "id" : "1892000000047001",
    "email" : "jade@zylker.com"
  },
  "size" : "2345",
  "creatorId" : "1892000000047001",
  "name" : "product.txt",
  "createdTime" : "2013-11-06T10:25:03.000Z",
  "isPublic" : false,
  "id" : "1892000000047042",
  "href" : "https://desk.zoho.com/api/v1/products/1892000001004024/attachments/1892000000047042/content"
}


List all attachments

This API lists all attachments in a product.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
sortBy

string

optional,
max chars : 100

Sort by the createdTime attribute. The default sorting order is ascending. A - prefix denotes descending order of sorting.

from

integer

optional

from Index

limit

integer

optional,
range : 1-100

the number of attachments to be displayed

string

optional,
max chars : 100

Secondary information related to the attachments. Value allowed is creator, which returns the details of users who added the attachments.

GET /api/v1/products/{product_id}/attachments

OAuth Scope

Desk.products.READ , Desk.settings.READ

Request Example

  • CURL
  • Java

$ curl -X GET https://desk.zoho.com/api/v1/products/1892000001004024/attachments?include=creator
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AttachmentAPI attachment = ZDesk.getAttachmentAPIInstance(mailId); <br/> List&lt;Attachment&gt; response = attachment.getProductAttachments( productId, from, limit, sortBy, isAscending, include );

Response Example

{
  "data" : [ {
    "creator" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000047001/photo?orgId=298902",
      "id" : "1892000000047001",
      "email" : "jade@zylker.com"
    },
    "size" : "1079",
    "creatorId" : "1892000000047001",
    "name" : "ticket.txt",
    "createdTime" : "2013-11-06T10:25:03.000Z",
    "isPublic" : false,
    "id" : "1892000000047041",
    "href" : "https://desk.zoho.com/api/v1/products/1892000001004024/attachments/1892000000047041/content"
  }, {
    "creator" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000047001/photo?orgId=298902",
      "id" : "1892000000047001",
      "email" : "jade@zylker.com"
    },
    "size" : "135222",
    "creatorId" : "1892000000047001",
    "name" : "bsnl-feb14.pdf",
    "createdTime" : "2014-03-05T06:16:15.000Z",
    "isPublic" : false,
    "id" : "1892000000089041",
    "href" : "https://desk.zoho.com/api/v1/products/1892000001004024/attachments/1892000000089041/content"
  }, {
    "size" : "97951",
    "creatorId" : "1892000000042002",
    "name" : "history.pdf",
    "createdTime" : "2016-06-21T10:15:34.000Z",
    "isPublic" : false,
    "id" : "1892000001052021",
    "href" : "https://desk.zoho.com/api/v1/products/1892000001004024/attachments/1892000001052021/content"
  }, {
    "creator" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000047001/photo?orgId=298902",
      "id" : "1892000000047001",
      "email" : "jade@zylker.com"
    },
    "size" : "97951",
    "creatorId" : "1892000000047001",
    "name" : "fixes.txt",
    "createdTime" : "2016-06-21T10:15:49.000Z",
    "isPublic" : false,
    "id" : "1892000001052025",
    "href" : "https://desk.zoho.com/api/v1/products/1892000001004024/attachments/1892000001052025/content"
  } ]
}

Create an attachment

This API attaches a file to a product.

Credit: 1 credit/call

File Params

file

Content-Type:multipart/form-data

attachment to be added

POST /api/v1/products/{product_id}/attachments

OAuth Scope

Desk.products.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL
  • Java

$ curl -X POST https://desk.zoho.com/api/v1/products/1892000001004024/attachments
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AttachmentAPI attachment = ZDesk.getAttachmentAPIInstance(mailId); <br/> Attachment response = attachment.createProductAttachment( file, productId );

Response Example

{
  "size" : "32",
  "creatorId" : "1892000000042002",
  "name" : "tools.txt",
  "createdTime" : "2016-05-30T08:32:51.338Z",
  "isPublic" : false,
  "id" : "1892000001010001",
  "href" : "https://desk.zoho.com/api/v1/products/1892000001004024/attachments/1892000001010001/content"
}

Delete an attachment

This API deletes an attachment from a product.

Credit: 1 credit/call

DELETE /api/v1/products/{product_id}/attachments/{attachment_id}

OAuth Scope

Desk.products.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL
  • Java

$ curl -X DELETE https://desk.zoho.com/api/v1/products/1892000001004024/attachments/1892000001010001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AttachmentAPI attachment = ZDesk.getAttachmentAPIInstance(mailId); <br/> boolean response = attachment.deleteProductAttachment( productId, attachmentId );

Response Example

204

Locales

These public APIs help access details of the countries,languages and time zones supported in Zoho Desk.

Example

{
  "languages" : {
    "English (United States)" : "en_US",
    "Japanese" : "ja_JP"
  },
  "countries" : {
    "Albanian" : "sq_AL",
    "Afghanistan" : "ps_AF"
  }
}


List all countries

This API lists the countries that can be set in the locale field in Zoho Desk. Keep in mind that the countries object will be deprecated soon. Therefore, make sure to use the data object instead, wherever needed.

GET /api/v1/countries

OAuth Scope

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/countries
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "name" : "Puerto Rico",
    "currencySymbol" : "USD",
    "id" : "PR",
    "currencyCode" : "USD"
  }, {
    "name" : "Palestinian Territories",
    "currencySymbol" : "ILS",
    "id" : "PS",
    "currencyCode" : "ILS"
  }, {
    "name" : "Portugal",
    "currencySymbol" : "EUR",
    "id" : "PT",
    "currencyCode" : "EUR"
  }, {
    "name" : "Palau",
    "currencySymbol" : "USD",
    "id" : "PW",
    "currencyCode" : "USD"
  }, {
    "name" : "Paraguay",
    "currencySymbol" : "PYG",
    "id" : "PY",
    "currencyCode" : "PYG"
  }, {
    "name" : "Qatar",
    "currencySymbol" : "QAR",
    "id" : "QA",
    "currencyCode" : "QAR"
  }, {
    "name" : "Andorra",
    "currencySymbol" : "EUR",
    "id" : "AD",
    "currencyCode" : "EUR"
  }, {
    "name" : "United Arab Emirates",
    "currencySymbol" : "AED",
    "id" : "AE",
    "currencyCode" : "AED"
  }, {
    "name" : "Afghanistan",
    "currencySymbol" : "AFN",
    "id" : "AF",
    "currencyCode" : "AFN"
  }, {
    "name" : "Antigua & Barbuda",
    "currencySymbol" : "XCD",
    "id" : "AG",
    "currencyCode" : "XCD"
  }, {
    "name" : "Anguilla",
    "currencySymbol" : "XCD",
    "id" : "AI",
    "currencyCode" : "XCD"
  }, {
    "name" : "Albania",
    "currencySymbol" : "ALL",
    "id" : "AL",
    "currencyCode" : "ALL"
  }, {
    "name" : "Armenia",
    "currencySymbol" : "AMD",
    "id" : "AM",
    "currencyCode" : "AMD"
  }, {
    "name" : "Netherlands Antilles",
    "currencySymbol" : "ANG",
    "id" : "AN",
    "currencyCode" : "ANG"
  }, {
    "name" : "Angola",
    "currencySymbol" : "AOA",
    "id" : "AO",
    "currencyCode" : "AOA"
  }, {
    "name" : "Antarctica",
    "currencySymbol" : "XXX",
    "id" : "AQ",
    "currencyCode" : "-"
  }, {
    "name" : "Argentina",
    "currencySymbol" : "ARS",
    "id" : "AR",
    "currencyCode" : "ARS"
  }, {
    "name" : "American Samoa",
    "currencySymbol" : "USD",
    "id" : "AS",
    "currencyCode" : "USD"
  }, {
    "name" : "Austria",
    "currencySymbol" : "EUR",
    "id" : "AT",
    "currencyCode" : "EUR"
  }, {
    "name" : "RƩunion",
    "currencySymbol" : "EUR",
    "id" : "RE",
    "currencyCode" : "EUR"
  }, {
    "name" : "Australia",
    "currencySymbol" : "$",
    "id" : "AU",
    "currencyCode" : "AUD"
  }, {
    "name" : "Aruba",
    "currencySymbol" : "AWG",
    "id" : "AW",
    "currencyCode" : "AWG"
  }, {
    "name" : "ƅland Islands",
    "currencySymbol" : "EUR",
    "id" : "AX",
    "currencyCode" : "EUR"
  }, {
    "name" : "Azerbaijan",
    "currencySymbol" : "AZN",
    "id" : "AZ",
    "currencyCode" : "AZN"
  }, {
    "name" : "Romania",
    "currencySymbol" : "RON",
    "id" : "RO",
    "currencyCode" : "RON"
  }, {
    "name" : "Bosnia & Herzegovina",
    "currencySymbol" : "BAM",
    "id" : "BA",
    "currencyCode" : "BAM"
  }, {
    "name" : "Barbados",
    "currencySymbol" : "BBD",
    "id" : "BB",
    "currencyCode" : "BBD"
  }, {
    "name" : "Serbia",
    "currencySymbol" : "RSD",
    "id" : "RS",
    "currencyCode" : "RSD"
  }, {
    "name" : "Bangladesh",
    "currencySymbol" : "BDT",
    "id" : "BD",
    "currencyCode" : "BDT"
  }, {
    "name" : "Belgium",
    "currencySymbol" : "EUR",
    "id" : "BE",
    "currencyCode" : "EUR"
  }, {
    "name" : "Russia",
    "currencySymbol" : "RUB",
    "id" : "RU",
    "currencyCode" : "RUB"
  }, {
    "name" : "Burkina Faso",
    "currencySymbol" : "XOF",
    "id" : "BF",
    "currencyCode" : "XOF"
  }, {
    "name" : "Bulgaria",
    "currencySymbol" : "BGN",
    "id" : "BG",
    "currencyCode" : "BGN"
  }, {
    "name" : "Rwanda",
    "currencySymbol" : "RWF",
    "id" : "RW",
    "currencyCode" : "RWF"
  }, {
    "name" : "Bahrain",
    "currencySymbol" : "BHD",
    "id" : "BH",
    "currencyCode" : "BHD"
  }, {
    "name" : "Burundi",
    "currencySymbol" : "BIF",
    "id" : "BI",
    "currencyCode" : "BIF"
  }, {
    "name" : "Benin",
    "currencySymbol" : "XOF",
    "id" : "BJ",
    "currencyCode" : "XOF"
  }, {
    "name" : "St. BarthƩlemy",
    "currencySymbol" : "EUR",
    "id" : "BL",
    "currencyCode" : "EUR"
  }, {
    "name" : "Bermuda",
    "currencySymbol" : "BMD",
    "id" : "BM",
    "currencyCode" : "BMD"
  }, {
    "name" : "Brunei",
    "currencySymbol" : "BND",
    "id" : "BN",
    "currencyCode" : "BND"
  }, {
    "name" : "Bolivia",
    "currencySymbol" : "BOB",
    "id" : "BO",
    "currencyCode" : "BOB"
  }, {
    "name" : "Saudi Arabia",
    "currencySymbol" : "SAR",
    "id" : "SA",
    "currencyCode" : "SAR"
  }, {
    "name" : "Caribbean Netherlands",
    "currencySymbol" : "USD",
    "id" : "BQ",
    "currencyCode" : "USD"
  }, {
    "name" : "Solomon Islands",
    "currencySymbol" : "SBD",
    "id" : "SB",
    "currencyCode" : "SBD"
  }, {
    "name" : "Brazil",
    "currencySymbol" : "BRL",
    "id" : "BR",
    "currencyCode" : "BRL"
  }, {
    "name" : "Seychelles",
    "currencySymbol" : "SCR",
    "id" : "SC",
    "currencyCode" : "SCR"
  }, {
    "name" : "Bahamas",
    "currencySymbol" : "BSD",
    "id" : "BS",
    "currencyCode" : "BSD"
  }, {
    "name" : "Sudan",
    "currencySymbol" : "SDG",
    "id" : "SD",
    "currencyCode" : "SDG"
  }, {
    "name" : "Bhutan",
    "currencySymbol" : "BTN",
    "id" : "BT",
    "currencyCode" : "BTN"
  }, {
    "name" : "Sweden",
    "currencySymbol" : "SEK",
    "id" : "SE",
    "currencyCode" : "SEK"
  }, {
    "name" : "Bouvet Island",
    "currencySymbol" : "NOK",
    "id" : "BV",
    "currencyCode" : "NOK"
  }, {
    "name" : "Singapore",
    "currencySymbol" : "$",
    "id" : "SG",
    "currencyCode" : "SGD"
  }, {
    "name" : "Botswana",
    "currencySymbol" : "BWP",
    "id" : "BW",
    "currencyCode" : "BWP"
  }, {
    "name" : "St. Helena",
    "currencySymbol" : "SHP",
    "id" : "SH",
    "currencyCode" : "SHP"
  }, {
    "name" : "Slovenia",
    "currencySymbol" : "EUR",
    "id" : "SI",
    "currencyCode" : "EUR"
  }, {
    "name" : "Belarus",
    "currencySymbol" : "BYN",
    "id" : "BY",
    "currencyCode" : "BYN"
  }, {
    "name" : "Svalbard & Jan Mayen",
    "currencySymbol" : "NOK",
    "id" : "SJ",
    "currencyCode" : "NOK"
  }, {
    "name" : "Belize",
    "currencySymbol" : "BZD",
    "id" : "BZ",
    "currencyCode" : "BZD"
  }, {
    "name" : "Slovakia",
    "currencySymbol" : "EUR",
    "id" : "SK",
    "currencyCode" : "EUR"
  }, {
    "name" : "Sierra Leone",
    "currencySymbol" : "SLL",
    "id" : "SL",
    "currencyCode" : "SLL"
  }, {
    "name" : "San Marino",
    "currencySymbol" : "EUR",
    "id" : "SM",
    "currencyCode" : "EUR"
  }, {
    "name" : "Senegal",
    "currencySymbol" : "XOF",
    "id" : "SN",
    "currencyCode" : "XOF"
  }, {
    "name" : "Somalia",
    "currencySymbol" : "SOS",
    "id" : "SO",
    "currencyCode" : "SOS"
  }, {
    "name" : "Canada",
    "currencySymbol" : "$",
    "id" : "CA",
    "currencyCode" : "CAD"
  }, {
    "name" : "Suriname",
    "currencySymbol" : "SRD",
    "id" : "SR",
    "currencyCode" : "SRD"
  }, {
    "name" : "Cocos (Keeling) Islands",
    "currencySymbol" : "AUD",
    "id" : "CC",
    "currencyCode" : "AUD"
  }, {
    "name" : "South Sudan",
    "currencySymbol" : "SSP",
    "id" : "SS",
    "currencyCode" : "SSP"
  }, {
    "name" : "Congo - Kinshasa",
    "currencySymbol" : "CDF",
    "id" : "CD",
    "currencyCode" : "CDF"
  }, {
    "name" : "São Tomé & Príncipe",
    "currencySymbol" : "STN",
    "id" : "ST",
    "currencyCode" : "STN"
  }, {
    "name" : "Central African Republic",
    "currencySymbol" : "XAF",
    "id" : "CF",
    "currencyCode" : "XAF"
  }, {
    "name" : "El Salvador",
    "currencySymbol" : "SVC",
    "id" : "SV",
    "currencyCode" : "SVC"
  }, {
    "name" : "Congo - Brazzaville",
    "currencySymbol" : "XAF",
    "id" : "CG",
    "currencyCode" : "XAF"
  }, {
    "name" : "Switzerland",
    "currencySymbol" : "CHF",
    "id" : "CH",
    "currencyCode" : "CHF"
  }, {
    "name" : "Sint Maarten",
    "currencySymbol" : "ANG",
    "id" : "SX",
    "currencyCode" : "ANG"
  }, {
    "name" : "CĆ“te d’Ivoire",
    "currencySymbol" : "XOF",
    "id" : "CI",
    "currencyCode" : "XOF"
  }, {
    "name" : "Syria",
    "currencySymbol" : "SYP",
    "id" : "SY",
    "currencyCode" : "SYP"
  }, {
    "name" : "Eswatini",
    "currencySymbol" : "SZL",
    "id" : "SZ",
    "currencyCode" : "SZL"
  }, {
    "name" : "Cook Islands",
    "currencySymbol" : "NZD",
    "id" : "CK",
    "currencyCode" : "NZD"
  }, {
    "name" : "Chile",
    "currencySymbol" : "CLP",
    "id" : "CL",
    "currencyCode" : "CLP"
  }, {
    "name" : "Cameroon",
    "currencySymbol" : "XAF",
    "id" : "CM",
    "currencyCode" : "XAF"
  }, {
    "name" : "China",
    "currencySymbol" : "CNY",
    "id" : "CN",
    "currencyCode" : "CNY"
  }, {
    "name" : "Colombia",
    "currencySymbol" : "COP",
    "id" : "CO",
    "currencyCode" : "COP"
  }, {
    "name" : "Costa Rica",
    "currencySymbol" : "CRC",
    "id" : "CR",
    "currencyCode" : "CRC"
  }, {
    "name" : "Turks & Caicos Islands",
    "currencySymbol" : "USD",
    "id" : "TC",
    "currencyCode" : "USD"
  }, {
    "name" : "Chad",
    "currencySymbol" : "XAF",
    "id" : "TD",
    "currencyCode" : "XAF"
  }, {
    "name" : "Cuba",
    "currencySymbol" : "CUP",
    "id" : "CU",
    "currencyCode" : "CUP"
  }, {
    "name" : "French Southern Territories",
    "currencySymbol" : "EUR",
    "id" : "TF",
    "currencyCode" : "EUR"
  }, {
    "name" : "Cape Verde",
    "currencySymbol" : "CVE",
    "id" : "CV",
    "currencyCode" : "CVE"
  }, {
    "name" : "Togo",
    "currencySymbol" : "XOF",
    "id" : "TG",
    "currencyCode" : "XOF"
  }, {
    "name" : "CuraƧao",
    "currencySymbol" : "ANG",
    "id" : "CW",
    "currencyCode" : "ANG"
  }, {
    "name" : "Thailand",
    "currencySymbol" : "THB",
    "id" : "TH",
    "currencyCode" : "THB"
  }, {
    "name" : "Christmas Island",
    "currencySymbol" : "AUD",
    "id" : "CX",
    "currencyCode" : "AUD"
  }, {
    "name" : "Cyprus",
    "currencySymbol" : "EUR",
    "id" : "CY",
    "currencyCode" : "EUR"
  }, {
    "name" : "Tajikistan",
    "currencySymbol" : "TJS",
    "id" : "TJ",
    "currencyCode" : "TJS"
  }, {
    "name" : "Czechia",
    "currencySymbol" : "CZK",
    "id" : "CZ",
    "currencyCode" : "CZK"
  }, {
    "name" : "Tokelau",
    "currencySymbol" : "NZD",
    "id" : "TK",
    "currencyCode" : "NZD"
  }, {
    "name" : "Timor-Leste",
    "currencySymbol" : "USD",
    "id" : "TL",
    "currencyCode" : "USD"
  }, {
    "name" : "Turkmenistan",
    "currencySymbol" : "TMT",
    "id" : "TM",
    "currencyCode" : "TMT"
  }, {
    "name" : "Tunisia",
    "currencySymbol" : "TND",
    "id" : "TN",
    "currencyCode" : "TND"
  }, {
    "name" : "Tonga",
    "currencySymbol" : "TOP",
    "id" : "TO",
    "currencyCode" : "TOP"
  }, {
    "name" : "Turkey",
    "currencySymbol" : "TRY",
    "id" : "TR",
    "currencyCode" : "TRY"
  }, {
    "name" : "Trinidad & Tobago",
    "currencySymbol" : "TTD",
    "id" : "TT",
    "currencyCode" : "TTD"
  }, {
    "name" : "Germany",
    "currencySymbol" : "EUR",
    "id" : "DE",
    "currencyCode" : "EUR"
  }, {
    "name" : "Tuvalu",
    "currencySymbol" : "AUD",
    "id" : "TV",
    "currencyCode" : "AUD"
  }, {
    "name" : "Taiwan",
    "currencySymbol" : "TWD",
    "id" : "TW",
    "currencyCode" : "TWD"
  }, {
    "name" : "Djibouti",
    "currencySymbol" : "DJF",
    "id" : "DJ",
    "currencyCode" : "DJF"
  }, {
    "name" : "Tanzania",
    "currencySymbol" : "TZS",
    "id" : "TZ",
    "currencyCode" : "TZS"
  }, {
    "name" : "Denmark",
    "currencySymbol" : "DKK",
    "id" : "DK",
    "currencyCode" : "DKK"
  }, {
    "name" : "Dominica",
    "currencySymbol" : "XCD",
    "id" : "DM",
    "currencyCode" : "XCD"
  }, {
    "name" : "Dominican Republic",
    "currencySymbol" : "DOP",
    "id" : "DO",
    "currencyCode" : "DOP"
  }, {
    "name" : "Ukraine",
    "currencySymbol" : "UAH",
    "id" : "UA",
    "currencyCode" : "UAH"
  }, {
    "name" : "Uganda",
    "currencySymbol" : "UGX",
    "id" : "UG",
    "currencyCode" : "UGX"
  }, {
    "name" : "Algeria",
    "currencySymbol" : "DZD",
    "id" : "DZ",
    "currencyCode" : "DZD"
  }, {
    "name" : "U.S. Outlying Islands",
    "currencySymbol" : "USD",
    "id" : "UM",
    "currencyCode" : "USD"
  }, {
    "name" : "Ecuador",
    "currencySymbol" : "USD",
    "id" : "EC",
    "currencyCode" : "USD"
  }, {
    "name" : "United States",
    "currencySymbol" : "$",
    "id" : "US",
    "currencyCode" : "USD"
  }, {
    "name" : "Estonia",
    "currencySymbol" : "EUR",
    "id" : "EE",
    "currencyCode" : "EUR"
  }, {
    "name" : "Egypt",
    "currencySymbol" : "EGP",
    "id" : "EG",
    "currencyCode" : "EGP"
  }, {
    "name" : "Western Sahara",
    "currencySymbol" : "MAD",
    "id" : "EH",
    "currencyCode" : "MAD"
  }, {
    "name" : "Uruguay",
    "currencySymbol" : "UYU",
    "id" : "UY",
    "currencyCode" : "UYU"
  }, {
    "name" : "Uzbekistan",
    "currencySymbol" : "UZS",
    "id" : "UZ",
    "currencyCode" : "UZS"
  }, {
    "name" : "Vatican City",
    "currencySymbol" : "EUR",
    "id" : "VA",
    "currencyCode" : "EUR"
  }, {
    "name" : "Eritrea",
    "currencySymbol" : "ERN",
    "id" : "ER",
    "currencyCode" : "ERN"
  }, {
    "name" : "St. Vincent & Grenadines",
    "currencySymbol" : "XCD",
    "id" : "VC",
    "currencyCode" : "XCD"
  }, {
    "name" : "Spain",
    "currencySymbol" : "EUR",
    "id" : "ES",
    "currencyCode" : "EUR"
  }, {
    "name" : "Ethiopia",
    "currencySymbol" : "ETB",
    "id" : "ET",
    "currencyCode" : "ETB"
  }, {
    "name" : "Venezuela",
    "currencySymbol" : "VES",
    "id" : "VE",
    "currencyCode" : "VES"
  }, {
    "name" : "British Virgin Islands",
    "currencySymbol" : "USD",
    "id" : "VG",
    "currencyCode" : "USD"
  }, {
    "name" : "U.S. Virgin Islands",
    "currencySymbol" : "USD",
    "id" : "VI",
    "currencyCode" : "USD"
  }, {
    "name" : "Vietnam",
    "currencySymbol" : "VND",
    "id" : "VN",
    "currencyCode" : "VND"
  }, {
    "name" : "Vanuatu",
    "currencySymbol" : "VUV",
    "id" : "VU",
    "currencyCode" : "VUV"
  }, {
    "name" : "Finland",
    "currencySymbol" : "EUR",
    "id" : "FI",
    "currencyCode" : "EUR"
  }, {
    "name" : "Fiji",
    "currencySymbol" : "FJD",
    "id" : "FJ",
    "currencyCode" : "FJD"
  }, {
    "name" : "Falkland Islands",
    "currencySymbol" : "FKP",
    "id" : "FK",
    "currencyCode" : "FKP"
  }, {
    "name" : "Micronesia",
    "currencySymbol" : "USD",
    "id" : "FM",
    "currencyCode" : "USD"
  }, {
    "name" : "Faroe Islands",
    "currencySymbol" : "DKK",
    "id" : "FO",
    "currencyCode" : "DKK"
  }, {
    "name" : "France",
    "currencySymbol" : "EUR",
    "id" : "FR",
    "currencyCode" : "EUR"
  }, {
    "name" : "Wallis & Futuna",
    "currencySymbol" : "XPF",
    "id" : "WF",
    "currencyCode" : "XPF"
  }, {
    "name" : "Gabon",
    "currencySymbol" : "XAF",
    "id" : "GA",
    "currencyCode" : "XAF"
  }, {
    "name" : "United Kingdom",
    "currencySymbol" : "Ā£",
    "id" : "GB",
    "currencyCode" : "GBP"
  }, {
    "name" : "Samoa",
    "currencySymbol" : "WST",
    "id" : "WS",
    "currencyCode" : "WST"
  }, {
    "name" : "Grenada",
    "currencySymbol" : "XCD",
    "id" : "GD",
    "currencyCode" : "XCD"
  }, {
    "name" : "Georgia",
    "currencySymbol" : "GEL",
    "id" : "GE",
    "currencyCode" : "GEL"
  }, {
    "name" : "French Guiana",
    "currencySymbol" : "EUR",
    "id" : "GF",
    "currencyCode" : "EUR"
  }, {
    "name" : "Guernsey",
    "currencySymbol" : "GBP",
    "id" : "GG",
    "currencyCode" : "GBP"
  }, {
    "name" : "Ghana",
    "currencySymbol" : "GHS",
    "id" : "GH",
    "currencyCode" : "GHS"
  }, {
    "name" : "Gibraltar",
    "currencySymbol" : "GIP",
    "id" : "GI",
    "currencyCode" : "GIP"
  }, {
    "name" : "Greenland",
    "currencySymbol" : "DKK",
    "id" : "GL",
    "currencyCode" : "DKK"
  }, {
    "name" : "Gambia",
    "currencySymbol" : "GMD",
    "id" : "GM",
    "currencyCode" : "GMD"
  }, {
    "name" : "Guinea",
    "currencySymbol" : "GNF",
    "id" : "GN",
    "currencyCode" : "GNF"
  }, {
    "name" : "Guadeloupe",
    "currencySymbol" : "EUR",
    "id" : "GP",
    "currencyCode" : "EUR"
  }, {
    "name" : "Equatorial Guinea",
    "currencySymbol" : "XAF",
    "id" : "GQ",
    "currencyCode" : "XAF"
  }, {
    "name" : "Greece",
    "currencySymbol" : "EUR",
    "id" : "GR",
    "currencyCode" : "EUR"
  }, {
    "name" : "South Georgia & South Sandwich Islands",
    "currencySymbol" : "GBP",
    "id" : "GS",
    "currencyCode" : "GBP"
  }, {
    "name" : "Guatemala",
    "currencySymbol" : "GTQ",
    "id" : "GT",
    "currencyCode" : "GTQ"
  }, {
    "name" : "Guam",
    "currencySymbol" : "USD",
    "id" : "GU",
    "currencyCode" : "USD"
  }, {
    "name" : "Guinea-Bissau",
    "currencySymbol" : "XOF",
    "id" : "GW",
    "currencyCode" : "XOF"
  }, {
    "name" : "Guyana",
    "currencySymbol" : "GYD",
    "id" : "GY",
    "currencyCode" : "GYD"
  }, {
    "name" : "Kosovo",
    "currencySymbol" : "XXX",
    "id" : "XK",
    "currencyCode" : "-"
  }, {
    "name" : "Hong Kong SAR China",
    "currencySymbol" : "HKD",
    "id" : "HK",
    "currencyCode" : "HKD"
  }, {
    "name" : "Heard & McDonald Islands",
    "currencySymbol" : "AUD",
    "id" : "HM",
    "currencyCode" : "AUD"
  }, {
    "name" : "Honduras",
    "currencySymbol" : "HNL",
    "id" : "HN",
    "currencyCode" : "HNL"
  }, {
    "name" : "Croatia",
    "currencySymbol" : "HRK",
    "id" : "HR",
    "currencyCode" : "HRK"
  }, {
    "name" : "Haiti",
    "currencySymbol" : "HTG",
    "id" : "HT",
    "currencyCode" : "HTG"
  }, {
    "name" : "Yemen",
    "currencySymbol" : "YER",
    "id" : "YE",
    "currencyCode" : "YER"
  }, {
    "name" : "Hungary",
    "currencySymbol" : "HUF",
    "id" : "HU",
    "currencyCode" : "HUF"
  }, {
    "name" : "Indonesia",
    "currencySymbol" : "IDR",
    "id" : "ID",
    "currencyCode" : "IDR"
  }, {
    "name" : "Mayotte",
    "currencySymbol" : "EUR",
    "id" : "YT",
    "currencyCode" : "EUR"
  }, {
    "name" : "Ireland",
    "currencySymbol" : "€",
    "id" : "IE",
    "currencyCode" : "EUR"
  }, {
    "name" : "Israel",
    "currencySymbol" : "ILS",
    "id" : "IL",
    "currencyCode" : "ILS"
  }, {
    "name" : "Isle of Man",
    "currencySymbol" : "GBP",
    "id" : "IM",
    "currencyCode" : "GBP"
  }, {
    "name" : "India",
    "currencySymbol" : "Rs.",
    "id" : "IN",
    "currencyCode" : "INR"
  }, {
    "name" : "British Indian Ocean Territory",
    "currencySymbol" : "USD",
    "id" : "IO",
    "currencyCode" : "USD"
  }, {
    "name" : "South Africa",
    "currencySymbol" : "R",
    "id" : "ZA",
    "currencyCode" : "ZAR"
  }, {
    "name" : "Iraq",
    "currencySymbol" : "IQD",
    "id" : "IQ",
    "currencyCode" : "IQD"
  }, {
    "name" : "Iran",
    "currencySymbol" : "IRR",
    "id" : "IR",
    "currencyCode" : "IRR"
  }, {
    "name" : "Iceland",
    "currencySymbol" : "ISK",
    "id" : "IS",
    "currencyCode" : "ISK"
  }, {
    "name" : "Italy",
    "currencySymbol" : "EUR",
    "id" : "IT",
    "currencyCode" : "EUR"
  }, {
    "name" : "Zambia",
    "currencySymbol" : "ZMW",
    "id" : "ZM",
    "currencyCode" : "ZMW"
  }, {
    "name" : "Jersey",
    "currencySymbol" : "GBP",
    "id" : "JE",
    "currencyCode" : "GBP"
  }, {
    "name" : "Zimbabwe",
    "currencySymbol" : "ZWL",
    "id" : "ZW",
    "currencyCode" : "ZWL"
  }, {
    "name" : "Jamaica",
    "currencySymbol" : "JMD",
    "id" : "JM",
    "currencyCode" : "JMD"
  }, {
    "name" : "Jordan",
    "currencySymbol" : "JOD",
    "id" : "JO",
    "currencyCode" : "JOD"
  }, {
    "name" : "Japan",
    "currencySymbol" : "JPY",
    "id" : "JP",
    "currencyCode" : "JPY"
  }, {
    "name" : "Kenya",
    "currencySymbol" : "KES",
    "id" : "KE",
    "currencyCode" : "KES"
  }, {
    "name" : "Kyrgyzstan",
    "currencySymbol" : "KGS",
    "id" : "KG",
    "currencyCode" : "KGS"
  }, {
    "name" : "Cambodia",
    "currencySymbol" : "KHR",
    "id" : "KH",
    "currencyCode" : "KHR"
  }, {
    "name" : "Kiribati",
    "currencySymbol" : "AUD",
    "id" : "KI",
    "currencyCode" : "AUD"
  }, {
    "name" : "Comoros",
    "currencySymbol" : "KMF",
    "id" : "KM",
    "currencyCode" : "KMF"
  }, {
    "name" : "St. Kitts & Nevis",
    "currencySymbol" : "XCD",
    "id" : "KN",
    "currencyCode" : "XCD"
  }, {
    "name" : "North Korea",
    "currencySymbol" : "KPW",
    "id" : "KP",
    "currencyCode" : "KPW"
  }, {
    "name" : "South Korea",
    "currencySymbol" : "KRW",
    "id" : "KR",
    "currencyCode" : "KRW"
  }, {
    "name" : "Kuwait",
    "currencySymbol" : "KWD",
    "id" : "KW",
    "currencyCode" : "KWD"
  }, {
    "name" : "Cayman Islands",
    "currencySymbol" : "KYD",
    "id" : "KY",
    "currencyCode" : "KYD"
  }, {
    "name" : "Kazakhstan",
    "currencySymbol" : "KZT",
    "id" : "KZ",
    "currencyCode" : "KZT"
  }, {
    "name" : "Laos",
    "currencySymbol" : "LAK",
    "id" : "LA",
    "currencyCode" : "LAK"
  }, {
    "name" : "Lebanon",
    "currencySymbol" : "LBP",
    "id" : "LB",
    "currencyCode" : "LBP"
  }, {
    "name" : "St. Lucia",
    "currencySymbol" : "XCD",
    "id" : "LC",
    "currencyCode" : "XCD"
  }, {
    "name" : "Liechtenstein",
    "currencySymbol" : "CHF",
    "id" : "LI",
    "currencyCode" : "CHF"
  }, {
    "name" : "Sri Lanka",
    "currencySymbol" : "LKR",
    "id" : "LK",
    "currencyCode" : "LKR"
  }, {
    "name" : "Liberia",
    "currencySymbol" : "LRD",
    "id" : "LR",
    "currencyCode" : "LRD"
  }, {
    "name" : "Lesotho",
    "currencySymbol" : "LSL",
    "id" : "LS",
    "currencyCode" : "LSL"
  }, {
    "name" : "Lithuania",
    "currencySymbol" : "EUR",
    "id" : "LT",
    "currencyCode" : "EUR"
  }, {
    "name" : "Luxembourg",
    "currencySymbol" : "EUR",
    "id" : "LU",
    "currencyCode" : "EUR"
  }, {
    "name" : "Latvia",
    "currencySymbol" : "EUR",
    "id" : "LV",
    "currencyCode" : "EUR"
  }, {
    "name" : "Libya",
    "currencySymbol" : "LYD",
    "id" : "LY",
    "currencyCode" : "LYD"
  }, {
    "name" : "Morocco",
    "currencySymbol" : "MAD",
    "id" : "MA",
    "currencyCode" : "MAD"
  }, {
    "name" : "Monaco",
    "currencySymbol" : "EUR",
    "id" : "MC",
    "currencyCode" : "EUR"
  }, {
    "name" : "Moldova",
    "currencySymbol" : "MDL",
    "id" : "MD",
    "currencyCode" : "MDL"
  }, {
    "name" : "Montenegro",
    "currencySymbol" : "EUR",
    "id" : "ME",
    "currencyCode" : "EUR"
  }, {
    "name" : "St. Martin",
    "currencySymbol" : "EUR",
    "id" : "MF",
    "currencyCode" : "EUR"
  }, {
    "name" : "Madagascar",
    "currencySymbol" : "MGA",
    "id" : "MG",
    "currencyCode" : "MGA"
  }, {
    "name" : "Marshall Islands",
    "currencySymbol" : "USD",
    "id" : "MH",
    "currencyCode" : "USD"
  }, {
    "name" : "North Macedonia",
    "currencySymbol" : "MKD",
    "id" : "MK",
    "currencyCode" : "MKD"
  }, {
    "name" : "Mali",
    "currencySymbol" : "XOF",
    "id" : "ML",
    "currencyCode" : "XOF"
  }, {
    "name" : "Myanmar (Burma)",
    "currencySymbol" : "MMK",
    "id" : "MM",
    "currencyCode" : "MMK"
  }, {
    "name" : "Mongolia",
    "currencySymbol" : "MNT",
    "id" : "MN",
    "currencyCode" : "MNT"
  }, {
    "name" : "Macao SAR China",
    "currencySymbol" : "MOP",
    "id" : "MO",
    "currencyCode" : "MOP"
  }, {
    "name" : "Northern Mariana Islands",
    "currencySymbol" : "USD",
    "id" : "MP",
    "currencyCode" : "USD"
  }, {
    "name" : "Martinique",
    "currencySymbol" : "EUR",
    "id" : "MQ",
    "currencyCode" : "EUR"
  }, {
    "name" : "Mauritania",
    "currencySymbol" : "MRU",
    "id" : "MR",
    "currencyCode" : "MRU"
  }, {
    "name" : "Montserrat",
    "currencySymbol" : "XCD",
    "id" : "MS",
    "currencyCode" : "XCD"
  }, {
    "name" : "Malta",
    "currencySymbol" : "€",
    "id" : "MT",
    "currencyCode" : "EUR"
  }, {
    "name" : "Mauritius",
    "currencySymbol" : "MUR",
    "id" : "MU",
    "currencyCode" : "MUR"
  }, {
    "name" : "Maldives",
    "currencySymbol" : "MVR",
    "id" : "MV",
    "currencyCode" : "MVR"
  }, {
    "name" : "Malawi",
    "currencySymbol" : "MWK",
    "id" : "MW",
    "currencyCode" : "MWK"
  }, {
    "name" : "Mexico",
    "currencySymbol" : "MXN",
    "id" : "MX",
    "currencyCode" : "MXN"
  }, {
    "name" : "Malaysia",
    "currencySymbol" : "MYR",
    "id" : "MY",
    "currencyCode" : "MYR"
  }, {
    "name" : "Mozambique",
    "currencySymbol" : "MZN",
    "id" : "MZ",
    "currencyCode" : "MZN"
  }, {
    "name" : "Namibia",
    "currencySymbol" : "NAD",
    "id" : "NA",
    "currencyCode" : "NAD"
  }, {
    "name" : "New Caledonia",
    "currencySymbol" : "XPF",
    "id" : "NC",
    "currencyCode" : "XPF"
  }, {
    "name" : "Niger",
    "currencySymbol" : "XOF",
    "id" : "NE",
    "currencyCode" : "XOF"
  }, {
    "name" : "Norfolk Island",
    "currencySymbol" : "AUD",
    "id" : "NF",
    "currencyCode" : "AUD"
  }, {
    "name" : "Nigeria",
    "currencySymbol" : "NGN",
    "id" : "NG",
    "currencyCode" : "NGN"
  }, {
    "name" : "Nicaragua",
    "currencySymbol" : "NIO",
    "id" : "NI",
    "currencyCode" : "NIO"
  }, {
    "name" : "Netherlands",
    "currencySymbol" : "EUR",
    "id" : "NL",
    "currencyCode" : "EUR"
  }, {
    "name" : "Norway",
    "currencySymbol" : "NOK",
    "id" : "NO",
    "currencyCode" : "NOK"
  }, {
    "name" : "Nepal",
    "currencySymbol" : "NPR",
    "id" : "NP",
    "currencyCode" : "NPR"
  }, {
    "name" : "Nauru",
    "currencySymbol" : "AUD",
    "id" : "NR",
    "currencyCode" : "AUD"
  }, {
    "name" : "Niue",
    "currencySymbol" : "NZD",
    "id" : "NU",
    "currencyCode" : "NZD"
  }, {
    "name" : "New Zealand",
    "currencySymbol" : "$",
    "id" : "NZ",
    "currencyCode" : "NZD"
  }, {
    "name" : "Oman",
    "currencySymbol" : "OMR",
    "id" : "OM",
    "currencyCode" : "OMR"
  }, {
    "name" : "Panama",
    "currencySymbol" : "PAB",
    "id" : "PA",
    "currencyCode" : "PAB"
  }, {
    "name" : "Peru",
    "currencySymbol" : "PEN",
    "id" : "PE",
    "currencyCode" : "PEN"
  }, {
    "name" : "French Polynesia",
    "currencySymbol" : "XPF",
    "id" : "PF",
    "currencyCode" : "XPF"
  }, {
    "name" : "Papua New Guinea",
    "currencySymbol" : "PGK",
    "id" : "PG",
    "currencyCode" : "PGK"
  }, {
    "name" : "Philippines",
    "currencySymbol" : "Php",
    "id" : "PH",
    "currencyCode" : "PHP"
  }, {
    "name" : "Pakistan",
    "currencySymbol" : "PKR",
    "id" : "PK",
    "currencyCode" : "PKR"
  }, {
    "name" : "Poland",
    "currencySymbol" : "PLN",
    "id" : "PL",
    "currencyCode" : "PLN"
  }, {
    "name" : "St. Pierre & Miquelon",
    "currencySymbol" : "EUR",
    "id" : "PM",
    "currencyCode" : "EUR"
  }, {
    "name" : "Pitcairn Islands",
    "currencySymbol" : "NZD",
    "id" : "PN",
    "currencyCode" : "NZD"
  } ],
  "countries" : {
    "Papua New Guinea" : "en_PG",
    "Cambodia" : "km_KH",
    "Kazakhstan" : "ru_KZ",
    "Paraguay" : "es_PY",
    "Syria" : "ar_SY",
    "Bahamas" : "en_BS",
    "Solomon Islands" : "en_SB",
    "Montserrat" : "en_MS",
    "Mali" : "fr_ML",
    "Marshall Islands" : "en_MH",
    "Guadeloupe" : "fr_GP",
    "Panama" : "es_PA",
    "Laos" : "lo_LA",
    "Vatican" : "it_VA",
    "Argentina" : "es_AR",
    "Falkland Islands" : "en_FK",
    "Virgin Islands" : "en_VI",
    "Seychelles" : "en_SC",
    "Belize" : "en_BZ",
    "Zambia" : "en_ZM",
    "Bahrain" : "ar_BH",
    "Congo" : "fr_CG",
    "Namibia" : "en_NA",
    "Comoros" : "fr_KM",
    "Faroe Islands" : "fo_FO",
    "Finland" : "fi_FI",
    "Netherlands Antilles" : "nl_AN",
    "Georgia" : "ka_GE",
    "Yemen" : "ar_YE",
    "Eritrea" : "en_ER",
    "Puerto Rico" : "es_PR",
    "Aruba" : "nl_AW",
    "Madagascar" : "en_MG",
    "Libya" : "ar_LY",
    "Sweden" : "sv_SE",
    "Malawi" : "en_MW",
    "Andorra" : "ca_AD",
    "Liechtenstein" : "de_LI",
    "Algerian" : "ar_DZ",
    "Poland" : "pl_PL",
    "Bulgaria" : "bg_BG",
    "Jordan" : "ar_JO",
    "Tunisia" : "ar_TN",
    "Tuvalu" : "en_TV",
    "United Arab Emirates" : "ar_AE",
    "Kenya" : "sw_KE",
    "French Polynesia" : "fr_PF",
    "Brunei" : "ms_BN",
    "Djibouti" : "ar_DJ",
    "Lebanon" : "ar_LB",
    "Azerbaijan" : "az_AZ",
    "Cuba" : "es_CU",
    "Czech Republic" : "cs_CZ",
    "Mauritania" : "ar_MR",
    "Saint Lucia" : "en_LC",
    "Mayotte" : "fr_YT",
    "Israel" : "iw_IL",
    "San Marino" : "it_SM",
    "Australia" : "en_AU",
    "Tajikistan" : "fa_TJ",
    "Myanmar" : "my_MM",
    "Cameroon" : "fr_CM",
    "Gibraltar" : "en_GI",
    "Cyprus" : "el_CY",
    "Northern Mariana Islands" : "en_MP",
    "Malaysia" : "ms_MY",
    "BelgiumFrench" : "fr_BE",
    "dIvoire" : "fr_CI",
    "Iceland" : "is_IS",
    "Oman" : "ar_OM",
    "Armenia" : "hy_AM",
    "Gabon" : "fr_GA",
    "CanadaFrench" : "fr_CA",
    "Brazil" : "pt_BR",
    "Slovenia" : "sl_SI",
    "LuxembourgFrench" : "fr_LU",
    "Antigua and Barbuda" : "en_AG",
    "Colombia" : "es_CO",
    "Ecuador" : "es_EC",
    "Moldova" : "ro_MD",
    "Vanuatu" : "bi_VU",
    "United States Minor Outlying Islands" : "en_UM",
    "Cocos Islands" : "en_CC",
    "Honduras" : "es_HN",
    "Italy" : "it_IT",
    "Antarctica" : "en_AQ",
    "Nauru" : "en_NR",
    "SwitzerlandFrench" : "fr_CH",
    "Haiti" : "fr_HT",
    "Afghanistan" : "ps_AF",
    "Burundi" : "fr_BI",
    "CanadaEnglish" : "en_CA",
    "Singapore" : "en_SG",
    "French Guiana" : "fr_GF",
    "GuineaBissau" : "pt_GW",
    "American Samoa" : "en_AS",
    "Christmas Island" : "en_CX",
    "Russia" : "ru_RU",
    "Netherlands" : "nl_NL",
    "China" : "zh_CN",
    "Martinique" : "fr_MQ",
    "The Democratic Republic Of Congo" : "fr_CD",
    "Kyrgyzstan" : "uz_KG",
    "Wallis And Futuna" : "fr_WF",
    "Reunion" : "fr_RE",
    "Saint Pierre And Miquelon" : "fr_PM",
    "Bhutan" : "en_BT",
    "Romania" : "ro_RO",
    "Togo" : "fr_TG",
    "Philippines" : "en_PH",
    "Uzbekistan" : "uz_UZ",
    "Pitcairn" : "en_PN",
    "British Virgin Islands" : "en_VG",
    "Zimbabwe" : "en_ZW",
    "British Indian Ocean Territory" : "en_IO",
    "Dominica" : "en_DM",
    "Indonesia" : "id_ID",
    "Benin" : "fr_BJ",
    "Angola" : "pt_AO",
    "Sudan" : "ar_SD",
    "Portugal" : "pt_PT",
    "New Caledonia" : "fr_NC",
    "Grenada" : "en_GD",
    "North Korea" : "ko_KP",
    "Cayman Islands" : "en_KY",
    "Greece" : "el_GR",
    "Latvia" : "lv_LV",
    "Mongolia" : "mn_MN",
    "Iran" : "fa_IR",
    "Morocco" : "ar_MA",
    "Guatemala" : "es_GT",
    "Guyana" : "en_GY",
    "Iraq" : "ar_IQ",
    "Chile" : "es_CL",
    "Nepal" : "ne_NP",
    "SpainCatalan" : "ca_ES",
    "Tanzania" : "sw_TZ",
    "Ukraine" : "uk_UA",
    "Ghana" : "en_GH",
    "Anguilla" : "en_AI",
    "Saint Vincent And The Grenadines" : "en_VC",
    "SwitzerlandItalian" : "it_CH",
    "India" : "en_IN",
    "Maldives" : "dv_MV",
    "Turkey" : "tr_TR",
    "Taiwan" : "zh_TW",
    "South Africa" : "en_ZA",
    "Trinidad and Tobago" : "en_TT",
    "Bermuda" : "en_BM",
    "Central African Republic" : "fr_CF",
    "Jamaica" : "en_JM",
    "Peru" : "es_PE",
    "Turkmenistan" : "tk_TM",
    "Germany" : "de_DE",
    "Fiji" : "fj_FJ",
    "Tokelau" : "en_TK",
    "Hong Kong" : "zh_HK",
    "Guinea" : "fr_GN",
    "United States" : "en_US",
    "Chad" : "ar_TD",
    "Somalia" : "so_SO",
    "Thailand" : "th_TH",
    "Equatorial Guinea" : "es_GQ",
    "Kiribati" : "en_KI",
    "Costa Rica" : "es_CR",
    "Vietnam" : "vi_VN",
    "Kuwait" : "ar_KW",
    "Nigeria" : "en_NG",
    "Croatia" : "hr_HR",
    "Sao Tome And Principe" : "pt_ST",
    "Cook Islands" : "en_CK",
    "Sri Lanka" : "si_LK",
    "Uruguay" : "es_UY",
    "United Kingdom" : "en_GB",
    "Samoa" : "en_WS",
    "Palestine" : "ar_PS",
    "Liberia" : "en_LR",
    "Venezuela" : "es_VE",
    "Burkina Faso" : "fr_BF",
    "Swaziland" : "en_SZ",
    "Palau" : "en_PW",
    "Turks And Caicos Islands" : "en_TC",
    "Estonia" : "et_EE",
    "Niue" : "en_NU",
    "Heard Island And McDonald Islands" : "en_HM",
    "Svalbard And Jan Mayen" : "no_SJ",
    "BelgiumDutch" : "nl_BE",
    "SpainSpanish" : "es_ES",
    "Austria" : "de_AT",
    "South Korea" : "ko_KR",
    "Mozambique" : "pt_MZ",
    "El Salvador" : "es_SV",
    "Monaco" : "fr_MC",
    "Guam" : "en_GU",
    "Lesotho" : "en_LS",
    "Tonga" : "to_TO",
    "Western Sahara" : "ar_EH",
    "Hungary" : "hu_HU",
    "land Islands" : "sv_AX",
    "Japan" : "ja_JP",
    "Belarus" : "be_BY",
    "SwitzerlandGerman" : "de_CH",
    "Mauritius" : "en_MU",
    "Bouvet Island" : "no_BV",
    "Norfolk Island" : "en_NF",
    "New Zealand" : "en_NZ",
    "Senegal" : "fr_SN",
    "TimorLeste" : "pt_TL",
    "Macedonia" : "mk_MK",
    "Ethiopia" : "am_ET",
    "Egypt" : "ar_EG",
    "Sierra Leone" : "en_SL",
    "Bolivia" : "es_BO",
    "LuxembourgGerman" : "de_LU",
    "Malta" : "mt_MT",
    "Saudi Arabia" : "ar_SA",
    "Cape Verde" : "pt_CV",
    "South Georgia And The South Sandwich Islands" : "en_GS",
    "Pakistan" : "en_PK",
    "Kosovo" : "en_XK",
    "Gambia" : "en_GM",
    "Ireland" : "en_IE",
    "Qatar" : "ar_QA",
    "Serbia and Montenegro" : "sr_CS",
    "Slovakia" : "sk_SK",
    "France" : "fr_FR",
    "Lithuania" : "lt_LT",
    "Bosnia and Herzegovina" : "bs_BA",
    "Albanian" : "sq_AL",
    "Niger" : "fr_NE",
    "Rwanda" : "rw_RW",
    "Saint Kitts And Nevis" : "en_KN",
    "French Southern Territories" : "fr_TF",
    "Bangladesh" : "bn_BD",
    "Barbados" : "en_BB",
    "Nicaragua" : "es_NI",
    "Norway" : "no_NO",
    "Botswana" : "en_BW",
    "Macao" : "zh_MO",
    "Denmark" : "da_DK",
    "Dominican Republic" : "es_DO",
    "Mexico" : "es_MX",
    "Uganda" : "en_UG",
    "Micronesia" : "en_FM",
    "Suriname" : "nl_SR",
    "Greenland" : "kl_GL",
    "Saint Helena" : "en_SH"
  }
}

List all languages

This API lists the languages that are available for listing in Zoho Desk.

GET /api/v1/languages

OAuth Scope

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/languages
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "languages" : {
    "Italian" : "it_IT",
    "French" : "fr_FR",
    "Russian" : "ru_RU",
    "English (United States)" : "en_US",
    "Chinese" : "zh_CN",
    "Danish" : "da_DK",
    "Spanish" : "es_ES",
    "German" : "de_DE",
    "Japanese" : "ja_JP",
    "Dutch" : "nl_NL",
    "Turkish" : "tr_TR",
    "Portuguese (Brazil)" : "pt_BR"
  }
}

List all time zones

This API lists the time zones that are available for listing in Zoho Desk.

GET /api/v1/timeZones

OAuth Scope

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/timeZones
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Africa/Abidjan )",
    "id" : "Africa/Abidjan"
  }, {
    "name" : "( GMT 0:00 ) Ghana Mean Time( Africa/Accra )",
    "id" : "Africa/Accra"
  }, {
    "name" : "( GMT 3:00 ) Eastern African Time( Africa/Addis_Ababa )",
    "id" : "Africa/Addis_Ababa"
  }, {
    "name" : "( GMT 0:00 ) Central European Time( Africa/Algiers )",
    "id" : "Africa/Algiers"
  }, {
    "name" : "( GMT 3:00 ) Eastern African Time( Africa/Asmara )",
    "id" : "Africa/Asmara"
  }, {
    "name" : "( GMT 3:00 ) Eastern African Time( Africa/Asmera )",
    "id" : "Africa/Asmera"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Africa/Bamako )",
    "id" : "Africa/Bamako"
  }, {
    "name" : "( GMT 1:00 ) Western African Time( Africa/Bangui )",
    "id" : "Africa/Bangui"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Africa/Banjul )",
    "id" : "Africa/Banjul"
  }, {
    "name" : "( GMT -1:00 ) Greenwich Mean Time( Africa/Bissau )",
    "id" : "Africa/Bissau"
  }, {
    "name" : "( GMT 2:00 ) Central African Time( Africa/Blantyre )",
    "id" : "Africa/Blantyre"
  }, {
    "name" : "( GMT 1:00 ) Western African Time( Africa/Brazzaville )",
    "id" : "Africa/Brazzaville"
  }, {
    "name" : "( GMT 2:00 ) Central African Time( Africa/Bujumbura )",
    "id" : "Africa/Bujumbura"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Time( Africa/Cairo )",
    "id" : "Africa/Cairo"
  }, {
    "name" : "( GMT 0:00 ) Western European Summer Time( Africa/Casablanca )",
    "id" : "Africa/Casablanca"
  }, {
    "name" : "( GMT 0:00 ) Central European Summer Time( Africa/Ceuta )",
    "id" : "Africa/Ceuta"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Africa/Conakry )",
    "id" : "Africa/Conakry"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Africa/Dakar )",
    "id" : "Africa/Dakar"
  }, {
    "name" : "( GMT 3:00 ) Eastern African Time( Africa/Dar_es_Salaam )",
    "id" : "Africa/Dar_es_Salaam"
  }, {
    "name" : "( GMT 3:00 ) Eastern African Time( Africa/Djibouti )",
    "id" : "Africa/Djibouti"
  }, {
    "name" : "( GMT 1:00 ) Western African Time( Africa/Douala )",
    "id" : "Africa/Douala"
  }, {
    "name" : "( GMT -1:00 ) Western European Summer Time( Africa/El_Aaiun )",
    "id" : "Africa/El_Aaiun"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Africa/Freetown )",
    "id" : "Africa/Freetown"
  }, {
    "name" : "( GMT 2:00 ) Central African Time( Africa/Gaborone )",
    "id" : "Africa/Gaborone"
  }, {
    "name" : "( GMT 2:00 ) Central African Time( Africa/Harare )",
    "id" : "Africa/Harare"
  }, {
    "name" : "( GMT 2:00 ) South Africa Standard Time( Africa/Johannesburg )",
    "id" : "Africa/Johannesburg"
  }, {
    "name" : "( GMT 2:00 ) Eastern African Time( Africa/Juba )",
    "id" : "Africa/Juba"
  }, {
    "name" : "( GMT 3:00 ) Eastern African Time( Africa/Kampala )",
    "id" : "Africa/Kampala"
  }, {
    "name" : "( GMT 2:00 ) Eastern African Time( Africa/Khartoum )",
    "id" : "Africa/Khartoum"
  }, {
    "name" : "( GMT 2:00 ) Central African Time( Africa/Kigali )",
    "id" : "Africa/Kigali"
  }, {
    "name" : "( GMT 1:00 ) Western African Time( Africa/Kinshasa )",
    "id" : "Africa/Kinshasa"
  }, {
    "name" : "( GMT 1:00 ) Western African Time( Africa/Lagos )",
    "id" : "Africa/Lagos"
  }, {
    "name" : "( GMT 1:00 ) Western African Time( Africa/Libreville )",
    "id" : "Africa/Libreville"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Africa/Lome )",
    "id" : "Africa/Lome"
  }, {
    "name" : "( GMT 1:00 ) Western African Time( Africa/Luanda )",
    "id" : "Africa/Luanda"
  }, {
    "name" : "( GMT 2:00 ) Central African Time( Africa/Lubumbashi )",
    "id" : "Africa/Lubumbashi"
  }, {
    "name" : "( GMT 2:00 ) Central African Time( Africa/Lusaka )",
    "id" : "Africa/Lusaka"
  }, {
    "name" : "( GMT 1:00 ) Western African Time( Africa/Malabo )",
    "id" : "Africa/Malabo"
  }, {
    "name" : "( GMT 2:00 ) Central African Time( Africa/Maputo )",
    "id" : "Africa/Maputo"
  }, {
    "name" : "( GMT 2:00 ) South Africa Standard Time( Africa/Maseru )",
    "id" : "Africa/Maseru"
  }, {
    "name" : "( GMT 2:00 ) South Africa Standard Time( Africa/Mbabane )",
    "id" : "Africa/Mbabane"
  }, {
    "name" : "( GMT 3:00 ) Eastern African Time( Africa/Mogadishu )",
    "id" : "Africa/Mogadishu"
  }, {
    "name" : "( GMT 0:44 ) Greenwich Mean Time( Africa/Monrovia )",
    "id" : "Africa/Monrovia"
  }, {
    "name" : "( GMT 3:00 ) Eastern African Time( Africa/Nairobi )",
    "id" : "Africa/Nairobi"
  }, {
    "name" : "( GMT 1:00 ) Western African Time( Africa/Ndjamena )",
    "id" : "Africa/Ndjamena"
  }, {
    "name" : "( GMT 1:00 ) Western African Time( Africa/Niamey )",
    "id" : "Africa/Niamey"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Africa/Nouakchott )",
    "id" : "Africa/Nouakchott"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Africa/Ouagadougou )",
    "id" : "Africa/Ouagadougou"
  }, {
    "name" : "( GMT 1:00 ) Western African Time( Africa/Porto-Novo )",
    "id" : "Africa/Porto-Novo"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Africa/Sao_Tome )",
    "id" : "Africa/Sao_Tome"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Africa/Timbuktu )",
    "id" : "Africa/Timbuktu"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Time( Africa/Tripoli )",
    "id" : "Africa/Tripoli"
  }, {
    "name" : "( GMT 1:00 ) Central European Time( Africa/Tunis )",
    "id" : "Africa/Tunis"
  }, {
    "name" : "( GMT 2:00 ) Western African Summer Time( Africa/Windhoek )",
    "id" : "Africa/Windhoek"
  }, {
    "name" : "( GMT -11:00 ) Hawaii Daylight Time( America/Adak )",
    "id" : "America/Adak"
  }, {
    "name" : "( GMT -10:00 ) Alaska Daylight Time( America/Anchorage )",
    "id" : "America/Anchorage"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Anguilla )",
    "id" : "America/Anguilla"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Antigua )",
    "id" : "America/Antigua"
  }, {
    "name" : "( GMT -3:00 ) Brasilia Time( America/Araguaina )",
    "id" : "America/Araguaina"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/Buenos_Aires )",
    "id" : "America/Argentina/Buenos_Aires"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/Catamarca )",
    "id" : "America/Argentina/Catamarca"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/ComodRivadavia )",
    "id" : "America/Argentina/ComodRivadavia"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/Cordoba )",
    "id" : "America/Argentina/Cordoba"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/Jujuy )",
    "id" : "America/Argentina/Jujuy"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/La_Rioja )",
    "id" : "America/Argentina/La_Rioja"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/Mendoza )",
    "id" : "America/Argentina/Mendoza"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/Rio_Gallegos )",
    "id" : "America/Argentina/Rio_Gallegos"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/Salta )",
    "id" : "America/Argentina/Salta"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/San_Juan )",
    "id" : "America/Argentina/San_Juan"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/San_Luis )",
    "id" : "America/Argentina/San_Luis"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/Tucuman )",
    "id" : "America/Argentina/Tucuman"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Argentina/Ushuaia )",
    "id" : "America/Argentina/Ushuaia"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Aruba )",
    "id" : "America/Aruba"
  }, {
    "name" : "( GMT -4:00 ) Paraguay Summer Time( America/Asuncion )",
    "id" : "America/Asuncion"
  }, {
    "name" : "( GMT -5:00 ) Eastern Standard Time( America/Atikokan )",
    "id" : "America/Atikokan"
  }, {
    "name" : "( GMT -11:00 ) Hawaii Daylight Time( America/Atka )",
    "id" : "America/Atka"
  }, {
    "name" : "( GMT -3:00 ) Brasilia Time( America/Bahia )",
    "id" : "America/Bahia"
  }, {
    "name" : "( GMT -8:00 ) Central Daylight Time( America/Bahia_Banderas )",
    "id" : "America/Bahia_Banderas"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Barbados )",
    "id" : "America/Barbados"
  }, {
    "name" : "( GMT -3:00 ) Brasilia Time( America/Belem )",
    "id" : "America/Belem"
  }, {
    "name" : "( GMT -6:00 ) Central Standard Time( America/Belize )",
    "id" : "America/Belize"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Blanc-Sablon )",
    "id" : "America/Blanc-Sablon"
  }, {
    "name" : "( GMT -4:00 ) Amazon Time( America/Boa_Vista )",
    "id" : "America/Boa_Vista"
  }, {
    "name" : "( GMT -5:00 ) Colombia Time( America/Bogota )",
    "id" : "America/Bogota"
  }, {
    "name" : "( GMT -7:00 ) Mountain Daylight Time( America/Boise )",
    "id" : "America/Boise"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Buenos_Aires )",
    "id" : "America/Buenos_Aires"
  }, {
    "name" : "( GMT -7:00 ) Mountain Daylight Time( America/Cambridge_Bay )",
    "id" : "America/Cambridge_Bay"
  }, {
    "name" : "( GMT -4:00 ) Amazon Summer Time( America/Campo_Grande )",
    "id" : "America/Campo_Grande"
  }, {
    "name" : "( GMT -6:00 ) Eastern Standard Time( America/Cancun )",
    "id" : "America/Cancun"
  }, {
    "name" : "( GMT -4:00 ) Venezuela Time( America/Caracas )",
    "id" : "America/Caracas"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Catamarca )",
    "id" : "America/Catamarca"
  }, {
    "name" : "( GMT -3:00 ) French Guiana Time( America/Cayenne )",
    "id" : "America/Cayenne"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Cayman )",
    "id" : "America/Cayman"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( America/Chicago )",
    "id" : "America/Chicago"
  }, {
    "name" : "( GMT -6:00 ) Mountain Daylight Time( America/Chihuahua )",
    "id" : "America/Chihuahua"
  }, {
    "name" : "( GMT -5:00 ) Eastern Standard Time( America/Coral_Harbour )",
    "id" : "America/Coral_Harbour"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Cordoba )",
    "id" : "America/Cordoba"
  }, {
    "name" : "( GMT -6:00 ) Central Standard Time( America/Costa_Rica )",
    "id" : "America/Costa_Rica"
  }, {
    "name" : "( GMT -7:00 ) Mountain Standard Time( America/Creston )",
    "id" : "America/Creston"
  }, {
    "name" : "( GMT -4:00 ) Amazon Summer Time( America/Cuiaba )",
    "id" : "America/Cuiaba"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Curacao )",
    "id" : "America/Curacao"
  }, {
    "name" : "( GMT -3:00 ) Greenwich Mean Time( America/Danmarkshavn )",
    "id" : "America/Danmarkshavn"
  }, {
    "name" : "( GMT -9:00 ) Pacific Daylight Time( America/Dawson )",
    "id" : "America/Dawson"
  }, {
    "name" : "( GMT -8:00 ) Mountain Standard Time( America/Dawson_Creek )",
    "id" : "America/Dawson_Creek"
  }, {
    "name" : "( GMT -7:00 ) Mountain Daylight Time( America/Denver )",
    "id" : "America/Denver"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Detroit )",
    "id" : "America/Detroit"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Dominica )",
    "id" : "America/Dominica"
  }, {
    "name" : "( GMT -7:00 ) Mountain Daylight Time( America/Edmonton )",
    "id" : "America/Edmonton"
  }, {
    "name" : "( GMT -5:00 ) Acre Time( America/Eirunepe )",
    "id" : "America/Eirunepe"
  }, {
    "name" : "( GMT -6:00 ) Central Standard Time( America/El_Salvador )",
    "id" : "America/El_Salvador"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( America/Ensenada )",
    "id" : "America/Ensenada"
  }, {
    "name" : "( GMT -7:00 ) Mountain Standard Time( America/Fort_Nelson )",
    "id" : "America/Fort_Nelson"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Fort_Wayne )",
    "id" : "America/Fort_Wayne"
  }, {
    "name" : "( GMT -3:00 ) Brasilia Time( America/Fortaleza )",
    "id" : "America/Fortaleza"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Daylight Time( America/Glace_Bay )",
    "id" : "America/Glace_Bay"
  }, {
    "name" : "( GMT -3:00 ) Western Greenland Summer Time( America/Godthab )",
    "id" : "America/Godthab"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Daylight Time( America/Goose_Bay )",
    "id" : "America/Goose_Bay"
  }, {
    "name" : "( GMT -5:00 ) Atlantic Standard Time( America/Grand_Turk )",
    "id" : "America/Grand_Turk"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Grenada )",
    "id" : "America/Grenada"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Guadeloupe )",
    "id" : "America/Guadeloupe"
  }, {
    "name" : "( GMT -6:00 ) Central Standard Time( America/Guatemala )",
    "id" : "America/Guatemala"
  }, {
    "name" : "( GMT -5:00 ) Ecuador Time( America/Guayaquil )",
    "id" : "America/Guayaquil"
  }, {
    "name" : "( GMT -3:45 ) Guyana Time( America/Guyana )",
    "id" : "America/Guyana"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Daylight Time( America/Halifax )",
    "id" : "America/Halifax"
  }, {
    "name" : "( GMT -5:00 ) Cuba Daylight Time( America/Havana )",
    "id" : "America/Havana"
  }, {
    "name" : "( GMT -8:00 ) Mountain Standard Time( America/Hermosillo )",
    "id" : "America/Hermosillo"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Indiana/Indianapolis )",
    "id" : "America/Indiana/Indianapolis"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( America/Indiana/Knox )",
    "id" : "America/Indiana/Knox"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Indiana/Marengo )",
    "id" : "America/Indiana/Marengo"
  }, {
    "name" : "( GMT -6:00 ) Eastern Daylight Time( America/Indiana/Petersburg )",
    "id" : "America/Indiana/Petersburg"
  }, {
    "name" : "( GMT -5:00 ) Central Daylight Time( America/Indiana/Tell_City )",
    "id" : "America/Indiana/Tell_City"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Indiana/Vevay )",
    "id" : "America/Indiana/Vevay"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Indiana/Vincennes )",
    "id" : "America/Indiana/Vincennes"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Indiana/Winamac )",
    "id" : "America/Indiana/Winamac"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Indianapolis )",
    "id" : "America/Indianapolis"
  }, {
    "name" : "( GMT -8:00 ) Mountain Daylight Time( America/Inuvik )",
    "id" : "America/Inuvik"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Iqaluit )",
    "id" : "America/Iqaluit"
  }, {
    "name" : "( GMT -5:00 ) Eastern Standard Time( America/Jamaica )",
    "id" : "America/Jamaica"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Jujuy )",
    "id" : "America/Jujuy"
  }, {
    "name" : "( GMT -8:00 ) Alaska Daylight Time( America/Juneau )",
    "id" : "America/Juneau"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Kentucky/Louisville )",
    "id" : "America/Kentucky/Louisville"
  }, {
    "name" : "( GMT -6:00 ) Eastern Daylight Time( America/Kentucky/Monticello )",
    "id" : "America/Kentucky/Monticello"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( America/Knox_IN )",
    "id" : "America/Knox_IN"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Kralendijk )",
    "id" : "America/Kralendijk"
  }, {
    "name" : "( GMT -4:00 ) Bolivia Time( America/La_Paz )",
    "id" : "America/La_Paz"
  }, {
    "name" : "( GMT -5:00 ) Peru Time( America/Lima )",
    "id" : "America/Lima"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( America/Los_Angeles )",
    "id" : "America/Los_Angeles"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Louisville )",
    "id" : "America/Louisville"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Lower_Princes )",
    "id" : "America/Lower_Princes"
  }, {
    "name" : "( GMT -3:00 ) Brasilia Time( America/Maceio )",
    "id" : "America/Maceio"
  }, {
    "name" : "( GMT -6:00 ) Central Standard Time( America/Managua )",
    "id" : "America/Managua"
  }, {
    "name" : "( GMT -4:00 ) Amazon Time( America/Manaus )",
    "id" : "America/Manaus"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Marigot )",
    "id" : "America/Marigot"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Martinique )",
    "id" : "America/Martinique"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( America/Matamoros )",
    "id" : "America/Matamoros"
  }, {
    "name" : "( GMT -8:00 ) Mountain Daylight Time( America/Mazatlan )",
    "id" : "America/Mazatlan"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Mendoza )",
    "id" : "America/Mendoza"
  }, {
    "name" : "( GMT -5:00 ) Central Daylight Time( America/Menominee )",
    "id" : "America/Menominee"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( America/Merida )",
    "id" : "America/Merida"
  }, {
    "name" : "( GMT -8:00 ) Pacific Standard Time( America/Metlakatla )",
    "id" : "America/Metlakatla"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( America/Mexico_City )",
    "id" : "America/Mexico_City"
  }, {
    "name" : "( GMT -4:00 ) Pierre & Miquelon Daylight Time( America/Miquelon )",
    "id" : "America/Miquelon"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Daylight Time( America/Moncton )",
    "id" : "America/Moncton"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( America/Monterrey )",
    "id" : "America/Monterrey"
  }, {
    "name" : "( GMT -3:00 ) Uruguay Time( America/Montevideo )",
    "id" : "America/Montevideo"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Montreal )",
    "id" : "America/Montreal"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Montserrat )",
    "id" : "America/Montserrat"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Nassau )",
    "id" : "America/Nassau"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/New_York )",
    "id" : "America/New_York"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Nipigon )",
    "id" : "America/Nipigon"
  }, {
    "name" : "( GMT -11:00 ) Alaska Daylight Time( America/Nome )",
    "id" : "America/Nome"
  }, {
    "name" : "( GMT -2:00 ) Fernando de Noronha Time( America/Noronha )",
    "id" : "America/Noronha"
  }, {
    "name" : "( GMT -7:00 ) Central Daylight Time( America/North_Dakota/Beulah )",
    "id" : "America/North_Dakota/Beulah"
  }, {
    "name" : "( GMT -7:00 ) Central Daylight Time( America/North_Dakota/Center )",
    "id" : "America/North_Dakota/Center"
  }, {
    "name" : "( GMT -7:00 ) Central Daylight Time( America/North_Dakota/New_Salem )",
    "id" : "America/North_Dakota/New_Salem"
  }, {
    "name" : "( GMT -6:00 ) Mountain Daylight Time( America/Ojinaga )",
    "id" : "America/Ojinaga"
  }, {
    "name" : "( GMT -5:00 ) Eastern Standard Time( America/Panama )",
    "id" : "America/Panama"
  }, {
    "name" : "( GMT -4:00 ) Eastern Daylight Time( America/Pangnirtung )",
    "id" : "America/Pangnirtung"
  }, {
    "name" : "( GMT -3:30 ) Suriname Time( America/Paramaribo )",
    "id" : "America/Paramaribo"
  }, {
    "name" : "( GMT -7:00 ) Mountain Standard Time( America/Phoenix )",
    "id" : "America/Phoenix"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Port-au-Prince )",
    "id" : "America/Port-au-Prince"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Port_of_Spain )",
    "id" : "America/Port_of_Spain"
  }, {
    "name" : "( GMT -5:00 ) Acre Time( America/Porto_Acre )",
    "id" : "America/Porto_Acre"
  }, {
    "name" : "( GMT -4:00 ) Amazon Time( America/Porto_Velho )",
    "id" : "America/Porto_Velho"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Puerto_Rico )",
    "id" : "America/Puerto_Rico"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( America/Rainy_River )",
    "id" : "America/Rainy_River"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( America/Rankin_Inlet )",
    "id" : "America/Rankin_Inlet"
  }, {
    "name" : "( GMT -3:00 ) Brasilia Time( America/Recife )",
    "id" : "America/Recife"
  }, {
    "name" : "( GMT -6:00 ) Central Standard Time( America/Regina )",
    "id" : "America/Regina"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( America/Resolute )",
    "id" : "America/Resolute"
  }, {
    "name" : "( GMT -5:00 ) Acre Time( America/Rio_Branco )",
    "id" : "America/Rio_Branco"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( America/Rosario )",
    "id" : "America/Rosario"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( America/Santa_Isabel )",
    "id" : "America/Santa_Isabel"
  }, {
    "name" : "( GMT -4:00 ) Brasilia Time( America/Santarem )",
    "id" : "America/Santarem"
  }, {
    "name" : "( GMT -3:00 ) Chile Time( America/Santiago )",
    "id" : "America/Santiago"
  }, {
    "name" : "( GMT -4:30 ) Atlantic Standard Time( America/Santo_Domingo )",
    "id" : "America/Santo_Domingo"
  }, {
    "name" : "( GMT -3:00 ) Brasilia Summer Time( America/Sao_Paulo )",
    "id" : "America/Sao_Paulo"
  }, {
    "name" : "( GMT -2:00 ) Eastern Greenland Summer Time( America/Scoresbysund )",
    "id" : "America/Scoresbysund"
  }, {
    "name" : "( GMT -7:00 ) Mountain Daylight Time( America/Shiprock )",
    "id" : "America/Shiprock"
  }, {
    "name" : "( GMT -8:00 ) Alaska Daylight Time( America/Sitka )",
    "id" : "America/Sitka"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/St_Barthelemy )",
    "id" : "America/St_Barthelemy"
  }, {
    "name" : "( GMT -3:30 ) Newfoundland Daylight Time( America/St_Johns )",
    "id" : "America/St_Johns"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/St_Kitts )",
    "id" : "America/St_Kitts"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/St_Lucia )",
    "id" : "America/St_Lucia"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/St_Thomas )",
    "id" : "America/St_Thomas"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/St_Vincent )",
    "id" : "America/St_Vincent"
  }, {
    "name" : "( GMT -7:00 ) Central Standard Time( America/Swift_Current )",
    "id" : "America/Swift_Current"
  }, {
    "name" : "( GMT -6:00 ) Central Standard Time( America/Tegucigalpa )",
    "id" : "America/Tegucigalpa"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Daylight Time( America/Thule )",
    "id" : "America/Thule"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Thunder_Bay )",
    "id" : "America/Thunder_Bay"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( America/Tijuana )",
    "id" : "America/Tijuana"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( America/Toronto )",
    "id" : "America/Toronto"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Tortola )",
    "id" : "America/Tortola"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( America/Vancouver )",
    "id" : "America/Vancouver"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( America/Virgin )",
    "id" : "America/Virgin"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( America/Whitehorse )",
    "id" : "America/Whitehorse"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( America/Winnipeg )",
    "id" : "America/Winnipeg"
  }, {
    "name" : "( GMT -9:00 ) Alaska Daylight Time( America/Yakutat )",
    "id" : "America/Yakutat"
  }, {
    "name" : "( GMT -7:00 ) Mountain Daylight Time( America/Yellowknife )",
    "id" : "America/Yellowknife"
  }, {
    "name" : "( GMT 8:00 ) Australian Western Standard Time( Antarctica/Casey )",
    "id" : "Antarctica/Casey"
  }, {
    "name" : "( GMT 7:00 ) Davis Time( Antarctica/Davis )",
    "id" : "Antarctica/Davis"
  }, {
    "name" : "( GMT 10:00 ) Dumont-d'Urville Time( Antarctica/DumontDUrville )",
    "id" : "Antarctica/DumontDUrville"
  }, {
    "name" : "( GMT 11:00 ) Macquarie Island Standard Time( Antarctica/Macquarie )",
    "id" : "Antarctica/Macquarie"
  }, {
    "name" : "( GMT 6:00 ) Mawson Time( Antarctica/Mawson )",
    "id" : "Antarctica/Mawson"
  }, {
    "name" : "( GMT 12:00 ) New Zealand Daylight Time( Antarctica/McMurdo )",
    "id" : "Antarctica/McMurdo"
  }, {
    "name" : "( GMT -3:00 ) Chile Time( Antarctica/Palmer )",
    "id" : "Antarctica/Palmer"
  }, {
    "name" : "( GMT 0:00 ) Rothera Time( Antarctica/Rothera )",
    "id" : "Antarctica/Rothera"
  }, {
    "name" : "( GMT 12:00 ) New Zealand Daylight Time( Antarctica/South_Pole )",
    "id" : "Antarctica/South_Pole"
  }, {
    "name" : "( GMT 3:00 ) Syowa Time( Antarctica/Syowa )",
    "id" : "Antarctica/Syowa"
  }, {
    "name" : "( GMT 0:00 ) Central European Summer Time( Antarctica/Troll )",
    "id" : "Antarctica/Troll"
  }, {
    "name" : "( GMT 6:00 ) Vostok Time( Antarctica/Vostok )",
    "id" : "Antarctica/Vostok"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Arctic/Longyearbyen )",
    "id" : "Arctic/Longyearbyen"
  }, {
    "name" : "( GMT 3:00 ) Arabia Standard Time( Asia/Aden )",
    "id" : "Asia/Aden"
  }, {
    "name" : "( GMT 6:00 ) Alma-Ata Time( Asia/Almaty )",
    "id" : "Asia/Almaty"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Asia/Amman )",
    "id" : "Asia/Amman"
  }, {
    "name" : "( GMT 13:00 ) Anadyr Time( Asia/Anadyr )",
    "id" : "Asia/Anadyr"
  }, {
    "name" : "( GMT 5:00 ) Aqtau Time( Asia/Aqtau )",
    "id" : "Asia/Aqtau"
  }, {
    "name" : "( GMT 5:00 ) Aqtobe Time( Asia/Aqtobe )",
    "id" : "Asia/Aqtobe"
  }, {
    "name" : "( GMT 5:00 ) Turkmenistan Time( Asia/Ashgabat )",
    "id" : "Asia/Ashgabat"
  }, {
    "name" : "( GMT 5:00 ) Turkmenistan Time( Asia/Ashkhabad )",
    "id" : "Asia/Ashkhabad"
  }, {
    "name" : "( GMT 3:00 ) Arabia Standard Time( Asia/Baghdad )",
    "id" : "Asia/Baghdad"
  }, {
    "name" : "( GMT 4:00 ) Arabia Standard Time( Asia/Bahrain )",
    "id" : "Asia/Bahrain"
  }, {
    "name" : "( GMT 4:00 ) Azerbaijan Summer Time( Asia/Baku )",
    "id" : "Asia/Baku"
  }, {
    "name" : "( GMT 7:00 ) Indochina Time( Asia/Bangkok )",
    "id" : "Asia/Bangkok"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Asia/Beirut )",
    "id" : "Asia/Beirut"
  }, {
    "name" : "( GMT 6:00 ) Kirgizstan Time( Asia/Bishkek )",
    "id" : "Asia/Bishkek"
  }, {
    "name" : "( GMT 8:00 ) Brunei Time( Asia/Brunei )",
    "id" : "Asia/Brunei"
  }, {
    "name" : "( GMT 5:30 ) India Standard Time( Asia/Calcutta )",
    "id" : "Asia/Calcutta"
  }, {
    "name" : "( GMT 8:00 ) Irkutsk Time( Asia/Chita )",
    "id" : "Asia/Chita"
  }, {
    "name" : "( GMT 7:00 ) Choibalsan Summer Time( Asia/Choibalsan )",
    "id" : "Asia/Choibalsan"
  }, {
    "name" : "( GMT 7:00 ) China Standard Time( Asia/Chongqing )",
    "id" : "Asia/Chongqing"
  }, {
    "name" : "( GMT 7:00 ) China Standard Time( Asia/Chungking )",
    "id" : "Asia/Chungking"
  }, {
    "name" : "( GMT 5:30 ) India Standard Time( Asia/Colombo )",
    "id" : "Asia/Colombo"
  }, {
    "name" : "( GMT 6:00 ) Bangladesh Time( Asia/Dacca )",
    "id" : "Asia/Dacca"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Asia/Damascus )",
    "id" : "Asia/Damascus"
  }, {
    "name" : "( GMT 6:00 ) Bangladesh Time( Asia/Dhaka )",
    "id" : "Asia/Dhaka"
  }, {
    "name" : "( GMT 9:00 ) Timor-Leste Time( Asia/Dili )",
    "id" : "Asia/Dili"
  }, {
    "name" : "( GMT 4:00 ) Gulf Standard Time( Asia/Dubai )",
    "id" : "Asia/Dubai"
  }, {
    "name" : "( GMT 6:00 ) Tajikistan Time( Asia/Dushanbe )",
    "id" : "Asia/Dushanbe"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Asia/Gaza )",
    "id" : "Asia/Gaza"
  }, {
    "name" : "( GMT 8:30 ) China Standard Time( Asia/Harbin )",
    "id" : "Asia/Harbin"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Asia/Hebron )",
    "id" : "Asia/Hebron"
  }, {
    "name" : "( GMT 7:00 ) Indochina Time( Asia/Ho_Chi_Minh )",
    "id" : "Asia/Ho_Chi_Minh"
  }, {
    "name" : "( GMT 8:00 ) Hong Kong Time( Asia/Hong_Kong )",
    "id" : "Asia/Hong_Kong"
  }, {
    "name" : "( GMT 6:00 ) Hovd Summer Time( Asia/Hovd )",
    "id" : "Asia/Hovd"
  }, {
    "name" : "( GMT 8:00 ) Irkutsk Time( Asia/Irkutsk )",
    "id" : "Asia/Irkutsk"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Asia/Istanbul )",
    "id" : "Asia/Istanbul"
  }, {
    "name" : "( GMT 7:00 ) West Indonesia Time( Asia/Jakarta )",
    "id" : "Asia/Jakarta"
  }, {
    "name" : "( GMT 9:00 ) East Indonesia Time( Asia/Jayapura )",
    "id" : "Asia/Jayapura"
  }, {
    "name" : "( GMT 2:00 ) Israel Daylight Time( Asia/Jerusalem )",
    "id" : "Asia/Jerusalem"
  }, {
    "name" : "( GMT 4:30 ) Afghanistan Time( Asia/Kabul )",
    "id" : "Asia/Kabul"
  }, {
    "name" : "( GMT 12:00 ) Petropavlovsk-Kamchatski Time( Asia/Kamchatka )",
    "id" : "Asia/Kamchatka"
  }, {
    "name" : "( GMT 5:00 ) Pakistan Time( Asia/Karachi )",
    "id" : "Asia/Karachi"
  }, {
    "name" : "( GMT 5:00 ) Xinjiang Standard Time( Asia/Kashgar )",
    "id" : "Asia/Kashgar"
  }, {
    "name" : "( GMT 5:30 ) Nepal Time( Asia/Kathmandu )",
    "id" : "Asia/Kathmandu"
  }, {
    "name" : "( GMT 5:30 ) Nepal Time( Asia/Katmandu )",
    "id" : "Asia/Katmandu"
  }, {
    "name" : "( GMT 9:00 ) Khandyga Time( Asia/Khandyga )",
    "id" : "Asia/Khandyga"
  }, {
    "name" : "( GMT 5:30 ) India Standard Time( Asia/Kolkata )",
    "id" : "Asia/Kolkata"
  }, {
    "name" : "( GMT 7:00 ) Krasnoyarsk Time( Asia/Krasnoyarsk )",
    "id" : "Asia/Krasnoyarsk"
  }, {
    "name" : "( GMT 7:30 ) Malaysia Time( Asia/Kuala_Lumpur )",
    "id" : "Asia/Kuala_Lumpur"
  }, {
    "name" : "( GMT 8:00 ) Malaysia Time( Asia/Kuching )",
    "id" : "Asia/Kuching"
  }, {
    "name" : "( GMT 3:00 ) Arabia Standard Time( Asia/Kuwait )",
    "id" : "Asia/Kuwait"
  }, {
    "name" : "( GMT 8:00 ) China Standard Time( Asia/Macao )",
    "id" : "Asia/Macao"
  }, {
    "name" : "( GMT 8:00 ) China Standard Time( Asia/Macau )",
    "id" : "Asia/Macau"
  }, {
    "name" : "( GMT 11:00 ) Magadan Time( Asia/Magadan )",
    "id" : "Asia/Magadan"
  }, {
    "name" : "( GMT 8:00 ) Central Indonesia Time( Asia/Makassar )",
    "id" : "Asia/Makassar"
  }, {
    "name" : "( GMT 8:00 ) Philippines Time( Asia/Manila )",
    "id" : "Asia/Manila"
  }, {
    "name" : "( GMT 4:00 ) Gulf Standard Time( Asia/Muscat )",
    "id" : "Asia/Muscat"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Asia/Nicosia )",
    "id" : "Asia/Nicosia"
  }, {
    "name" : "( GMT 7:00 ) Krasnoyarsk Time( Asia/Novokuznetsk )",
    "id" : "Asia/Novokuznetsk"
  }, {
    "name" : "( GMT 7:00 ) Novosibirsk Time( Asia/Novosibirsk )",
    "id" : "Asia/Novosibirsk"
  }, {
    "name" : "( GMT 6:00 ) Omsk Time( Asia/Omsk )",
    "id" : "Asia/Omsk"
  }, {
    "name" : "( GMT 5:00 ) Oral Time( Asia/Oral )",
    "id" : "Asia/Oral"
  }, {
    "name" : "( GMT 7:00 ) Indochina Time( Asia/Phnom_Penh )",
    "id" : "Asia/Phnom_Penh"
  }, {
    "name" : "( GMT 8:00 ) West Indonesia Time( Asia/Pontianak )",
    "id" : "Asia/Pontianak"
  }, {
    "name" : "( GMT 9:00 ) Korea Standard Time( Asia/Pyongyang )",
    "id" : "Asia/Pyongyang"
  }, {
    "name" : "( GMT 4:00 ) Arabia Standard Time( Asia/Qatar )",
    "id" : "Asia/Qatar"
  }, {
    "name" : "( GMT 5:00 ) Qyzylorda Time( Asia/Qyzylorda )",
    "id" : "Asia/Qyzylorda"
  }, {
    "name" : "( GMT 6:30 ) Myanmar Time( Asia/Rangoon )",
    "id" : "Asia/Rangoon"
  }, {
    "name" : "( GMT 3:00 ) Arabia Standard Time( Asia/Riyadh )",
    "id" : "Asia/Riyadh"
  }, {
    "name" : "( GMT 7:00 ) Indochina Time( Asia/Saigon )",
    "id" : "Asia/Saigon"
  }, {
    "name" : "( GMT 11:00 ) Sakhalin Time( Asia/Sakhalin )",
    "id" : "Asia/Sakhalin"
  }, {
    "name" : "( GMT 5:00 ) Uzbekistan Time( Asia/Samarkand )",
    "id" : "Asia/Samarkand"
  }, {
    "name" : "( GMT 9:00 ) Korea Standard Time( Asia/Seoul )",
    "id" : "Asia/Seoul"
  }, {
    "name" : "( GMT 8:00 ) China Standard Time( Asia/Shanghai )",
    "id" : "Asia/Shanghai"
  }, {
    "name" : "( GMT 7:30 ) Singapore Time( Asia/Singapore )",
    "id" : "Asia/Singapore"
  }, {
    "name" : "( GMT 11:00 ) Srednekolymsk Time( Asia/Srednekolymsk )",
    "id" : "Asia/Srednekolymsk"
  }, {
    "name" : "( GMT 8:00 ) China Standard Time( Asia/Taipei )",
    "id" : "Asia/Taipei"
  }, {
    "name" : "( GMT 6:00 ) Uzbekistan Time( Asia/Tashkent )",
    "id" : "Asia/Tashkent"
  }, {
    "name" : "( GMT 4:00 ) Georgia Time( Asia/Tbilisi )",
    "id" : "Asia/Tbilisi"
  }, {
    "name" : "( GMT 3:30 ) Iran Daylight Time( Asia/Tehran )",
    "id" : "Asia/Tehran"
  }, {
    "name" : "( GMT 2:00 ) Israel Daylight Time( Asia/Tel_Aviv )",
    "id" : "Asia/Tel_Aviv"
  }, {
    "name" : "( GMT 5:30 ) Bhutan Time( Asia/Thimbu )",
    "id" : "Asia/Thimbu"
  }, {
    "name" : "( GMT 5:30 ) Bhutan Time( Asia/Thimphu )",
    "id" : "Asia/Thimphu"
  }, {
    "name" : "( GMT 9:00 ) Japan Standard Time( Asia/Tokyo )",
    "id" : "Asia/Tokyo"
  }, {
    "name" : "( GMT 8:00 ) Central Indonesia Time( Asia/Ujung_Pandang )",
    "id" : "Asia/Ujung_Pandang"
  }, {
    "name" : "( GMT 7:00 ) Ulaanbaatar Summer Time( Asia/Ulaanbaatar )",
    "id" : "Asia/Ulaanbaatar"
  }, {
    "name" : "( GMT 7:00 ) Ulaanbaatar Summer Time( Asia/Ulan_Bator )",
    "id" : "Asia/Ulan_Bator"
  }, {
    "name" : "( GMT 6:00 ) Xinjiang Standard Time( Asia/Urumqi )",
    "id" : "Asia/Urumqi"
  }, {
    "name" : "( GMT 10:00 ) Ust-Nera Time( Asia/Ust-Nera )",
    "id" : "Asia/Ust-Nera"
  }, {
    "name" : "( GMT 7:00 ) Indochina Time( Asia/Vientiane )",
    "id" : "Asia/Vientiane"
  }, {
    "name" : "( GMT 10:00 ) Vladivostok Time( Asia/Vladivostok )",
    "id" : "Asia/Vladivostok"
  }, {
    "name" : "( GMT 9:00 ) Yakutsk Time( Asia/Yakutsk )",
    "id" : "Asia/Yakutsk"
  }, {
    "name" : "( GMT 5:00 ) Yekaterinburg Time( Asia/Yekaterinburg )",
    "id" : "Asia/Yekaterinburg"
  }, {
    "name" : "( GMT 4:00 ) Armenia Time( Asia/Yerevan )",
    "id" : "Asia/Yerevan"
  }, {
    "name" : "( GMT -1:00 ) Azores Summer Time( Atlantic/Azores )",
    "id" : "Atlantic/Azores"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Daylight Time( Atlantic/Bermuda )",
    "id" : "Atlantic/Bermuda"
  }, {
    "name" : "( GMT 0:00 ) Western European Summer Time( Atlantic/Canary )",
    "id" : "Atlantic/Canary"
  }, {
    "name" : "( GMT -2:00 ) Cape Verde Time( Atlantic/Cape_Verde )",
    "id" : "Atlantic/Cape_Verde"
  }, {
    "name" : "( GMT 0:00 ) Western European Summer Time( Atlantic/Faeroe )",
    "id" : "Atlantic/Faeroe"
  }, {
    "name" : "( GMT 0:00 ) Western European Summer Time( Atlantic/Faroe )",
    "id" : "Atlantic/Faroe"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Atlantic/Jan_Mayen )",
    "id" : "Atlantic/Jan_Mayen"
  }, {
    "name" : "( GMT 0:00 ) Western European Summer Time( Atlantic/Madeira )",
    "id" : "Atlantic/Madeira"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Atlantic/Reykjavik )",
    "id" : "Atlantic/Reykjavik"
  }, {
    "name" : "( GMT -2:00 ) South Georgia Standard Time( Atlantic/South_Georgia )",
    "id" : "Atlantic/South_Georgia"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Atlantic/St_Helena )",
    "id" : "Atlantic/St_Helena"
  }, {
    "name" : "( GMT -4:00 ) Falkland Is. Time( Atlantic/Stanley )",
    "id" : "Atlantic/Stanley"
  }, {
    "name" : "( GMT 10:00 ) Australian Eastern Daylight Time (New South Wales)( Australia/ACT )",
    "id" : "Australia/ACT"
  }, {
    "name" : "( GMT 9:30 ) Australian Central Daylight Time (South Australia)( Australia/Adelaide )",
    "id" : "Australia/Adelaide"
  }, {
    "name" : "( GMT 10:00 ) Australian Eastern Standard Time (Queensland)( Australia/Brisbane )",
    "id" : "Australia/Brisbane"
  }, {
    "name" : "( GMT 9:30 ) Australian Central Daylight Time (South Australia/New South Wales)( Australia/Broken_Hill )",
    "id" : "Australia/Broken_Hill"
  }, {
    "name" : "( GMT 10:00 ) Australian Eastern Daylight Time (New South Wales)( Australia/Canberra )",
    "id" : "Australia/Canberra"
  }, {
    "name" : "( GMT 10:00 ) Australian Eastern Daylight Time (New South Wales)( Australia/Currie )",
    "id" : "Australia/Currie"
  }, {
    "name" : "( GMT 9:30 ) Australian Central Standard Time (Northern Territory)( Australia/Darwin )",
    "id" : "Australia/Darwin"
  }, {
    "name" : "( GMT 8:45 ) Australian Central Western Standard Time( Australia/Eucla )",
    "id" : "Australia/Eucla"
  }, {
    "name" : "( GMT 11:00 ) Australian Eastern Daylight Time (Tasmania)( Australia/Hobart )",
    "id" : "Australia/Hobart"
  }, {
    "name" : "( GMT 10:00 ) Lord Howe Daylight Time( Australia/LHI )",
    "id" : "Australia/LHI"
  }, {
    "name" : "( GMT 10:00 ) Australian Eastern Standard Time (Queensland)( Australia/Lindeman )",
    "id" : "Australia/Lindeman"
  }, {
    "name" : "( GMT 10:00 ) Lord Howe Daylight Time( Australia/Lord_Howe )",
    "id" : "Australia/Lord_Howe"
  }, {
    "name" : "( GMT 10:00 ) Australian Eastern Daylight Time (Victoria)( Australia/Melbourne )",
    "id" : "Australia/Melbourne"
  }, {
    "name" : "( GMT 10:00 ) Australian Eastern Daylight Time (New South Wales)( Australia/NSW )",
    "id" : "Australia/NSW"
  }, {
    "name" : "( GMT 9:30 ) Australian Central Standard Time (Northern Territory)( Australia/North )",
    "id" : "Australia/North"
  }, {
    "name" : "( GMT 8:00 ) Australian Western Standard Time( Australia/Perth )",
    "id" : "Australia/Perth"
  }, {
    "name" : "( GMT 10:00 ) Australian Eastern Standard Time (Queensland)( Australia/Queensland )",
    "id" : "Australia/Queensland"
  }, {
    "name" : "( GMT 9:30 ) Australian Central Daylight Time (South Australia)( Australia/South )",
    "id" : "Australia/South"
  }, {
    "name" : "( GMT 10:00 ) Australian Eastern Daylight Time (New South Wales)( Australia/Sydney )",
    "id" : "Australia/Sydney"
  }, {
    "name" : "( GMT 11:00 ) Australian Eastern Daylight Time (Tasmania)( Australia/Tasmania )",
    "id" : "Australia/Tasmania"
  }, {
    "name" : "( GMT 10:00 ) Australian Eastern Daylight Time (Victoria)( Australia/Victoria )",
    "id" : "Australia/Victoria"
  }, {
    "name" : "( GMT 8:00 ) Australian Western Standard Time( Australia/West )",
    "id" : "Australia/West"
  }, {
    "name" : "( GMT 9:30 ) Australian Central Daylight Time (South Australia/New South Wales)( Australia/Yancowinna )",
    "id" : "Australia/Yancowinna"
  }, {
    "name" : "( GMT -5:00 ) Acre Time( Brazil/Acre )",
    "id" : "Brazil/Acre"
  }, {
    "name" : "( GMT -2:00 ) Fernando de Noronha Time( Brazil/DeNoronha )",
    "id" : "Brazil/DeNoronha"
  }, {
    "name" : "( GMT -3:00 ) Brasilia Summer Time( Brazil/East )",
    "id" : "Brazil/East"
  }, {
    "name" : "( GMT -4:00 ) Amazon Time( Brazil/West )",
    "id" : "Brazil/West"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( CET )",
    "id" : "CET"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( CST6CDT )",
    "id" : "CST6CDT"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Daylight Time( Canada/Atlantic )",
    "id" : "Canada/Atlantic"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( Canada/Central )",
    "id" : "Canada/Central"
  }, {
    "name" : "( GMT -6:00 ) Central Standard Time( Canada/East-Saskatchewan )",
    "id" : "Canada/East-Saskatchewan"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( Canada/Eastern )",
    "id" : "Canada/Eastern"
  }, {
    "name" : "( GMT -7:00 ) Mountain Daylight Time( Canada/Mountain )",
    "id" : "Canada/Mountain"
  }, {
    "name" : "( GMT -3:30 ) Newfoundland Daylight Time( Canada/Newfoundland )",
    "id" : "Canada/Newfoundland"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( Canada/Pacific )",
    "id" : "Canada/Pacific"
  }, {
    "name" : "( GMT -6:00 ) Central Standard Time( Canada/Saskatchewan )",
    "id" : "Canada/Saskatchewan"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( Canada/Yukon )",
    "id" : "Canada/Yukon"
  }, {
    "name" : "( GMT -3:00 ) Chile Time( Chile/Continental )",
    "id" : "Chile/Continental"
  }, {
    "name" : "( GMT -6:00 ) Easter Is. Time( Chile/EasterIsland )",
    "id" : "Chile/EasterIsland"
  }, {
    "name" : "( GMT -5:00 ) Cuba Daylight Time( Cuba )",
    "id" : "Cuba"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( EET )",
    "id" : "EET"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( EST5EDT )",
    "id" : "EST5EDT"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Time( Egypt )",
    "id" : "Egypt"
  }, {
    "name" : "( GMT 1:00 ) Irish Summer Time( Eire )",
    "id" : "Eire"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Etc/GMT )",
    "id" : "Etc/GMT"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Etc/GMT+0 )",
    "id" : "Etc/GMT+0"
  }, {
    "name" : "( GMT -1:00 ) GMT-01:00( Etc/GMT+1 )",
    "id" : "Etc/GMT+1"
  }, {
    "name" : "( GMT -10:00 ) GMT-10:00( Etc/GMT+10 )",
    "id" : "Etc/GMT+10"
  }, {
    "name" : "( GMT -11:00 ) GMT-11:00( Etc/GMT+11 )",
    "id" : "Etc/GMT+11"
  }, {
    "name" : "( GMT -12:00 ) GMT-12:00( Etc/GMT+12 )",
    "id" : "Etc/GMT+12"
  }, {
    "name" : "( GMT -2:00 ) GMT-02:00( Etc/GMT+2 )",
    "id" : "Etc/GMT+2"
  }, {
    "name" : "( GMT -3:00 ) GMT-03:00( Etc/GMT+3 )",
    "id" : "Etc/GMT+3"
  }, {
    "name" : "( GMT -4:00 ) GMT-04:00( Etc/GMT+4 )",
    "id" : "Etc/GMT+4"
  }, {
    "name" : "( GMT -5:00 ) GMT-05:00( Etc/GMT+5 )",
    "id" : "Etc/GMT+5"
  }, {
    "name" : "( GMT -6:00 ) GMT-06:00( Etc/GMT+6 )",
    "id" : "Etc/GMT+6"
  }, {
    "name" : "( GMT -7:00 ) GMT-07:00( Etc/GMT+7 )",
    "id" : "Etc/GMT+7"
  }, {
    "name" : "( GMT -8:00 ) GMT-08:00( Etc/GMT+8 )",
    "id" : "Etc/GMT+8"
  }, {
    "name" : "( GMT -9:00 ) GMT-09:00( Etc/GMT+9 )",
    "id" : "Etc/GMT+9"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Etc/GMT-0 )",
    "id" : "Etc/GMT-0"
  }, {
    "name" : "( GMT 1:00 ) GMT+01:00( Etc/GMT-1 )",
    "id" : "Etc/GMT-1"
  }, {
    "name" : "( GMT 10:00 ) GMT+10:00( Etc/GMT-10 )",
    "id" : "Etc/GMT-10"
  }, {
    "name" : "( GMT 11:00 ) GMT+11:00( Etc/GMT-11 )",
    "id" : "Etc/GMT-11"
  }, {
    "name" : "( GMT 12:00 ) GMT+12:00( Etc/GMT-12 )",
    "id" : "Etc/GMT-12"
  }, {
    "name" : "( GMT 13:00 ) GMT+13:00( Etc/GMT-13 )",
    "id" : "Etc/GMT-13"
  }, {
    "name" : "( GMT 14:00 ) GMT+14:00( Etc/GMT-14 )",
    "id" : "Etc/GMT-14"
  }, {
    "name" : "( GMT 2:00 ) GMT+02:00( Etc/GMT-2 )",
    "id" : "Etc/GMT-2"
  }, {
    "name" : "( GMT 3:00 ) GMT+03:00( Etc/GMT-3 )",
    "id" : "Etc/GMT-3"
  }, {
    "name" : "( GMT 4:00 ) GMT+04:00( Etc/GMT-4 )",
    "id" : "Etc/GMT-4"
  }, {
    "name" : "( GMT 5:00 ) GMT+05:00( Etc/GMT-5 )",
    "id" : "Etc/GMT-5"
  }, {
    "name" : "( GMT 6:00 ) GMT+06:00( Etc/GMT-6 )",
    "id" : "Etc/GMT-6"
  }, {
    "name" : "( GMT 7:00 ) GMT+07:00( Etc/GMT-7 )",
    "id" : "Etc/GMT-7"
  }, {
    "name" : "( GMT 8:00 ) GMT+08:00( Etc/GMT-8 )",
    "id" : "Etc/GMT-8"
  }, {
    "name" : "( GMT 9:00 ) GMT+09:00( Etc/GMT-9 )",
    "id" : "Etc/GMT-9"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Etc/GMT0 )",
    "id" : "Etc/GMT0"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Etc/Greenwich )",
    "id" : "Etc/Greenwich"
  }, {
    "name" : "( GMT 0:00 ) Coordinated Universal Time( Etc/UCT )",
    "id" : "Etc/UCT"
  }, {
    "name" : "( GMT 0:00 ) Coordinated Universal Time( Etc/UTC )",
    "id" : "Etc/UTC"
  }, {
    "name" : "( GMT 0:00 ) Coordinated Universal Time( Etc/Universal )",
    "id" : "Etc/Universal"
  }, {
    "name" : "( GMT 0:00 ) Coordinated Universal Time( Etc/Zulu )",
    "id" : "Etc/Zulu"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Amsterdam )",
    "id" : "Europe/Amsterdam"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Andorra )",
    "id" : "Europe/Andorra"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Europe/Athens )",
    "id" : "Europe/Athens"
  }, {
    "name" : "( GMT 1:00 ) British Summer Time( Europe/Belfast )",
    "id" : "Europe/Belfast"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Belgrade )",
    "id" : "Europe/Belgrade"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Berlin )",
    "id" : "Europe/Berlin"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Bratislava )",
    "id" : "Europe/Bratislava"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Brussels )",
    "id" : "Europe/Brussels"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Europe/Bucharest )",
    "id" : "Europe/Bucharest"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Budapest )",
    "id" : "Europe/Budapest"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Busingen )",
    "id" : "Europe/Busingen"
  }, {
    "name" : "( GMT 3:00 ) Eastern European Summer Time( Europe/Chisinau )",
    "id" : "Europe/Chisinau"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Copenhagen )",
    "id" : "Europe/Copenhagen"
  }, {
    "name" : "( GMT 1:00 ) Irish Summer Time( Europe/Dublin )",
    "id" : "Europe/Dublin"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Gibraltar )",
    "id" : "Europe/Gibraltar"
  }, {
    "name" : "( GMT 1:00 ) British Summer Time( Europe/Guernsey )",
    "id" : "Europe/Guernsey"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Europe/Helsinki )",
    "id" : "Europe/Helsinki"
  }, {
    "name" : "( GMT 1:00 ) British Summer Time( Europe/Isle_of_Man )",
    "id" : "Europe/Isle_of_Man"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Europe/Istanbul )",
    "id" : "Europe/Istanbul"
  }, {
    "name" : "( GMT 1:00 ) British Summer Time( Europe/Jersey )",
    "id" : "Europe/Jersey"
  }, {
    "name" : "( GMT 3:00 ) Eastern European Time( Europe/Kaliningrad )",
    "id" : "Europe/Kaliningrad"
  }, {
    "name" : "( GMT 3:00 ) Eastern European Summer Time( Europe/Kiev )",
    "id" : "Europe/Kiev"
  }, {
    "name" : "( GMT 1:00 ) Western European Summer Time( Europe/Lisbon )",
    "id" : "Europe/Lisbon"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Ljubljana )",
    "id" : "Europe/Ljubljana"
  }, {
    "name" : "( GMT 1:00 ) British Summer Time( Europe/London )",
    "id" : "Europe/London"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Luxembourg )",
    "id" : "Europe/Luxembourg"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Madrid )",
    "id" : "Europe/Madrid"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Malta )",
    "id" : "Europe/Malta"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Europe/Mariehamn )",
    "id" : "Europe/Mariehamn"
  }, {
    "name" : "( GMT 3:00 ) Moscow Standard Time( Europe/Minsk )",
    "id" : "Europe/Minsk"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Monaco )",
    "id" : "Europe/Monaco"
  }, {
    "name" : "( GMT 3:00 ) Moscow Standard Time( Europe/Moscow )",
    "id" : "Europe/Moscow"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Europe/Nicosia )",
    "id" : "Europe/Nicosia"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Oslo )",
    "id" : "Europe/Oslo"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Paris )",
    "id" : "Europe/Paris"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Podgorica )",
    "id" : "Europe/Podgorica"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Prague )",
    "id" : "Europe/Prague"
  }, {
    "name" : "( GMT 3:00 ) Eastern European Summer Time( Europe/Riga )",
    "id" : "Europe/Riga"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Rome )",
    "id" : "Europe/Rome"
  }, {
    "name" : "( GMT 4:00 ) Samara Time( Europe/Samara )",
    "id" : "Europe/Samara"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/San_Marino )",
    "id" : "Europe/San_Marino"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Sarajevo )",
    "id" : "Europe/Sarajevo"
  }, {
    "name" : "( GMT 3:00 ) Moscow Standard Time( Europe/Simferopol )",
    "id" : "Europe/Simferopol"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Skopje )",
    "id" : "Europe/Skopje"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Europe/Sofia )",
    "id" : "Europe/Sofia"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Stockholm )",
    "id" : "Europe/Stockholm"
  }, {
    "name" : "( GMT 3:00 ) Eastern European Summer Time( Europe/Tallinn )",
    "id" : "Europe/Tallinn"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Tirane )",
    "id" : "Europe/Tirane"
  }, {
    "name" : "( GMT 3:00 ) Eastern European Summer Time( Europe/Tiraspol )",
    "id" : "Europe/Tiraspol"
  }, {
    "name" : "( GMT 3:00 ) Eastern European Summer Time( Europe/Uzhgorod )",
    "id" : "Europe/Uzhgorod"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Vaduz )",
    "id" : "Europe/Vaduz"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Vatican )",
    "id" : "Europe/Vatican"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Vienna )",
    "id" : "Europe/Vienna"
  }, {
    "name" : "( GMT 3:00 ) Eastern European Summer Time( Europe/Vilnius )",
    "id" : "Europe/Vilnius"
  }, {
    "name" : "( GMT 4:00 ) Moscow Standard Time( Europe/Volgograd )",
    "id" : "Europe/Volgograd"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Warsaw )",
    "id" : "Europe/Warsaw"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Zagreb )",
    "id" : "Europe/Zagreb"
  }, {
    "name" : "( GMT 3:00 ) Eastern European Summer Time( Europe/Zaporozhye )",
    "id" : "Europe/Zaporozhye"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Europe/Zurich )",
    "id" : "Europe/Zurich"
  }, {
    "name" : "( GMT 1:00 ) British Summer Time( GB )",
    "id" : "GB"
  }, {
    "name" : "( GMT 1:00 ) British Summer Time( GB-Eire )",
    "id" : "GB-Eire"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( GMT )",
    "id" : "GMT"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( GMT0 )",
    "id" : "GMT0"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Greenwich )",
    "id" : "Greenwich"
  }, {
    "name" : "( GMT 8:00 ) Hong Kong Time( Hongkong )",
    "id" : "Hongkong"
  }, {
    "name" : "( GMT 0:00 ) Greenwich Mean Time( Iceland )",
    "id" : "Iceland"
  }, {
    "name" : "( GMT 3:00 ) Eastern African Time( Indian/Antananarivo )",
    "id" : "Indian/Antananarivo"
  }, {
    "name" : "( GMT 5:00 ) Indian Ocean Territory Time( Indian/Chagos )",
    "id" : "Indian/Chagos"
  }, {
    "name" : "( GMT 7:00 ) Christmas Island Time( Indian/Christmas )",
    "id" : "Indian/Christmas"
  }, {
    "name" : "( GMT 6:30 ) Cocos Islands Time( Indian/Cocos )",
    "id" : "Indian/Cocos"
  }, {
    "name" : "( GMT 3:00 ) Eastern African Time( Indian/Comoro )",
    "id" : "Indian/Comoro"
  }, {
    "name" : "( GMT 5:00 ) French Southern & Antarctic Lands Time( Indian/Kerguelen )",
    "id" : "Indian/Kerguelen"
  }, {
    "name" : "( GMT 4:00 ) Seychelles Time( Indian/Mahe )",
    "id" : "Indian/Mahe"
  }, {
    "name" : "( GMT 5:00 ) Maldives Time( Indian/Maldives )",
    "id" : "Indian/Maldives"
  }, {
    "name" : "( GMT 4:00 ) Mauritius Time( Indian/Mauritius )",
    "id" : "Indian/Mauritius"
  }, {
    "name" : "( GMT 3:00 ) Eastern African Time( Indian/Mayotte )",
    "id" : "Indian/Mayotte"
  }, {
    "name" : "( GMT 4:00 ) Reunion Time( Indian/Reunion )",
    "id" : "Indian/Reunion"
  }, {
    "name" : "( GMT 3:30 ) Iran Daylight Time( Iran )",
    "id" : "Iran"
  }, {
    "name" : "( GMT 2:00 ) Israel Daylight Time( Israel )",
    "id" : "Israel"
  }, {
    "name" : "( GMT -5:00 ) Eastern Standard Time( Jamaica )",
    "id" : "Jamaica"
  }, {
    "name" : "( GMT 9:00 ) Japan Standard Time( Japan )",
    "id" : "Japan"
  }, {
    "name" : "( GMT -12:00 ) Marshall Islands Time( Kwajalein )",
    "id" : "Kwajalein"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Time( Libya )",
    "id" : "Libya"
  }, {
    "name" : "( GMT 1:00 ) Middle Europe Summer Time( MET )",
    "id" : "MET"
  }, {
    "name" : "( GMT -7:00 ) Mountain Daylight Time( MST7MDT )",
    "id" : "MST7MDT"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( Mexico/BajaNorte )",
    "id" : "Mexico/BajaNorte"
  }, {
    "name" : "( GMT -8:00 ) Mountain Daylight Time( Mexico/BajaSur )",
    "id" : "Mexico/BajaSur"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( Mexico/General )",
    "id" : "Mexico/General"
  }, {
    "name" : "( GMT 12:00 ) New Zealand Daylight Time( NZ )",
    "id" : "NZ"
  }, {
    "name" : "( GMT 12:45 ) Chatham Daylight Time( NZ-CHAT )",
    "id" : "NZ-CHAT"
  }, {
    "name" : "( GMT -7:00 ) Mountain Daylight Time( Navajo )",
    "id" : "Navajo"
  }, {
    "name" : "( GMT 8:00 ) China Standard Time( PRC )",
    "id" : "PRC"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( PST8PDT )",
    "id" : "PST8PDT"
  }, {
    "name" : "( GMT -11:00 ) West Samoa Daylight Time( Pacific/Apia )",
    "id" : "Pacific/Apia"
  }, {
    "name" : "( GMT 12:00 ) New Zealand Daylight Time( Pacific/Auckland )",
    "id" : "Pacific/Auckland"
  }, {
    "name" : "( GMT 11:00 ) Bougainville Standard Time( Pacific/Bougainville )",
    "id" : "Pacific/Bougainville"
  }, {
    "name" : "( GMT 12:45 ) Chatham Daylight Time( Pacific/Chatham )",
    "id" : "Pacific/Chatham"
  }, {
    "name" : "( GMT 10:00 ) Chuuk Time( Pacific/Chuuk )",
    "id" : "Pacific/Chuuk"
  }, {
    "name" : "( GMT -6:00 ) Easter Is. Time( Pacific/Easter )",
    "id" : "Pacific/Easter"
  }, {
    "name" : "( GMT 11:00 ) Vanuatu Time( Pacific/Efate )",
    "id" : "Pacific/Efate"
  }, {
    "name" : "( GMT -12:00 ) Phoenix Is. Time( Pacific/Enderbury )",
    "id" : "Pacific/Enderbury"
  }, {
    "name" : "( GMT -10:00 ) Tokelau Time( Pacific/Fakaofo )",
    "id" : "Pacific/Fakaofo"
  }, {
    "name" : "( GMT 12:00 ) Fiji Summer Time( Pacific/Fiji )",
    "id" : "Pacific/Fiji"
  }, {
    "name" : "( GMT 12:00 ) Tuvalu Time( Pacific/Funafuti )",
    "id" : "Pacific/Funafuti"
  }, {
    "name" : "( GMT -5:00 ) Galapagos Time( Pacific/Galapagos )",
    "id" : "Pacific/Galapagos"
  }, {
    "name" : "( GMT -9:00 ) Gambier Time( Pacific/Gambier )",
    "id" : "Pacific/Gambier"
  }, {
    "name" : "( GMT 11:00 ) Solomon Is. Time( Pacific/Guadalcanal )",
    "id" : "Pacific/Guadalcanal"
  }, {
    "name" : "( GMT 10:00 ) Chamorro Standard Time( Pacific/Guam )",
    "id" : "Pacific/Guam"
  }, {
    "name" : "( GMT -10:00 ) Hawaii Standard Time( Pacific/Honolulu )",
    "id" : "Pacific/Honolulu"
  }, {
    "name" : "( GMT -10:00 ) Hawaii Standard Time( Pacific/Johnston )",
    "id" : "Pacific/Johnston"
  }, {
    "name" : "( GMT -10:40 ) Line Is. Time( Pacific/Kiritimati )",
    "id" : "Pacific/Kiritimati"
  }, {
    "name" : "( GMT 12:00 ) Kosrae Time( Pacific/Kosrae )",
    "id" : "Pacific/Kosrae"
  }, {
    "name" : "( GMT -12:00 ) Marshall Islands Time( Pacific/Kwajalein )",
    "id" : "Pacific/Kwajalein"
  }, {
    "name" : "( GMT 12:00 ) Marshall Islands Time( Pacific/Majuro )",
    "id" : "Pacific/Majuro"
  }, {
    "name" : "( GMT -9:30 ) Marquesas Time( Pacific/Marquesas )",
    "id" : "Pacific/Marquesas"
  }, {
    "name" : "( GMT -11:00 ) Samoa Standard Time( Pacific/Midway )",
    "id" : "Pacific/Midway"
  }, {
    "name" : "( GMT 11:30 ) Nauru Time( Pacific/Nauru )",
    "id" : "Pacific/Nauru"
  }, {
    "name" : "( GMT -11:30 ) Niue Time( Pacific/Niue )",
    "id" : "Pacific/Niue"
  }, {
    "name" : "( GMT 11:30 ) Norfolk Time( Pacific/Norfolk )",
    "id" : "Pacific/Norfolk"
  }, {
    "name" : "( GMT 11:00 ) New Caledonia Time( Pacific/Noumea )",
    "id" : "Pacific/Noumea"
  }, {
    "name" : "( GMT -11:00 ) Samoa Standard Time( Pacific/Pago_Pago )",
    "id" : "Pacific/Pago_Pago"
  }, {
    "name" : "( GMT 9:00 ) Palau Time( Pacific/Palau )",
    "id" : "Pacific/Palau"
  }, {
    "name" : "( GMT -8:30 ) Pitcairn Standard Time( Pacific/Pitcairn )",
    "id" : "Pacific/Pitcairn"
  }, {
    "name" : "( GMT 11:00 ) Pohnpei Time( Pacific/Pohnpei )",
    "id" : "Pacific/Pohnpei"
  }, {
    "name" : "( GMT 11:00 ) Pohnpei Time( Pacific/Ponape )",
    "id" : "Pacific/Ponape"
  }, {
    "name" : "( GMT 10:00 ) Papua New Guinea Time( Pacific/Port_Moresby )",
    "id" : "Pacific/Port_Moresby"
  }, {
    "name" : "( GMT -10:30 ) Cook Is. Time( Pacific/Rarotonga )",
    "id" : "Pacific/Rarotonga"
  }, {
    "name" : "( GMT 10:00 ) Chamorro Standard Time( Pacific/Saipan )",
    "id" : "Pacific/Saipan"
  }, {
    "name" : "( GMT -11:00 ) Samoa Standard Time( Pacific/Samoa )",
    "id" : "Pacific/Samoa"
  }, {
    "name" : "( GMT -10:00 ) Tahiti Time( Pacific/Tahiti )",
    "id" : "Pacific/Tahiti"
  }, {
    "name" : "( GMT 12:00 ) Gilbert Is. Time( Pacific/Tarawa )",
    "id" : "Pacific/Tarawa"
  }, {
    "name" : "( GMT 13:00 ) Tonga Time( Pacific/Tongatapu )",
    "id" : "Pacific/Tongatapu"
  }, {
    "name" : "( GMT 10:00 ) Chuuk Time( Pacific/Truk )",
    "id" : "Pacific/Truk"
  }, {
    "name" : "( GMT 12:00 ) Wake Time( Pacific/Wake )",
    "id" : "Pacific/Wake"
  }, {
    "name" : "( GMT 12:00 ) Wallis & Futuna Time( Pacific/Wallis )",
    "id" : "Pacific/Wallis"
  }, {
    "name" : "( GMT 10:00 ) Chuuk Time( Pacific/Yap )",
    "id" : "Pacific/Yap"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( Poland )",
    "id" : "Poland"
  }, {
    "name" : "( GMT 1:00 ) Western European Summer Time( Portugal )",
    "id" : "Portugal"
  }, {
    "name" : "( GMT 9:00 ) Korea Standard Time( ROK )",
    "id" : "ROK"
  }, {
    "name" : "( GMT 7:30 ) Singapore Time( Singapore )",
    "id" : "Singapore"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( SystemV/AST4 )",
    "id" : "SystemV/AST4"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Daylight Time( SystemV/AST4ADT )",
    "id" : "SystemV/AST4ADT"
  }, {
    "name" : "( GMT -6:00 ) Central Standard Time( SystemV/CST6 )",
    "id" : "SystemV/CST6"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( SystemV/CST6CDT )",
    "id" : "SystemV/CST6CDT"
  }, {
    "name" : "( GMT -5:00 ) Eastern Standard Time( SystemV/EST5 )",
    "id" : "SystemV/EST5"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( SystemV/EST5EDT )",
    "id" : "SystemV/EST5EDT"
  }, {
    "name" : "( GMT -10:00 ) Hawaii Standard Time( SystemV/HST10 )",
    "id" : "SystemV/HST10"
  }, {
    "name" : "( GMT -7:00 ) Mountain Standard Time( SystemV/MST7 )",
    "id" : "SystemV/MST7"
  }, {
    "name" : "( GMT -7:00 ) Mountain Daylight Time( SystemV/MST7MDT )",
    "id" : "SystemV/MST7MDT"
  }, {
    "name" : "( GMT -8:00 ) Pacific Standard Time( SystemV/PST8 )",
    "id" : "SystemV/PST8"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( SystemV/PST8PDT )",
    "id" : "SystemV/PST8PDT"
  }, {
    "name" : "( GMT -9:00 ) Alaska Standard Time( SystemV/YST9 )",
    "id" : "SystemV/YST9"
  }, {
    "name" : "( GMT -9:00 ) Alaska Daylight Time( SystemV/YST9YDT )",
    "id" : "SystemV/YST9YDT"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Summer Time( Turkey )",
    "id" : "Turkey"
  }, {
    "name" : "( GMT 0:00 ) Coordinated Universal Time( UCT )",
    "id" : "UCT"
  }, {
    "name" : "( GMT -10:00 ) Alaska Daylight Time( US/Alaska )",
    "id" : "US/Alaska"
  }, {
    "name" : "( GMT -11:00 ) Hawaii Daylight Time( US/Aleutian )",
    "id" : "US/Aleutian"
  }, {
    "name" : "( GMT -7:00 ) Mountain Standard Time( US/Arizona )",
    "id" : "US/Arizona"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( US/Central )",
    "id" : "US/Central"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( US/East-Indiana )",
    "id" : "US/East-Indiana"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( US/Eastern )",
    "id" : "US/Eastern"
  }, {
    "name" : "( GMT -10:00 ) Hawaii Standard Time( US/Hawaii )",
    "id" : "US/Hawaii"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( US/Indiana-Starke )",
    "id" : "US/Indiana-Starke"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( US/Michigan )",
    "id" : "US/Michigan"
  }, {
    "name" : "( GMT -7:00 ) Mountain Daylight Time( US/Mountain )",
    "id" : "US/Mountain"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( US/Pacific )",
    "id" : "US/Pacific"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( US/Pacific-New )",
    "id" : "US/Pacific-New"
  }, {
    "name" : "( GMT -11:00 ) Samoa Standard Time( US/Samoa )",
    "id" : "US/Samoa"
  }, {
    "name" : "( GMT 0:00 ) Coordinated Universal Time( UTC )",
    "id" : "UTC"
  }, {
    "name" : "( GMT 0:00 ) Coordinated Universal Time( Universal )",
    "id" : "Universal"
  }, {
    "name" : "( GMT 3:00 ) Moscow Standard Time( W-SU )",
    "id" : "W-SU"
  }, {
    "name" : "( GMT 0:00 ) Western European Summer Time( WET )",
    "id" : "WET"
  }, {
    "name" : "( GMT 0:00 ) Coordinated Universal Time( Zulu )",
    "id" : "Zulu"
  }, {
    "name" : "( GMT -5:00 ) Eastern Standard Time( EST )",
    "id" : "EST"
  }, {
    "name" : "( GMT -10:00 ) Hawaii Standard Time( HST )",
    "id" : "HST"
  }, {
    "name" : "( GMT -7:00 ) Mountain Standard Time( MST )",
    "id" : "MST"
  }, {
    "name" : "( GMT 9:30 ) Australian Central Standard Time (Northern Territory)( ACT )",
    "id" : "ACT"
  }, {
    "name" : "( GMT 10:00 ) Australian Eastern Daylight Time (New South Wales)( AET )",
    "id" : "AET"
  }, {
    "name" : "( GMT -3:00 ) Argentine Time( AGT )",
    "id" : "AGT"
  }, {
    "name" : "( GMT 2:00 ) Eastern European Time( ART )",
    "id" : "ART"
  }, {
    "name" : "( GMT -9:00 ) Alaska Daylight Time( AST )",
    "id" : "AST"
  }, {
    "name" : "( GMT -3:00 ) Brasilia Summer Time( BET )",
    "id" : "BET"
  }, {
    "name" : "( GMT 6:00 ) Bangladesh Time( BST )",
    "id" : "BST"
  }, {
    "name" : "( GMT 2:00 ) Central African Time( CAT )",
    "id" : "CAT"
  }, {
    "name" : "( GMT -3:30 ) Newfoundland Daylight Time( CNT )",
    "id" : "CNT"
  }, {
    "name" : "( GMT -6:00 ) Central Daylight Time( CST )",
    "id" : "CST"
  }, {
    "name" : "( GMT 8:00 ) China Standard Time( CTT )",
    "id" : "CTT"
  }, {
    "name" : "( GMT 3:00 ) Eastern African Time( EAT )",
    "id" : "EAT"
  }, {
    "name" : "( GMT 1:00 ) Central European Summer Time( ECT )",
    "id" : "ECT"
  }, {
    "name" : "( GMT -5:00 ) Eastern Daylight Time( IET )",
    "id" : "IET"
  }, {
    "name" : "( GMT 5:30 ) India Standard Time( IST )",
    "id" : "IST"
  }, {
    "name" : "( GMT 9:00 ) Japan Standard Time( JST )",
    "id" : "JST"
  }, {
    "name" : "( GMT 13:00 ) West Samoa Daylight Time( MIT )",
    "id" : "MIT"
  }, {
    "name" : "( GMT 4:00 ) Armenia Time( NET )",
    "id" : "NET"
  }, {
    "name" : "( GMT 12:00 ) New Zealand Daylight Time( NST )",
    "id" : "NST"
  }, {
    "name" : "( GMT 5:00 ) Pakistan Time( PLT )",
    "id" : "PLT"
  }, {
    "name" : "( GMT -7:00 ) Mountain Standard Time( PNT )",
    "id" : "PNT"
  }, {
    "name" : "( GMT -4:00 ) Atlantic Standard Time( PRT )",
    "id" : "PRT"
  }, {
    "name" : "( GMT -8:00 ) Pacific Daylight Time( PST )",
    "id" : "PST"
  }, {
    "name" : "( GMT 11:00 ) Solomon Is. Time( SST )",
    "id" : "SST"
  }, {
    "name" : "( GMT 7:00 ) Indochina Time( VST )",
    "id" : "VST"
  } ]
}

Modules

Module is a structured compartment used to store, organize, and manage specific types of data allowing businesses to efficiently handle different entities such as tickets, contacts, products, price details etc.

ATTRIBUTES

Attribute Name
Data Type
Description
singularLabel

string

SingularLabel of the module

pluralLabel

string

PluralLabel of the module

description

string

Description of the module

departmentIds

list

IDs of departments associated with the Module

profileIds

list

IDs of profileIds associated with the Module

apiName

string

Unique readonly name of the module

nameField

string

Specifies the name of the primary field of the module. When creating a module, a unique primary field is assigned to that module.

isCustomModule

boolean

Specifies whether the module is a custom module

isDeptSpecific

boolean

Specifies whether the module is department-specific

hasRecycleBin

boolean

Specifies whether the module has a recycle bin feature to store records and attachments deleted from the desk account. If the value is 'true', the deleted records will be moved to the recycle bin, which you can restore if needed. If not, the records will be permanently deleted.

id

Long

The unique id of the module

createdBy

long

Id of the User who created the module

createdTime

timestamp

Specifies the time of creation of the Module

modifiedBy

long

Id of the User who modified the module

modifiedTime

timestamp

Specifies the time at which changes were made to the module

object

Details of user who modified the module

Example

{
  "displayLabel" : "Doctors",
  "modifiedTime" : "2024-04-19T09:35:02.000Z",
  "apiName" : "cm_doctors",
  "modifier" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "nameField" : "name",
  "profileIds" : [ "1000000029530", "1000000029533" ],
  "description" : "Doctor informations",
  "departmentIds" : [ "1000000774623", "1000000025632" ],
  "pluralLabel" : "Doctors",
  "singularLabel" : "Doctor",
  "createdBy" : "1000000000375",
  "isCustomModule" : true,
  "createdTime" : "2024-04-19T09:04:17.000Z",
  "modifiedBy" : "1000000000375",
  "isDeptSpecific" : true,
  "id" : "1000003000001"
}


Create Custom Module

The API creates a Custom Module. Custom Module allows users to organize, store, and manage specific types of data tailored to meet unique business requirements.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
singularLabel

string

required,
max chars : 50

Singular Label of the module

pluralLabel

string

required,
max chars : 50

Plural Label of the module

description

string

optional,
max chars : 200

Description of the module

departmentIds

list

optional

IDs of departments associated with the module

profileIds

list

optional

IDs of profileIds associated with the module

isDeptSpecific

boolean

optional

Specifies whether the module is department-specific. If the key is not provided, it will create an organization-level module.

POST /api/v1/organizationModules

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/organizationModules
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "description" : "Doctor informations", "profileIds" : [ 1000000029530 ], "isDeptSpecific" : true, "pluralLabel" : "Doctors", "departmentIds" : [ 1000000774623, 1000000025632 ], "singularLabel" : "Doctor" }'

Response Example

{
  "displayLabel" : "Doctors",
  "modifiedTime" : "2024-04-19T09:35:02.000Z",
  "apiName" : "cm_doctors",
  "modifier" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "nameField" : "name",
  "profileIds" : [ "1000000029530" ],
  "description" : "Doctor informations",
  "departmentIds" : [ "1000000774623", "1000000025632" ],
  "pluralLabel" : "Doctors",
  "singularLabel" : "Doctor",
  "hasRecycleBin" : true,
  "createdBy" : "1000000000375",
  "isCustomModule" : true,
  "createdTime" : "2024-04-19T09:04:17.000Z",
  "modifiedBy" : "1000000000375",
  "isDeptSpecific" : true,
  "id" : "1000003000001"
}

Edit Custom Module

The API edits a Custom Module.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
singularLabel

string

required,
max chars : 50

Singular Label of the module

pluralLabel

string

required,
max chars : 50

Plural Label of the module

description

string

optional,
max chars : 200

Description of the module

departmentIds

list

required

IDs of departments associated with the module

profileIds

list

required

IDs of profileIds associated with the module

PUT /api/v1/organizationModules/{moduleId}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PUT https://desk.zoho.com/api/v1/organizationModules/1000003000001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "description" : "Doctor informations", "profileIds" : [ 1000000029530, 1000000029533 ], "pluralLabel" : "Doctors", "departmentIds" : [ 1000000774623, 1000000025632 ], "singularLabel" : "Doctor" }'

Response Example

{
  "displayLabel" : "Doctors",
  "modifiedTime" : "2024-04-19T09:35:02.000Z",
  "apiName" : "cm_doctors",
  "modifier" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "nameField" : "name",
  "profileIds" : [ "1000000029530", "1000000029533" ],
  "description" : "Doctor informations",
  "departmentIds" : [ "1000000774623", "1000000025632" ],
  "pluralLabel" : "Doctors",
  "singularLabel" : "Doctor",
  "hasRecycleBin" : true,
  "createdBy" : "1000000000375",
  "isCustomModule" : true,
  "createdTime" : "2024-04-19T09:04:17.000Z",
  "modifiedBy" : "1000000000375",
  "isDeptSpecific" : true,
  "id" : "1000003000001"
}

Get a Module

This API fetches a single Module

Credit: 1 credit/call

GET /api/v1/organizationModules/{moduleId}

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/organizationModules/1000003000001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "displayLabel" : "Doctors",
  "modifiedTime" : "2024-04-19T09:35:02.000Z",
  "apiName" : "cm_doctors",
  "modifier" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "nameField" : "name",
  "profileIds" : [ "1000000029530", "1000000029533" ],
  "description" : "Doctor informations",
  "departmentIds" : [ "1000000774623", "1000000025632" ],
  "pluralLabel" : "Doctors",
  "singularLabel" : "Doctor",
  "hasRecycleBin" : true,
  "createdBy" : "1000000000375",
  "isCustomModule" : true,
  "createdTime" : "2024-04-19T09:04:17.000Z",
  "modifiedBy" : "1000000000375",
  "isDeptSpecific" : true,
  "id" : "1000003000001"
}

Get All Modules

The API fetches all the modules.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
GET /api/v1/organizationModules

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/organizationModules
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "displayLabel" : "Accounts",
    "modifiedTime" : "2000-01-01T00:00:00.000Z",
    "apiName" : "accounts",
    "modifier" : null,
    "nameField" : "accountName",
    "description" : null,
    "pluralLabel" : "Accounts",
    "singularLabel" : "Account",
    "hasRecycleBin" : true,
    "createdBy" : null,
    "isCustomModule" : false,
    "createdTime" : "2000-01-01T00:00:00.000Z",
    "modifiedBy" : null,
    "isDeptSpecific" : false,
    "id" : "1000000000377"
  }, {
    "displayLabel" : "Contacts",
    "modifiedTime" : "2000-01-01T00:00:00.000Z",
    "apiName" : "contacts",
    "modifier" : null,
    "nameField" : "lastName",
    "description" : null,
    "pluralLabel" : "Contacts",
    "singularLabel" : "Contact",
    "hasRecycleBin" : true,
    "createdBy" : null,
    "isCustomModule" : false,
    "createdTime" : "2000-01-01T00:00:00.000Z",
    "modifiedBy" : null,
    "isDeptSpecific" : false,
    "id" : "1000000000379"
  }, {
    "displayLabel" : "Tasks",
    "modifiedTime" : "2000-01-01T00:00:00.000Z",
    "apiName" : "tasks",
    "modifier" : null,
    "nameField" : "subject",
    "description" : null,
    "pluralLabel" : "Tasks",
    "singularLabel" : "Task",
    "hasRecycleBin" : true,
    "createdBy" : null,
    "isCustomModule" : false,
    "createdTime" : "2000-01-01T00:00:00.000Z",
    "modifiedBy" : null,
    "isDeptSpecific" : true,
    "id" : "1000000000383"
  }, {
    "displayLabel" : "Tickets",
    "modifiedTime" : "2000-01-01T00:00:00.000Z",
    "apiName" : "tickets",
    "modifier" : null,
    "nameField" : "subject",
    "description" : null,
    "pluralLabel" : "Tickets",
    "singularLabel" : "Ticket",
    "hasRecycleBin" : true,
    "createdBy" : null,
    "isCustomModule" : false,
    "createdTime" : "2000-01-01T00:00:00.000Z",
    "modifiedBy" : null,
    "isDeptSpecific" : true,
    "id" : "1000000000423"
  }, {
    "displayLabel" : "Contracts",
    "modifiedTime" : "2000-01-01T00:00:00.000Z",
    "apiName" : "contracts",
    "modifier" : null,
    "nameField" : "contractName",
    "description" : null,
    "pluralLabel" : "Contracts",
    "singularLabel" : "Contract",
    "hasRecycleBin" : true,
    "createdBy" : null,
    "isCustomModule" : false,
    "createdTime" : "2000-01-01T00:00:00.000Z",
    "modifiedBy" : null,
    "isDeptSpecific" : true,
    "id" : "1000000000427"
  }, {
    "displayLabel" : "Products",
    "modifiedTime" : "2000-01-01T00:00:00.000Z",
    "apiName" : "products",
    "modifier" : null,
    "nameField" : "productName",
    "description" : null,
    "pluralLabel" : "Products",
    "singularLabel" : "Product",
    "hasRecycleBin" : true,
    "createdBy" : null,
    "isCustomModule" : false,
    "createdTime" : "2000-01-01T00:00:00.000Z",
    "modifiedBy" : null,
    "isDeptSpecific" : false,
    "id" : "1000000000429"
  }, {
    "displayLabel" : "Time Entry",
    "modifiedTime" : "2000-01-01T00:00:00.000Z",
    "apiName" : "timeEntry",
    "modifier" : null,
    "nameField" : "requestChargeType",
    "description" : null,
    "pluralLabel" : "Time Entry",
    "singularLabel" : "Time Entry",
    "hasRecycleBin" : true,
    "createdBy" : null,
    "isCustomModule" : false,
    "createdTime" : "2000-01-01T00:00:00.000Z",
    "modifiedBy" : null,
    "isDeptSpecific" : true,
    "id" : "1000000000431"
  }, {
    "displayLabel" : "Agents",
    "modifiedTime" : "2000-01-01T00:00:00.000Z",
    "apiName" : "agents",
    "modifier" : null,
    "nameField" : "lastName",
    "description" : null,
    "pluralLabel" : "Agents",
    "singularLabel" : "Agent",
    "hasRecycleBin" : false,
    "createdBy" : null,
    "isCustomModule" : false,
    "createdTime" : "2000-01-01T00:00:00.000Z",
    "modifiedBy" : null,
    "isDeptSpecific" : false,
    "id" : "1000000000435"
  }, {
    "displayLabel" : "Events",
    "modifiedTime" : "2000-01-01T00:00:00.000Z",
    "apiName" : "events",
    "modifier" : null,
    "nameField" : "subject",
    "description" : null,
    "pluralLabel" : "Events",
    "singularLabel" : "Event",
    "hasRecycleBin" : true,
    "createdBy" : null,
    "isCustomModule" : false,
    "createdTime" : "2000-01-01T00:00:00.000Z",
    "modifiedBy" : null,
    "isDeptSpecific" : true,
    "id" : "1000000000445"
  }, {
    "displayLabel" : "Calls",
    "modifiedTime" : "2000-01-01T00:00:00.000Z",
    "apiName" : "calls",
    "modifier" : null,
    "nameField" : "subject",
    "description" : null,
    "pluralLabel" : "Calls",
    "singularLabel" : "Call",
    "hasRecycleBin" : true,
    "createdBy" : null,
    "isCustomModule" : false,
    "createdTime" : "2000-01-01T00:00:00.000Z",
    "modifiedBy" : null,
    "isDeptSpecific" : true,
    "id" : "1000000000447"
  }, {
    "displayLabel" : "Doctors",
    "modifiedTime" : "2024-04-19T09:35:02.000Z",
    "apiName" : "cm_doctors",
    "modifier" : {
      "firstName" : "",
      "lastName" : "Kyle",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
      "id" : "4000000000329",
      "email" : "kyle@zylker.com"
    },
    "nameField" : "name",
    "description" : "Doctor informations",
    "pluralLabel" : "Doctors",
    "singularLabel" : "Doctor",
    "hasRecycleBin" : true,
    "createdBy" : "1000000000375",
    "isCustomModule" : true,
    "createdTime" : "2024-04-19T09:04:17.000Z",
    "modifiedBy" : "1000000000375",
    "isDeptSpecific" : true,
    "id" : "1000003000001"
  } ]
}

Get modules accessible to current user profile

The API fetches a list of modules that are accessible to the current user profile.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/myAccessibleModules

OAuth Scope

Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/myAccessibleModules
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modules" : [ {
    "displayLabel" : "Contracts",
    "apiKey" : "contracts",
    "isEnabled" : false,
    "nameField" : null,
    "id" : "1000000000485",
    "pluralLabel" : "Contracts",
    "singularLabel" : "Contract"
  }, {
    "displayLabel" : "Time Entry",
    "apiKey" : "timeEntry",
    "isEnabled" : false,
    "nameField" : null,
    "id" : "1000000000489",
    "pluralLabel" : "Time Entry",
    "singularLabel" : "Time Entry"
  }, {
    "displayLabel" : "Department",
    "apiKey" : "departments",
    "isEnabled" : false,
    "nameField" : null,
    "id" : "1000000000491",
    "pluralLabel" : "Departments",
    "singularLabel" : "Department"
  }, {
    "displayLabel" : "Agents",
    "apiKey" : "agents",
    "isEnabled" : false,
    "nameField" : null,
    "id" : "1000000000493",
    "pluralLabel" : "Agents",
    "singularLabel" : "Agent"
  }, {
    "displayLabel" : "Topics",
    "apiKey" : "category",
    "isEnabled" : false,
    "nameField" : null,
    "id" : "1000000000527",
    "pluralLabel" : "Topics",
    "singularLabel" : "Topic"
  }, {
    "displayLabel" : "Ticketss",
    "apiKey" : "tickets",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000481",
    "pluralLabel" : "Ticketss",
    "singularLabel" : "Ticket"
  }, {
    "displayLabel" : "Reports",
    "apiKey" : "reports",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000463",
    "pluralLabel" : "Reports",
    "singularLabel" : "Report"
  }, {
    "displayLabel" : "Dashboards",
    "apiKey" : "dashboards",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000465",
    "pluralLabel" : "Dashboards",
    "singularLabel" : "Dashboard"
  }, {
    "displayLabel" : "Knowledge Base",
    "apiKey" : "kbCategory",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000483",
    "pluralLabel" : "Articles",
    "singularLabel" : "Article"
  }, {
    "displayLabel" : "Contacts",
    "apiKey" : "contacts",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000461",
    "pluralLabel" : "Contacts",
    "singularLabel" : "Contact"
  }, {
    "displayLabel" : "Products",
    "apiKey" : "products",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000487",
    "pluralLabel" : "Products",
    "singularLabel" : "Product"
  }, {
    "displayLabel" : "Accounts",
    "apiKey" : "accounts",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000459",
    "pluralLabel" : "Accounts",
    "singularLabel" : "Account"
  }, {
    "displayLabel" : "Community",
    "apiKey" : "community",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000533",
    "pluralLabel" : "Community",
    "singularLabel" : "Community"
  }, {
    "displayLabel" : "Social",
    "apiKey" : "social",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000535",
    "pluralLabel" : "Social",
    "singularLabel" : "Social"
  }, {
    "displayLabel" : "Chat",
    "apiKey" : "chat",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000537",
    "pluralLabel" : "Chat",
    "singularLabel" : "Chat"
  }, {
    "displayLabel" : "Activities",
    "apiKey" : "activities",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000471",
    "pluralLabel" : "Activities",
    "singularLabel" : "Activity"
  }, {
    "displayLabel" : "Calls",
    "apiKey" : "calls",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000531",
    "pluralLabel" : "Calls",
    "singularLabel" : "Call"
  }, {
    "displayLabel" : "Tasks",
    "apiKey" : "tasks",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000469",
    "pluralLabel" : "Tasks",
    "singularLabel" : "Task"
  }, {
    "displayLabel" : "Events",
    "apiKey" : "events",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000529",
    "pluralLabel" : "Events",
    "singularLabel" : "Event"
  }, {
    "displayLabel" : "IM",
    "apiKey" : "im",
    "isEnabled" : true,
    "nameField" : null,
    "id" : "1000000000475",
    "pluralLabel" : "IM",
    "singularLabel" : "IM"
  } ]
}

Get modules

The API fetches all the modules available in Zoho Desk.

This API is deprecated, use api/v1/organizationModules api for fetching modules.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/modules

OAuth Scope

Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/modules
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modules" : [ {
    "displayLabel" : "Contracts",
    "apiKey" : "contracts",
    "nameField" : null,
    "id" : "1000000000485",
    "pluralLabel" : "Contracts",
    "singularLabel" : "Contract"
  }, {
    "displayLabel" : "Time Entry",
    "apiKey" : "timeEntry",
    "nameField" : null,
    "id" : "1000000000489",
    "pluralLabel" : "Time Entry",
    "singularLabel" : "Time Entry"
  }, {
    "displayLabel" : "Department",
    "apiKey" : "departments",
    "nameField" : null,
    "id" : "1000000000491",
    "pluralLabel" : "Departments",
    "singularLabel" : "Department"
  }, {
    "displayLabel" : "Agents",
    "apiKey" : "agents",
    "nameField" : null,
    "id" : "1000000000493",
    "pluralLabel" : "Agents",
    "singularLabel" : "Agent"
  }, {
    "displayLabel" : "Topics",
    "apiKey" : "category",
    "nameField" : null,
    "id" : "1000000000527",
    "pluralLabel" : "Topics",
    "singularLabel" : "Topic"
  }, {
    "displayLabel" : "Ticketss",
    "apiKey" : "tickets",
    "nameField" : null,
    "id" : "1000000000481",
    "pluralLabel" : "Ticketss",
    "singularLabel" : "Ticket"
  }, {
    "displayLabel" : "Reports",
    "apiKey" : "reports",
    "nameField" : null,
    "id" : "1000000000463",
    "pluralLabel" : "Reports",
    "singularLabel" : "Report"
  }, {
    "displayLabel" : "Dashboards",
    "apiKey" : "dashboards",
    "nameField" : null,
    "id" : "1000000000465",
    "pluralLabel" : "Dashboards",
    "singularLabel" : "Dashboard"
  }, {
    "displayLabel" : "Knowledge Base",
    "apiKey" : "kbCategory",
    "nameField" : null,
    "id" : "1000000000483",
    "pluralLabel" : "Articles",
    "singularLabel" : "Article"
  }, {
    "displayLabel" : "Contacts",
    "apiKey" : "contacts",
    "nameField" : null,
    "id" : "1000000000461",
    "pluralLabel" : "Contacts",
    "singularLabel" : "Contact"
  }, {
    "displayLabel" : "Products",
    "apiKey" : "products",
    "nameField" : null,
    "id" : "1000000000487",
    "pluralLabel" : "Products",
    "singularLabel" : "Product"
  }, {
    "displayLabel" : "Accounts",
    "apiKey" : "accounts",
    "nameField" : null,
    "id" : "1000000000459",
    "pluralLabel" : "Accounts",
    "singularLabel" : "Account"
  }, {
    "displayLabel" : "Community",
    "apiKey" : "community",
    "nameField" : null,
    "id" : "1000000000533",
    "pluralLabel" : "Community",
    "singularLabel" : "Community"
  }, {
    "displayLabel" : "Social",
    "apiKey" : "social",
    "nameField" : null,
    "id" : "1000000000535",
    "pluralLabel" : "Social",
    "singularLabel" : "Social"
  }, {
    "displayLabel" : "Chat",
    "apiKey" : "chat",
    "nameField" : null,
    "id" : "1000000000537",
    "pluralLabel" : "Chat",
    "singularLabel" : "Chat"
  }, {
    "displayLabel" : "Activities",
    "apiKey" : "activities",
    "nameField" : null,
    "id" : "1000000000471",
    "pluralLabel" : "Activities",
    "singularLabel" : "Activity"
  }, {
    "displayLabel" : "Calls",
    "apiKey" : "calls",
    "nameField" : null,
    "id" : "1000000000531",
    "pluralLabel" : "Calls",
    "singularLabel" : "Call"
  }, {
    "displayLabel" : "Tasks",
    "apiKey" : "tasks",
    "nameField" : null,
    "id" : "1000000000469",
    "pluralLabel" : "Tasks",
    "singularLabel" : "Task"
  }, {
    "displayLabel" : "Events",
    "apiKey" : "events",
    "nameField" : null,
    "id" : "1000000000529",
    "pluralLabel" : "Events",
    "singularLabel" : "Event"
  }, {
    "displayLabel" : "IM",
    "apiKey" : "im",
    "nameField" : null,
    "id" : "1000000000475",
    "pluralLabel" : "IM",
    "singularLabel" : "IM"
  } ]
}

OrganizationFields

Account refers to customer organizations that use your products or services. An account can have multiple contacts.

ATTRIBUTES

Attribute Name
Data Type
Description
isEncryptedField

boolean

Key that returns if the value in the field is encrypted or not. The field types are Text, Number, Percent, Decimal, Email, Phone, URL which supports encryption

displayLabel

string

Name of the field on the UI

name

deprecated

string

Name of the custom field

apiName

string

Unique readonly name of the custom field that can be used to update value of record in api

i18NLabel

string

i18nlabel for the field label

type

string

Data type of the field. Values allowed are Text, Number, Percent, Decimal, Currency, Date, Date Time, Email, Phone, PickList, Website, Textarea, Checkbox, Multiselect, Boolean and LargeText

maxLength

integer

Maximum permissible length of the value in the field. Applicable for Text, Number, Decimal, and Currency fields

decimalPlaces

integer

Number of decimal places the value in a field can take. Applicable for Decimal and Currency fields

roundingPrecision

integer

Precision of the value in the field. Precision refers to the total number of digits in a decimal number. For example, the precision of 30.12 is 4. Applicable for Currency fields

roundingOption

string

Option to round off complex decimal numbers to the nearest whole number or shorter decimal number. Values allowed are roundOff, roundDown, and roundUp. Applicable only for Currency fields

defaultValue

string

Default value set for a field. Applicable for Checkbox fields

showToHelpCenter

boolean

Is this field available in help center

toolTip

string

the tool tip of the field

toolTipType

string

the tool tip of the field

isTrackLastActivityTime

boolean

While enabled tracks the last activity of the particular field

Example

{
  "displayLabel" : "Department",
  "apiName" : "departmentId",
  "isCustomField" : false,
  "showToHelpCenter" : true,
  "isEncryptedField" : false,
  "id" : "4000000000353",
  "type" : "LookUp",
  "maxLength" : 50,
  "isMandatory" : false,
  "properties" : {
    "translatable" : true
  }
}


Get organization fields in a module

This API fetches fields in a module

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
module

String

required

the module name with in which search to be done. Value may be tickets, contacts , accounts ,tasks , calls , events, timeEntry,products, contracts, agents

apiNames

string

optional,
max chars : 100

Key that fetches only the fields whose apiNames are given. Multiple values can be passed, with commas for separation.

departmentId
see documentation

long

optional

Key that fetches only the fields for the given departmentId.

GET /api/v1/organizationFields

OAuth Scope

Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/organizationFields?module=tickets
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "displayLabel" : "Department",
    "apiName" : "departmentId",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000353",
    "type" : "LookUp",
    "maxLength" : 50,
    "isMandatory" : false
  }, {
    "displayLabel" : "Account Name",
    "apiName" : "accountId",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000355",
    "type" : "LookUp",
    "maxLength" : 300,
    "isMandatory" : false
  }, {
    "displayLabel" : "Contact Name",
    "apiName" : "contactId",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000357",
    "type" : "LookUp",
    "maxLength" : 300,
    "isMandatory" : true
  }, {
    "displayLabel" : "Email",
    "apiName" : "email",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000359",
    "type" : "Email",
    "maxLength" : 120,
    "isMandatory" : false
  }, {
    "displayLabel" : "Phone",
    "apiName" : "phone",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000361",
    "type" : "Phone",
    "maxLength" : 120,
    "isMandatory" : false
  }, {
    "displayLabel" : "Subject",
    "apiName" : "subject",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000363",
    "type" : "Text",
    "maxLength" : 255,
    "isMandatory" : true
  }, {
    "displayLabel" : "Description",
    "apiName" : "description",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000365",
    "type" : "Textarea",
    "maxLength" : 1000000,
    "isMandatory" : false
  }, {
    "displayLabel" : "Status",
    "allowedValues" : [ {
      "statusType" : "Open",
      "value" : "Open"
    }, {
      "statusType" : "Open",
      "value" : "Open_july"
    }, {
      "statusType" : "Open",
      "value" : "Open_newDept"
    }, {
      "statusType" : "On Hold",
      "value" : "On Hold"
    }, {
      "statusType" : "Open",
      "value" : "Escalated"
    }, {
      "statusType" : "Closed",
      "value" : "Closed1"
    }, {
      "statusType" : "Open",
      "value" : "Closed"
    }, {
      "statusType" : "Closed",
      "value" : "newDeptClosed"
    }, {
      "statusType" : "Closed",
      "value" : "julyDeptClosed"
    }, {
      "statusType" : "Closed",
      "value" : "julyDeptClosed1"
    } ],
    "apiName" : "status",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000367",
    "type" : "Picklist",
    "maxLength" : 120,
    "isMandatory" : true
  }, {
    "displayLabel" : "Product Name",
    "apiName" : "productId",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000369",
    "type" : "LookUp",
    "maxLength" : 120,
    "isMandatory" : false
  }, {
    "displayLabel" : "Case Owner",
    "apiName" : "assigneeId",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000371",
    "type" : "LookUp",
    "maxLength" : 120,
    "isMandatory" : false
  }, {
    "displayLabel" : "Category",
    "allowedValues" : [ {
      "value" : "General"
    }, {
      "value" : "Defects"
    }, {
      "value" : "ManojKumar"
    } ],
    "apiName" : "category",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000421",
    "type" : "Picklist",
    "maxLength" : 120,
    "isMandatory" : false
  }, {
    "displayLabel" : "Sub Category",
    "allowedValues" : [ {
      "value" : "Sub General"
    }, {
      "value" : "Sub Defects"
    }, {
      "value" : "Sub Defects1235"
    } ],
    "apiName" : "subCategory",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000423",
    "type" : "Picklist",
    "maxLength" : 120,
    "isMandatory" : false
  }, {
    "displayLabel" : "Due Date",
    "apiName" : "dueDate",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000405",
    "type" : "DateTime",
    "maxLength" : 300,
    "isMandatory" : false
  }, {
    "displayLabel" : "Priority",
    "allowedValues" : [ {
      "value" : "-None-"
    }, {
      "value" : "High"
    }, {
      "value" : "Medium"
    }, {
      "value" : "Low"
    } ],
    "apiName" : "priority",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000407",
    "type" : "Picklist",
    "maxLength" : 120,
    "isMandatory" : false
  }, {
    "displayLabel" : "Mode",
    "allowedValues" : [ {
      "value" : "Phone"
    }, {
      "value" : "Email"
    }, {
      "value" : "Web"
    }, {
      "value" : "Twitter"
    }, {
      "value" : "Facebook"
    }, {
      "value" : "Chat"
    }, {
      "value" : "Forums"
    }, {
      "value" : "Feedback Widget"
    } ],
    "apiName" : "channel",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000409",
    "type" : "Picklist",
    "maxLength" : 120,
    "isMandatory" : false
  }, {
    "displayLabel" : "Is Overdue",
    "apiName" : "Is Overdue",
    "isCustomField" : false,
    "defaultValue" : "true",
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000411",
    "type" : "Boolean",
    "maxLength" : 50,
    "isMandatory" : false
  }, {
    "displayLabel" : "Is Escalated",
    "apiName" : "Is Escalated",
    "isCustomField" : false,
    "defaultValue" : "true",
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000413",
    "type" : "Boolean",
    "maxLength" : 50,
    "isMandatory" : false
  }, {
    "displayLabel" : "Classification",
    "allowedValues" : [ {
      "value" : "-None-"
    }, {
      "value" : "Question"
    }, {
      "value" : "Problem"
    }, {
      "value" : "Feature"
    }, {
      "value" : "Others"
    } ],
    "apiName" : "classification",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000415",
    "type" : "Picklist",
    "maxLength" : 120,
    "isMandatory" : false
  }, {
    "displayLabel" : "Resolution",
    "apiName" : "resolution",
    "isCustomField" : false,
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "id" : "4000000000417",
    "type" : "Textarea",
    "maxLength" : 1000000,
    "isMandatory" : false
  }, {
    "displayLabel" : "Sample Text Field",
    "apiName" : "cf_sample_text_field",
    "isCustomField" : false,
    "toolTipType" : "placeHolder",
    "showToHelpCenter" : true,
    "isEncryptedField" : false,
    "toolTip" : "Sample Text Field",
    "id" : "4000000000447",
    "type" : "Textarea",
    "maxLength" : 1000000,
    "isMandatory" : false
  }, {
    "displayLabel" : "Large Text Field",
    "apiName" : "cf_large_text_field",
    "isCustomField" : true,
    "i18NLabel" : "Large Text Field",
    "name" : "LargeText field",
    "isEncryptedField" : false,
    "id" : "4000000000449",
    "type" : "LargeText",
    "maxLength" : 16000000,
    "isMandatory" : false,
    "properties" : {
      "translatable" : true
    }
  } ]
}

Create Field

This API creates a field

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
module

String

required

Name of the module whose fields must be fetched. Values allowed are tickets, contacts, accounts, tasks, timeEntry, products , calls , events, and contracts.

Attributes

Param Name
Data Type
Description
isEncryptedField

boolean

optional

Key that returns if the value in the field is encrypted or not. The field types are Text, Number, Percent, Decimal, Email, Phone, URL which supports encryption

displayLabel

string

required,
max chars : 250

Name of the field on the UI

name
deprecated

string

optional,
max chars : 250

Name of the custom field

type

string

required,
max chars : 100

Data type of the field. Values allowed are Text, Number, Percent, Decimal, Currency, Date, Date Time, Email, Phone, PickList, Website, Textarea, Checkbox, Multiselect, Boolean and LargeText

maxLength

integer

optional

Maximum permissible length of the value in the field. Applicable for Text, Number, Decimal, and Currency fields

decimalPlaces

integer

optional

Number of decimal places the value in a field can take. Applicable for Decimal and Currency fields

roundingPrecision

integer

optional

Precision of the value in the field. Precision refers to the total number of digits in a decimal number. For example, the precision of 30.12 is 4. Applicable for Currency fields

roundingOption

string

optional,
max chars : 120

Option to round off complex decimal numbers to the nearest whole number or shorter decimal number. Values allowed are roundOff, roundDown, and roundUp. Applicable only for Currency fields

defaultValue

string

optional,
max chars : 120

Default value set for a field. Applicable for Checkbox fields

toolTip

string

optional,
max chars : 200

the tool tip of the field

toolTipType

string

optional,
max chars : 200

the tool tip of the field

isTrackLastActivityTime

boolean

optional

While enabled tracks the last activity of the particular field

POST /api/v1/organizationFields

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/organizationFields?module=tickets
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "displayLabel" : "Sample Text Field", "toolTipType" : "placeHolder", "showToHelpCenter" : true, "isEncryptedField" : true, "toolTip" : "Sample Text Field", "type" : "Text", "maxLength" : "50" }'

Response Example

{
  "displayLabel" : "Sample Text Field",
  "apiName" : "cf_sample_text_field",
  "isCustomField" : true,
  "toolTipType" : "placeHolder",
  "showToHelpCenter" : true,
  "isEncryptedField" : true,
  "toolTip" : "Sample Text Field",
  "id" : "4000000049001",
  "type" : "Text",
  "maxLength" : 50,
  "isMandatory" : false
}

Edit Field

This API edits a field

Credit: 1 credit/record

Attributes

Param Name
Data Type
Description
isEncryptedField

boolean

optional

Key that returns if the value in the field is encrypted or not. The field types are Text, Number, Percent, Decimal, Email, Phone, URL which supports encryption

displayLabel

string

optional,
max chars : 250

Name of the field on the UI

name
deprecated

string

optional,
max chars : 250

Name of the custom field

type

string

optional,
max chars : 100

Data type of the field. Values allowed are Text, Number, Percent, Decimal, Currency, Date, Date Time, Email, Phone, PickList, Website, Textarea, Checkbox, Multiselect, Boolean and LargeText

maxLength

integer

optional

Maximum permissible length of the value in the field. Applicable for Text, Number, Decimal, and Currency fields

decimalPlaces

integer

optional

Number of decimal places the value in a field can take. Applicable for Decimal and Currency fields

roundingPrecision

integer

optional

Precision of the value in the field. Precision refers to the total number of digits in a decimal number. For example, the precision of 30.12 is 4. Applicable for Currency fields

roundingOption

string

optional,
max chars : 120

Option to round off complex decimal numbers to the nearest whole number or shorter decimal number. Values allowed are roundOff, roundDown, and roundUp. Applicable only for Currency fields

defaultValue

string

optional,
max chars : 120

Default value set for a field. Applicable for Checkbox fields

toolTip

string

optional,
max chars : 200

the tool tip of the field

toolTipType

string

optional,
max chars : 200

the tool tip of the field

isTrackLastActivityTime

boolean

optional

While enabled tracks the last activity of the particular field

PATCH /api/v1/organizationFields/{field_id}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/organizationFields/4000000049001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "displayLabel" : "Sample Text Field", "toolTipType" : "placeHolder", "showToHelpCenter" : false, "toolTip" : "Sample Text Field", "type" : "Text", "maxLength" : "40" }'

Response Example

{
  "displayLabel" : "Sample Text Field",
  "apiName" : "cf_sample_text_field",
  "isCustomField" : true,
  "toolTipType" : "placeHolder",
  "showToHelpCenter" : false,
  "isEncryptedField" : true,
  "toolTip" : "Sample Text Field",
  "id" : "4000000049001",
  "type" : "Text",
  "maxLength" : 40,
  "isMandatory" : false
}

Get Field

This API get a field

Credit: 1 credit/call

GET /api/v1/organizationFields/{field_id}

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/organizationFields/4000000049001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "displayLabel" : "Sample Text Field",
  "apiName" : "cf_sample_text_field",
  "isCustomField" : true,
  "toolTipType" : "placeHolder",
  "showToHelpCenter" : false,
  "isEncryptedField" : true,
  "toolTip" : "Sample Text Field",
  "id" : "4000000049001",
  "type" : "Text",
  "maxLength" : 40,
  "isMandatory" : false
}

Get Field Permissions

This API get a field permissions for all the profiles

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/organizationFields/{field_id}/permissions

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/organizationFields/4000000049001/permissions
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "profileName" : "Administrator",
    "isReadOnly" : false,
    "profileId" : "4000000012339",
    "isInVisibleAccess" : false,
    "isReadAccess" : false,
    "isInVisible" : false,
    "isWriteOnly" : true,
    "isWriteAccess" : true,
    "isCustomProfile" : false
  }, {
    "profileName" : "Standard",
    "isReadOnly" : false,
    "profileId" : "4000000012342",
    "isInVisibleAccess" : false,
    "isReadAccess" : false,
    "isInVisible" : false,
    "isWriteOnly" : true,
    "isWriteAccess" : true,
    "isCustomProfile" : false
  }, {
    "profileName" : "Supervisor",
    "isReadOnly" : false,
    "profileId" : "4000000012348",
    "isInVisibleAccess" : false,
    "isReadAccess" : false,
    "isInVisible" : false,
    "isWriteOnly" : true,
    "isWriteAccess" : true,
    "isCustomProfile" : false
  }, {
    "profileName" : "Support Manager",
    "isReadOnly" : false,
    "profileId" : "4000000012351",
    "isInVisibleAccess" : false,
    "isReadAccess" : false,
    "isInVisible" : false,
    "isWriteOnly" : true,
    "isWriteAccess" : true,
    "isCustomProfile" : false
  }, {
    "profileName" : "Newbie Agent",
    "isReadOnly" : false,
    "profileId" : "4000000012354",
    "isInVisibleAccess" : false,
    "isReadAccess" : false,
    "isInVisible" : false,
    "isWriteOnly" : true,
    "isWriteAccess" : true,
    "isCustomProfile" : false
  }, {
    "profileName" : "Light Agent",
    "isReadOnly" : false,
    "profileId" : "4000000012357",
    "isInVisibleAccess" : false,
    "isReadAccess" : false,
    "isInVisible" : false,
    "isWriteOnly" : true,
    "isWriteAccess" : true,
    "isCustomProfile" : false
  } ]
}

Update Field Permissions

This API update field permissions

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
profiles

list

optional

null

PATCH /api/v1/organizationFields/{field_id}/permissions

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/organizationFields/4000000049001/permissions
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "profiles" : [ { "isReadOnly" : false, "profileId" : "4000000012339", "isWriteOnly" : true }, { "isReadOnly" : false, "profileId" : "4000000012342", "isWriteOnly" : true }, { "isReadOnly" : false, "profileId" : "4000000012348", "isWriteOnly" : true }, { "isReadOnly" : false, "profileId" : "4000000012351", "isWriteOnly" : true }, { "isReadOnly" : false, "profileId" : "4000000012354", "isWriteOnly" : true }, { "isReadOnly" : false, "profileId" : "4000000012357", "isWriteOnly" : true } ] }'

Response Example

{
  "data" : [ {
    "profileName" : "Administrator",
    "isReadOnly" : false,
    "profileId" : "4000000012339",
    "isInVisibleAccess" : false,
    "isReadAccess" : false,
    "isInVisible" : false,
    "isWriteOnly" : true,
    "isWriteAccess" : true,
    "isCustomProfile" : false
  }, {
    "profileName" : "Standard",
    "isReadOnly" : false,
    "profileId" : "4000000012342",
    "isInVisibleAccess" : false,
    "isReadAccess" : false,
    "isInVisible" : false,
    "isWriteOnly" : true,
    "isWriteAccess" : true,
    "isCustomProfile" : false
  }, {
    "profileName" : "Supervisor",
    "isReadOnly" : false,
    "profileId" : "4000000012348",
    "isInVisibleAccess" : false,
    "isReadAccess" : false,
    "isInVisible" : false,
    "isWriteOnly" : true,
    "isWriteAccess" : true,
    "isCustomProfile" : false
  }, {
    "profileName" : "Support Manager",
    "isReadOnly" : false,
    "profileId" : "4000000012351",
    "isInVisibleAccess" : false,
    "isReadAccess" : false,
    "isInVisible" : false,
    "isWriteOnly" : true,
    "isWriteAccess" : true,
    "isCustomProfile" : false
  }, {
    "profileName" : "Newbie Agent",
    "isReadOnly" : false,
    "profileId" : "4000000012354",
    "isInVisibleAccess" : false,
    "isReadAccess" : false,
    "isInVisible" : false,
    "isWriteOnly" : true,
    "isWriteAccess" : true,
    "isCustomProfile" : false
  }, {
    "profileName" : "Light Agent",
    "isReadOnly" : false,
    "profileId" : "4000000012357",
    "isInVisibleAccess" : false,
    "isReadAccess" : false,
    "isInVisible" : false,
    "isWriteOnly" : true,
    "isWriteAccess" : true,
    "isCustomProfile" : false
  } ]
}

Delete Field

This API delete a custom field

Credit: 500 credits/call

DELETE /api/v1/organizationFields/{field_id}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/organizationFields/4000000049001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Get organization custom fields count in a module

This API returns the custom field count allowed and available in a module.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
module

String

required

Name of the module whose allowed and available custom fields must be fetched. Values allowed are tickets, contacts, accounts, tasks, calls, events, timeEntry, products, and contracts.

departmentId
see documentation

long

optional

ID of the department in which the layout is configured.

GET /api/v1/customFieldCount

OAuth Scope

Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/customFieldCount?module=tickets
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "customFieldCounts" : [ {
    "types" : [ "Text", "PickList", "Email", "Phone", "Website" ],
    "maximumLimit" : 100,
    "available" : 100,
    "type" : "Varchar"
  }, {
    "types" : [ "Textarea", "Multiselect" ],
    "maximumLimit" : 30,
    "available" : 30,
    "type" : "Text"
  }, {
    "types" : [ "Number" ],
    "maximumLimit" : 20,
    "available" : 20,
    "type" : "Integer"
  }, {
    "types" : [ "Percent", "Decimal", "Currency" ],
    "maximumLimit" : 20,
    "available" : 20,
    "type" : "Double"
  }, {
    "types" : [ "Date" ],
    "maximumLimit" : 20,
    "available" : 20,
    "type" : "Date"
  }, {
    "types" : [ "DateTime" ],
    "maximumLimit" : 20,
    "available" : 20,
    "type" : "DateTime"
  }, {
    "types" : [ "Checkbox" ],
    "maximumLimit" : 20,
    "available" : 20,
    "type" : "Boolean"
  }, {
    "types" : [ "Text", "Website", "Email", "Number", "Phone", "Percent", "Decimal" ],
    "maximumLimit" : 10,
    "available" : 10,
    "type" : "DESK_SEARCHABLE_CTEXT_OEK"
  }, {
    "maximumLimit" : 10,
    "available" : 10,
    "type" : "Formula"
  } ],
  "totalAvailableCount" : 230
}

Get organization custom fields criteria references

This API fetches criteria references of a custom field

Credit: 1 credit/record

Query Params

Param Name
Data Type
Description
featureType

String

required

Feature name from which criteria references has to be fetched - DirectAssignment, RoundRobin, WorkFlow, SLA, Supervise, BluePrint, CustomView, Report, GameTrophy, GameBadge, LayoutRules, ValidationRules

from

integer

required,
default : 0,
range : >=0

Index number, starting from which the rules must be listed

limit

integer

required,
default : 50,
range : 1-50

Number of references to fetch

GET /api/v1/organizationFields/{field_id}/criteriaReferences

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://support.zoho.com/api/v1/organizationFields/4000000049001/criteriaReferences?featureType=DirectAssignment&from=0&limit30
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "DirectAssignment" : [ {
    "encryptedId" : "c50bd2066db398caace9491e3010e657",
    "name" : "DA Rule1",
    "id" : 21000000057136
  }, {
    "encryptedId" : "c50bd2066db398caace9491e789a5cb3",
    "name" : "DA Rule2",
    "id" : 21000000067146
  } ]
}

Records

A record represents a complete set of information associated with a particular entity or object stored within a module. Once a module is created, records can be created for that module. For example, within a doctor module, a list of doctors can be created, with each doctor being a distinct record within that module.

ATTRIBUTES

Attribute Name
Data Type
Description
name

string

The primary field of the Module for the record

object

The layout of the record

object

The owner of the record

cf

object

The custom fields associated with the Module for the record

department

object

Department associated with the record

id

Long

The unique ID of the record

isPresence

boolean

Specifies whether the record is trashed. The value will be 'false' for records that are in recyclebin.

modifiedBy

object

The user who modified the record

modifiedTime

timestamp

Specifies the time at which changes were made to the record

createdBy

object

The User who created the record

createdTime

timestamp

Specifies the time of creation of the record

Example

{
  "layout" : {
    "id" : "1000003000004",
    "layoutName" : "Standard - Department1"
  },
  "owner" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "modifiedTime" : "2024-04-22T13:55:53.000Z",
  "cf" : {
    "cf_doctor_description" : "Doctor 1 description"
  },
  "createdBy" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "name" : "Doctor 1",
  "createdTime" : "2024-04-22T13:55:53.000Z",
  "modifiedBy" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "isPresence" : true,
  "id" : "1000003019049",
  "department" : {
    "departmentName" : "Department1",
    "id" : "1000000025632"
  }
}


Create a Record

This API creates a record for a module.

Call the Organization field API: Call the Organization field API to get the required field information in the custom module.

Collect the field API names: Extract the API names you want to include in your record from the response of the Organization field API. These API names will be used to specify the field values when creating the record.

Pass the field information to the Record API: Make a request to the Record API, providing the field API names and their corresponding values to create the record.

A sample record creation request is provided on the right side for reference.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

string

required

The primary field of the Module for the record

layout

jsonObject

optional

Layout of the record

department

jsonObject

optional

Department of the record

Note: This key is mandatory if the module is a department-specific module

owner

jsonObject

optional

The owner of the record

cf

jsonObject

optional

Custom fields associated with the record

POST /api/v1/{moduleApiName}

OAuth Scope

Desk.custommodule.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/cm_doctors
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "layout" : { "id" : "1000003000004" }, "owner" : { "id" : "1000000000375" }, "cf" : { "cf_doctor_description" : "Doctor 1 description" }, "name" : "Doctor 1", "department" : { "id" : "1000000025632" } }'

Response Example

{
  "layout" : {
    "id" : "1000003000004",
    "layoutName" : "Standard - Department1"
  },
  "owner" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "modifiedTime" : "2024-04-22T13:55:53.000Z",
  "cf" : {
    "cf_doctor_description" : "Doctor 1 description"
  },
  "createdBy" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "name" : "Doctor 1",
  "createdTime" : "2024-04-22T13:55:53.000Z",
  "modifiedBy" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "isPresence" : true,
  "id" : "1000003019049",
  "department" : {
    "departmentName" : "Department1",
    "id" : "1000000025632"
  }
}

Update a Record

This API Edits a record for a module.

Call the Organization field API: Call the Organization field API to get the required field information in the custom module.

Collect the field API names: Extract the API names you want to include in your record from the response of the Organization field API. These API names will be used to specify the field values when updating the record.

Pass the field information to the Record API: Make a request to the Record API, providing the field API names and their corresponding values to update the record.

A sample record update request is provided on the right side for reference.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

string

required

The primary field of the Module for the record

layout

jsonObject

optional

Layout of the record

owner

jsonObject

optional

The owner of the record

cf

jsonObject

optional

Custom fields associated with the record

PATCH /api/v1/{moduleApiName}/{entityId}

OAuth Scope

Desk.custommodule.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/cm_doctors/1000003019049
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "layout" : { "id" : "1000003000004" }, "owner" : { "id" : "1000000000375" }, "cf" : { "cf_doctor_description" : "Doctor 1 description change" }, "name" : "Doctor 1", "department" : { "id" : "1000000025632" } }'

Response Example

{
  "layout" : {
    "id" : "1000003000004",
    "layoutName" : "Standard - Department1"
  },
  "owner" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "modifiedTime" : "2024-04-22T14:09:41.000Z",
  "cf" : {
    "cf_doctor_description" : "Doctor 1 description change"
  },
  "createdBy" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "name" : "Doctor 1",
  "createdTime" : "2024-04-22T13:55:53.000Z",
  "modifiedBy" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "isPresence" : true,
  "id" : "1000003019049",
  "department" : {
    "departmentName" : "Department1",
    "id" : "1000000025632"
  }
}

Get a Record

This API fetches a single record.

Credit: 1 credit/call

GET /api/v1/{moduleApiName}/{entityId}

OAuth Scope

Desk.custommodule.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/cm_doctors/1000003019049
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "layout" : {
    "id" : "1000003000004",
    "layoutName" : "Standard - Department1"
  },
  "owner" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "modifiedTime" : "2024-04-22T14:09:41.000Z",
  "cf" : {
    "cf_doctor_description" : "Doctor 1 description change"
  },
  "createdBy" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "name" : "Doctor 1",
  "createdTime" : "2024-04-22T13:55:53.000Z",
  "modifiedBy" : {
    "firstName" : "",
    "lastName" : "Kyle",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
    "id" : "4000000000329",
    "email" : "kyle@zylker.com"
  },
  "isPresence" : true,
  "id" : "1000003019049",
  "department" : {
    "departmentName" : "Department1",
    "id" : "1000000025632"
  }
}

Get Records

This API lists a particular number of records, based on the limit specified.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
viewId

long

optional

The ID of the view from which records need to be fetched.

from

integer

optional,
default : 0

The starting index number from where the records should be fetched.

limit

integer

optional,
default : 50,
range : 1-50

The number of records that need to be fetched.

sortBy

string

optional,
max chars : 100

Sort by a specific attribute. The allowed values are createdTime or modifiedTime. Note: The default sorting order is ascending. A - prefix denotes descending order of sorting.

fields

string

optional,
max chars : 100

Key that returns the values of mentioned fields (both pre-defined and custom). Note: All field types except multi-text are supported. Standard, non-editable fields are supported too. Maximum of 30 fields is supported as comma separated values.

GET /api/v1/{moduleApiName}

OAuth Scope

Desk.custommodule.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/cm_doctors?limit=50&from=1&viewId=1000003000413&sortBy=-createdTime&fields=createdTime,id
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "layout" : {
      "id" : "1000003000004",
      "layoutName" : "Standard - Department1"
    },
    "owner" : {
      "firstName" : "",
      "lastName" : "Kyle",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
      "id" : "4000000000329",
      "email" : "kyle@zylker.com"
    },
    "modifiedTime" : "2024-04-22T14:18:17.000Z",
    "createdBy" : {
      "firstName" : "",
      "lastName" : "Kyle",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
      "id" : "4000000000329",
      "email" : "kyle@zylker.com"
    },
    "name" : "Doctor 2",
    "createdTime" : "2024-04-22T14:18:17.000Z",
    "modifiedBy" : {
      "firstName" : "",
      "lastName" : "Kyle",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
      "id" : "4000000000329",
      "email" : "kyle@zylker.com"
    },
    "id" : "1000003019058",
    "department" : {
      "departmentName" : "Department1",
      "id" : "1000000025632"
    }
  }, {
    "layout" : {
      "id" : "1000003000004",
      "layoutName" : "Standard - Department1"
    },
    "owner" : {
      "firstName" : "",
      "lastName" : "Kyle",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
      "id" : "4000000000329",
      "email" : "kyle@zylker.com"
    },
    "modifiedTime" : "2024-04-22T14:09:41.000Z",
    "createdBy" : {
      "firstName" : "",
      "lastName" : "Kyle",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
      "id" : "4000000000329",
      "email" : "kyle@zylker.com"
    },
    "name" : "Doctor 1",
    "createdTime" : "2024-04-22T13:55:53.000Z",
    "modifiedBy" : {
      "firstName" : "",
      "lastName" : "Kyle",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000000329/photo?orgId=3981311",
      "id" : "4000000000329",
      "email" : "kyle@zylker.com"
    },
    "id" : "1000003019049",
    "department" : {
      "departmentName" : "Department1",
      "id" : "1000000025632"
    }
  } ]
}

Get record count

This API fetches the number of records.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
viewId

long

required

ID of the view from which the record count needs to be fetched.

GET /api/v1/{moduleApiName}/count

OAuth Scope

Desk.custommodule.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/cm_doctors/count?viewId=1000003000413
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "count" : "2"
}

Move Records To Trash

This API moves records to the Recycle Bin.

Credit: 6 credits/record

Attributes

Param Name
Data Type
Description
recordIds

list

required

IDs of the records to move to the Recycle Bin

POST /api/v1/{moduleApiName}/moveToTrash

OAuth Scope

Desk.custommodule.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/cm_doctors/moveToTrash
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "recordIds" : [ "1000003019001" ] }'

Response Example

{
  "data" : [ {
    "success" : true,
    "id" : "1000003019001",
    "errors" : null
  } ]
}

Update Many records

The API simultaneously updates multiple records.

Credit: 1 credit/2 records

Attributes

Param Name
Data Type
Description
ids

list

required

Array containing the IDs of the records to update. Note: The maximum number of IDs allowed is 50.

fieldName

string

required,
max chars : 320

Name of the fieldĀ to update

fieldValue

string

optional,
max chars : 320

Value in the field

POST /api/v1/{moduleApiName}/updateMany

OAuth Scope

Desk.custommodule.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/cm_doctors/updateMany
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "fieldName" : "cf_doctor_description", "ids" : [ "1000003019070", "1000003019058" ], "fieldValue" : "Doctor description" }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "1000003019058",
    "errors" : null
  }, {
    "success" : true,
    "id" : "1000003019070",
    "errors" : null
  } ]
}

DependencyMappings

Dependency mapping is a function that is applicable only to PickList fields. Through this function, you can define a parent-child relationship between two fields.Ā For example, let's say there are two fields - Country and State - in your Tickets module. The State field will display values, depending on the value you select in the Country field. If you choose India in the Country field, only the states of India will be displayed in the State field and the states of other countries will be hidden. If you choose a different country, only the states of that country will be displayed.Ā 

ATTRIBUTES

Attribute Name
Data Type
Description
layoutId

long

ID of the layout in which the dependency is mapped

parentId

long

ID of the parent field

childId

long

ID of the child field

mappings

list

JSON object that shows the mapping configured

Example

{
  "parent" : {
    "displayLabel" : "Category",
    "allowedValues" : [ "General", "Defects" ],
    "id" : "4000000000421"
  },
  "mappings" : {
    "General" : [ "Sub General" ],
    "Defects" : [ "Sub Defects" ]
  },
  "id" : "4000000007315",
  "childId" : "4000000000423",
  "layoutId" : "4000000007177",
  "parentId" : "4000000000421",
  "child" : {
    "displayLabel" : "Sub Category",
    "allowedValues" : [ "Sub General", "Sub Defects" ],
    "id" : "4000000000423"
  }
}


List dependency mappings in a layout

This API lists the dependency mappings configured in a layout.Ā 

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
layoutId

long

optional

ID of the layout in which the dependency is mapped

GET /api/v1/dependencyMappings

OAuth Scope

Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/dependencyMappings?layoutId=4000000007177
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "parent" : {
      "displayLabel" : "Category",
      "allowedValues" : [ "General", "Defects" ],
      "id" : "4000000000421"
    },
    "mappings" : {
      "General" : [ "Sub General" ],
      "Defects" : [ "Sub Defects" ]
    },
    "id" : "4000000007315",
    "childId" : "4000000000423",
    "layoutId" : "4000000007177",
    "parentId" : "4000000000421",
    "child" : {
      "displayLabel" : "Sub Category",
      "allowedValues" : [ "Sub General", "Sub Defects" ],
      "id" : "4000000000423"
    }
  }, {
    "parent" : {
      "displayLabel" : "Category",
      "allowedValues" : [ "General", "Defects" ],
      "id" : "4000000000421"
    },
    "mappings" : {
      "General" : [ "Open", "On Hold", "Escalated", "Closed", "Closed1", "newDeptClosed", "julyDeptClosed", "Open_july", "Open_newDept" ],
      "Defects" : [ "Open", "On Hold", "Escalated", "Closed", "Closed1", "newDeptClosed", "julyDeptClosed", "Open_july", "Open_newDept" ]
    },
    "id" : "4000000031003",
    "childId" : "4000000000367",
    "layoutId" : "4000000007177",
    "parentId" : "4000000000421",
    "child" : {
      "displayLabel" : "Status",
      "allowedValues" : [ "Open", "On Hold", "Escalated", "Closed", "Closed1", "newDeptClosed", "julyDeptClosed", "Open_july", "Open_newDept" ],
      "id" : "4000000000367"
    }
  }, {
    "parent" : {
      "displayLabel" : "Status",
      "allowedValues" : [ "Open", "On Hold", "Escalated", "Closed", "Closed1", "newDeptClosed", "julyDeptClosed", "Open_july", "Open_newDept" ],
      "id" : "4000000000367"
    },
    "mappings" : {
      "newDeptClosed" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "Open_july" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "Escalated" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "Open_newDept" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "On Hold" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "Closed" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "Closed1" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "julyDeptClosed" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "Open" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ]
    },
    "id" : "4000000032003",
    "childId" : "4000000000409",
    "layoutId" : "4000000007177",
    "parentId" : "4000000000367",
    "child" : {
      "displayLabel" : "Mode",
      "allowedValues" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "id" : "4000000000409"
    }
  } ]
}

Get possible dependency mappings in a layout

This API fetches the parent and child fields using which you can configure dependency mappings in a layout.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
layoutId

long

required

layout Id

GET /api/v1/availableDependencyMappings

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/availableDependencyMappings?layoutId=4000000007179
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "children" : [ {
    "displayLabel" : "Category",
    "allowedValues" : [ "-None-", "Call", "Meeting", "Demo" ],
    "id" : "4000000000145"
  }, {
    "displayLabel" : "Status",
    "allowedValues" : [ "Not Started", "Deferred", "In Progress", "Waiting on someone else", "Completed_july1", "Completed_newDept" ],
    "id" : "4000000000147"
  }, {
    "displayLabel" : "Priority",
    "allowedValues" : [ "High", "Highest", "Low", "Lowest", "Normal" ],
    "id" : "4000000000149"
  } ],
  "parents" : [ {
    "displayLabel" : "Category",
    "allowedValues" : [ "-None-", "Call", "Meeting", "Demo" ],
    "id" : "4000000000145"
  }, {
    "displayLabel" : "Status",
    "allowedValues" : [ "Not Started", "Deferred", "In Progress", "Waiting on someone else", "Completed_july1", "Completed_newDept" ],
    "id" : "4000000000147"
  }, {
    "displayLabel" : "Priority",
    "allowedValues" : [ "High", "Highest", "Low", "Lowest", "Normal" ],
    "id" : "4000000000149"
  } ]
}

Create dependency mapping

This API creates a dependency mapping between two fields.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
layoutId

long

required

ID of the layout in which the dependency is mapped

parentId

long

required

ID of the parent field

childId

long

required

ID of the child field

mappings

list

required

JSON object that shows the mapping configured

POST /api/v1/dependencyMappings

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/dependencyMappings
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "mappings" : { "General" : [ "Medium", "High" ], "Defects" : [ "Low" ] }, "childId" : "4000000000407", "layoutId" : "4000000007177", "parentId" : "4000000000421" }'

Response Example

{
  "parent" : {
    "displayLabel" : "Category",
    "allowedValues" : [ "General", "Defects" ],
    "id" : "4000000000421"
  },
  "mappings" : {
    "General" : [ "High", "Medium" ],
    "Defects" : [ "Low" ]
  },
  "id" : "4000000047001",
  "childId" : "4000000000407",
  "layoutId" : "4000000007177",
  "parentId" : "4000000000421",
  "child" : {
    "displayLabel" : "Priority",
    "allowedValues" : [ "High", "Medium", "Low" ],
    "id" : "4000000000407"
  }
}

Update dependency mapping

This API updates details of an existing dependency mapping.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
mappings

list

optional

a Json object which consist of elements which are inturn a json array

PATCH /api/v1/dependencyMappings/{dependencymapping_id}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/dependencyMappings/4000000047001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "mappings" : { "General" : [ "Medium", "Low" ], "Defects" : [ "Low", "Medium" ] } }'

Response Example

{
  "parent" : {
    "displayLabel" : "Category",
    "allowedValues" : [ "General", "Defects" ],
    "id" : "4000000000421"
  },
  "mappings" : {
    "General" : [ "Medium", "Low" ],
    "Defects" : [ "Medium", "Low" ]
  },
  "id" : "4000000047001",
  "childId" : "4000000000407",
  "layoutId" : "4000000007177",
  "parentId" : "4000000000421",
  "child" : {
    "displayLabel" : "Priority",
    "allowedValues" : [ "High", "Medium", "Low" ],
    "id" : "4000000000407"
  }
}

Delete dependency mapping

This API deletes a dependency mapping from a layout.

Credit: 1 credit/call

DELETE /api/v1/dependencyMappings/{dependencymapping_id}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/dependencyMappings/4000000047001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Layouts

Layouts define the arrangement and necessity of fields in forms used to capture details of help desk resources: Tickets, Tasks, Contacts, and so on. Each department can have unique layouts with both default and custom fields. You can also determine the visibility settings for each field in a layout.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the layout

createdBy

long

ID of user who created the layout

modifiedBy

long

ID of user who modified the layout

departmentId

long

ID of department in which the layout is configured

createdTime

timestamp

Time of creating the layout

modifiedTime

timestamp

Time of modifying the layout

isDefaultLayout

boolean

Key that returns if the layout is the default layout in the module

layoutName

string

Name of the layout

layoutDesc

string

Description of the layout

layoutDisplayName

string

Display Name of the layout in HelpCenter

sections

list

sections in the layout

Example

{
  "modifiedTime" : "2017-07-01T07:36:04.000Z",
  "skipDeptAccessValidation" : false,
  "layoutProfiles" : [ {
    "profileName" : "Support Administrator",
    "isDefault" : true,
    "id" : 4000000015183,
    "type" : "ADMIN"
  }, {
    "profileName" : "Agent",
    "isDefault" : true,
    "id" : 4000000015186,
    "type" : "STANDARD"
  }, {
    "profileName" : "Help Center",
    "isDefault" : true,
    "id" : 4000000015189,
    "type" : "PORTAL"
  }, {
    "profileName" : "Supervisor",
    "isDefault" : false,
    "id" : "4000000015192",
    "type" : "CUSTOM"
  }, {
    "profileName" : "Support Manager",
    "isDefault" : false,
    "id" : "4000000015195",
    "type" : "CUSTOM"
  }, {
    "profileName" : "Newbie Agent",
    "isDefault" : false,
    "id" : "4000000015198",
    "type" : "CUSTOM"
  }, {
    "profileName" : "Light Agent",
    "isDefault" : true,
    "id" : "4000000015201",
    "type" : "LIGHT"
  } ],
  "createdBy" : "4000000009118",
  "departmentId" : "4000000007175",
  "layoutDisplayName" : "Default Ticket Layout",
  "createdTime" : "2017-07-01T07:36:04.000Z",
  "modifiedBy" : "",
  "id" : "4000000007177",
  "isDefaultLayout" : true,
  "layoutDesc" : "Layout for the ticket module",
  "layoutName" : "Default Ticket Layout"
}


List Layouts

This API lists all the layouts configured for a module.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
module

String

required

Name of the module whose layouts must be fetched. The allowed values are
tickets, contacts, accounts, calls, events, tasks, timeEntry, products, and contracts

departmentId
see documentation

long

optional

ID of the department in which the layouts are configured

status

String

required,
default : active

Status of the layout. The allowed values are
active,inactive, and all

from

integer

required,
default : 0

The starting index number from where the layouts should be fetched

limit

integer

required,
default : 100

The number of layouts to be fetched

layoutName

string

optional,
max chars : 200

Name of the layout

id

long

optional

ID of the layout

GET /api/v1/layouts

OAuth Scope

Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/layouts?module=tickets
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2019-05-09T06:24:10.000Z",
    "departmentId" : "4000000012710",
    "module" : "Cases",
    "layoutDisplayName" : "New Layout For Tickets",
    "layoutDesc" : "DESC",
    "isDefaultLayout" : true,
    "layoutName" : "New Layout For Tickets",
    "skipDeptAccessValidation" : false,
    "layoutProfiles" : [ {
      "profileName" : "Support Administrator",
      "isDefault" : true,
      "id" : "4000000015183",
      "type" : "ADMIN"
    }, {
      "profileName" : "Agent",
      "isDefault" : true,
      "id" : "4000000015186",
      "type" : "STANDARD"
    }, {
      "profileName" : "Help Center",
      "isDefault" : true,
      "id" : "4000000015189",
      "type" : "PORTAL"
    } ],
    "createdBy" : "4000000015894",
    "createdTime" : "2019-05-03T06:36:33.000Z",
    "modifiedBy" : "4000000015894",
    "id" : "4000000013464",
    "status" : "active"
  }, {
    "modifiedTime" : "2019-05-06T01:45:58.000Z",
    "departmentId" : "4000000012710",
    "module" : "Cases",
    "layoutDisplayName" : "cloneLayout",
    "layoutDesc" : "DESC",
    "isDefaultLayout" : false,
    "layoutName" : "cloneLayout",
    "skipDeptAccessValidation" : false,
    "layoutProfiles" : [ {
      "profileName" : "Support Administrator",
      "isDefault" : true,
      "id" : "4000000015183",
      "type" : "ADMIN"
    }, {
      "profileName" : "Agent",
      "isDefault" : true,
      "id" : "4000000015186",
      "type" : "STANDARD"
    }, {
      "profileName" : "Help Center",
      "isDefault" : true,
      "id" : "4000000015189",
      "type" : "PORTAL"
    }, {
      "profileName" : "Supervisor",
      "isDefault" : false,
      "id" : "4000000015192",
      "type" : "CUSTOM"
    }, {
      "profileName" : "Support Manager",
      "isDefault" : false,
      "id" : "4000000015195",
      "type" : "CUSTOM"
    }, {
      "profileName" : "Newbie Agent",
      "isDefault" : false,
      "id" : "4000000015198",
      "type" : "CUSTOM"
    }, {
      "profileName" : "Light Agent",
      "isDefault" : true,
      "id" : "4000000015201",
      "type" : "LIGHT"
    } ],
    "createdBy" : "4000000015894",
    "createdTime" : "2019-05-06T01:45:58.000Z",
    "modifiedBy" : "4000000015894",
    "id" : "4000000017001",
    "status" : "active"
  } ]
}

Get Layout

This API fetches a layout configured for a module

Credit: 1 credit/call

GET /api/v1/layouts/{layout_id}

OAuth Scope

Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/layouts/4000000007177
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2017-07-01T07:36:04.000Z",
  "skipDeptAccessValidation" : false,
  "createdBy" : "4000000009118",
  "departmentId" : "4000000007175",
  "layoutDisplayName" : "Default Ticket Layout",
  "createdTime" : "2017-07-01T07:36:04.000Z",
  "modifiedBy" : "",
  "id" : "4000000007177",
  "isDefaultLayout" : true,
  "sections" : [ {
    "name" : "Ticket Information",
    "isCustomSection" : false,
    "id" : 1,
    "fields" : [ {
      "displayLabel" : "Department",
      "apiName" : "departmentId",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000353",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 50,
      "isMandatory" : true
    }, {
      "displayLabel" : "Contact Name",
      "apiName" : "contactId",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000357",
      "isSystemMandatory" : true,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 300,
      "isMandatory" : true
    }, {
      "displayLabel" : "Account Name",
      "apiName" : "accountId",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000355",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "LookUp",
      "maxLength" : 300,
      "isMandatory" : false
    }, {
      "displayLabel" : "Email",
      "apiName" : "email",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000359",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Email",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Phone",
      "apiName" : "phone",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000361",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Phone",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Education Type",
      "allowedValues" : [ "Education :: University :: Private", "Education :: University :: Public", "Education :: School :: Private", "Education :: School :: Public" ],
      "apiName" : "cf_education_type",
      "isCustomField" : true,
      "defaultValue" : "Education :: University :: Private",
      "isNested" : true,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000009999",
      "isRemovable" : true,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Sub Category",
      "allowedValues" : [ "Sub General", "Sub Defects" ],
      "apiName" : "subCategory",
      "isCustomField" : false,
      "defaultValue" : "Sub General",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000000423",
      "isRemovable" : true,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Category",
      "allowedValues" : [ "General", "Defects" ],
      "apiName" : "category",
      "isCustomField" : false,
      "defaultValue" : "General",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000000421",
      "isRemovable" : true,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Subject",
      "apiName" : "subject",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000363",
      "isSystemMandatory" : true,
      "isRemovable" : false,
      "type" : "Text",
      "maxLength" : 255,
      "isMandatory" : true
    }, {
      "displayLabel" : "Description",
      "apiName" : "description",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000365",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    }, {
      "displayLabel" : "Status",
      "allowedValues" : [ "Open", "Open_july", "On Hold", "Escalated", "Closed1", "Closed", "newDeptClosed" ],
      "apiName" : "status",
      "isCustomField" : false,
      "defaultValue" : "Open",
      "isNested" : false,
      "isSystemMandatory" : true,
      "type" : "Picklist",
      "restoreOnReplyValues" : [ "Open_july", "newDeptClosed", "Escalated", "On Hold", "Closed", "Closed1", "Open" ],
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000000367",
      "isRemovable" : false,
      "maxLength" : 120,
      "isMandatory" : true
    }, {
      "displayLabel" : "Case Owner",
      "apiName" : "assigneeId",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000371",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Product Name",
      "apiName" : "productId",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000369",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "LookUp",
      "maxLength" : 120,
      "isMandatory" : false
    } ]
  }, {
    "name" : "Additional Information",
    "isCustomSection" : false,
    "id" : 2,
    "fields" : [ {
      "displayLabel" : "Due Date",
      "apiName" : "dueDate",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000405",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "DateTime",
      "maxLength" : 300,
      "isMandatory" : false
    }, {
      "displayLabel" : "Priority",
      "allowedValues" : [ "-None-", "High", "Medium", "Low" ],
      "apiName" : "priority",
      "isCustomField" : false,
      "defaultValue" : "-None-",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000000407",
      "isRemovable" : false,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Mode",
      "allowedValues" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "apiName" : "channel",
      "isCustomField" : false,
      "defaultValue" : "Phone",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000000409",
      "isRemovable" : false,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Is Overdue",
      "apiName" : "Is Overdue",
      "isCustomField" : false,
      "defaultValue" : "true",
      "isEncryptedField" : false,
      "id" : "4000000000411",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Boolean",
      "maxLength" : 50,
      "isMandatory" : false
    }, {
      "displayLabel" : "Is Escalated",
      "apiName" : "Is Escalated",
      "isCustomField" : false,
      "defaultValue" : "true",
      "isEncryptedField" : false,
      "id" : "4000000000413",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Boolean",
      "maxLength" : 50,
      "isMandatory" : false
    }, {
      "displayLabel" : "Classification",
      "allowedValues" : [ "-None-", "Question", "Problem", "Feature", "Others" ],
      "apiName" : "classification",
      "isCustomField" : false,
      "defaultValue" : "-None-",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000000415",
      "isRemovable" : true,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Resolution",
      "apiName" : "resolution",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000417",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    }, {
      "displayLabel" : "Sample TextArea",
      "apiName" : "cf_sample_textarea",
      "isCustomField" : true,
      "toolTipType" : "placeHolder",
      "isEncryptedField" : false,
      "toolTip" : "Sample Field",
      "id" : "4000000000447",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    } ]
  } ],
  "layoutDesc" : "Default Layout of the Ticket",
  "layoutName" : "Default Ticket Layout"
}

Clone Layout

This API creates new Layout by cloning existing layout.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
layoutName

string

required,
max chars : 150

Name of the layout

layoutDesc

string

optional,
max chars : 500

Description of the layout

layoutDisplayName

string

required,
max chars : 150

Display Name of the layout in HelpCenter

isDefaultLayout

boolean

required

Key that returns if the layout is the default layout in the module

departmentId

long

optional

Id which helps to clone a layout in another department

POST /api/v1/layouts/{layout_id}/clone

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/layouts/4000000013462/clone
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "skipDeptAccessValidation" : false, "layoutDisplayName" : "Clonned Account Layout", "isDefaultLayout" : false, "layoutDesc" : "Layout of the accounts", "layoutName" : "cloneAccLayout1" }'

Response Example

{
  "modifiedTime" : "2019-05-08T02:21:34.000Z",
  "module" : "Accounts",
  "layoutDisplayName" : "Clonned Account Layout",
  "layoutDesc" : "layout of the accounts",
  "isDefaultLayout" : false,
  "sections" : [ {
    "name" : "Account Information",
    "isCustomSection" : true,
    "id" : 1,
    "fields" : [ {
      "displayLabel" : "Account Name",
      "isCustomField" : false,
      "name" : "accountName",
      "id" : "4000000000404",
      "isSystemMandatory" : true,
      "isRemovable" : false,
      "type" : "Text",
      "maxLength" : 200,
      "isMandatory" : true
    }, {
      "displayLabel" : "Email",
      "isCustomField" : false,
      "name" : "email",
      "id" : "4000000000408",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Email",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Phone",
      "isCustomField" : false,
      "name" : "phone",
      "id" : "4000000000406",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Phone",
      "maxLength" : 30,
      "isMandatory" : false
    }, {
      "displayLabel" : "Website",
      "isCustomField" : false,
      "name" : "website",
      "id" : "4000000000410",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "URL",
      "maxLength" : 2083,
      "isMandatory" : false
    }, {
      "displayLabel" : "Country",
      "isCustomField" : false,
      "name" : "country",
      "id" : "4000000000438",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Text",
      "maxLength" : 30,
      "isMandatory" : false
    }, {
      "displayLabel" : "Account Owner",
      "isCustomField" : false,
      "name" : "ownerId",
      "id" : "4000000000412",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Education Type",
      "allowedValues" : [ "Education :: University :: Private", "Education :: University :: Public", "Education :: School :: Private", "Education :: School :: Public" ],
      "apiName" : "cf_education_type",
      "isCustomField" : true,
      "defaultValue" : "Education :: University :: Private",
      "isNested" : true,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000009999",
      "isRemovable" : true,
      "maxLength" : 120,
      "isMandatory" : false
    } ]
  } ],
  "layoutName" : "cloneAccLayout1",
  "skipDeptAccessValidation" : false,
  "createdBy" : "4000000015894",
  "createdTime" : "2019-05-08T02:21:34.000Z",
  "modifiedBy" : "4000000015894",
  "id" : "4000000039001",
  "status" : "active"
}

Create Layout

This API creates the layout

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
isDefaultLayout

boolean

required

Key that returns if the layout is the default layout in the module

sections

list

required

sections in the layout

module

string

required,
max chars : 100

mdoule name

POST /api/v1/layouts

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/layouts
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "skipDeptAccessValidation" : false, "module" : "accounts", "departmentId" : "4000000012710", "layoutDisplayName" : "Clonned Account Layout", "layoutDesc" : "DESC", "sections" : [ { "name" : "Account Information", "i18NLabel" : "Account Information", "isCustomSection" : false, "id" : 1, "fields" : [ { "id" : "4000000000404", "isMandatory" : true }, { "id" : "4000000000408", "isMandatory" : false }, { "id" : "4000000000406", "isMandatory" : false }, { "id" : "4000000000410", "isMandatory" : false }, { "id" : "4000000000438", "isMandatory" : false }, { "id" : "4000000000412", "isMandatory" : false } ] } ], "layoutName" : "accounts layout " }'

Response Example

{
  "modifiedTime" : "2019-05-09T04:52:57.000Z",
  "departmentId" : "4000000012710",
  "module" : "Accounts",
  "layoutDisplayName" : "Clonned Account Layout",
  "layoutDesc" : "DESC",
  "isDefaultLayout" : false,
  "sections" : [ {
    "name" : "Account Information",
    "isCustomSection" : true,
    "id" : 1,
    "fields" : [ {
      "displayLabel" : "Account Name",
      "isCustomField" : false,
      "name" : "accountName",
      "id" : "4000000000404",
      "isSystemMandatory" : true,
      "isRemovable" : false,
      "type" : "Text",
      "maxLength" : 200,
      "isMandatory" : true
    }, {
      "displayLabel" : "Email",
      "isCustomField" : false,
      "name" : "email",
      "id" : "4000000000408",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Email",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Phone",
      "isCustomField" : false,
      "name" : "phone",
      "id" : "4000000000406",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Phone",
      "maxLength" : 30,
      "isMandatory" : false
    }, {
      "displayLabel" : "Website",
      "isCustomField" : false,
      "name" : "website",
      "id" : "4000000000410",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "URL",
      "maxLength" : 2083,
      "isMandatory" : false
    }, {
      "displayLabel" : "Country",
      "isCustomField" : false,
      "name" : "country",
      "id" : "4000000000438",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Text",
      "maxLength" : 30,
      "isMandatory" : false
    }, {
      "displayLabel" : "Account Owner",
      "isCustomField" : false,
      "name" : "ownerId",
      "id" : "4000000000412",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 120,
      "isMandatory" : false
    } ]
  } ],
  "layoutName" : "accounts layout ",
  "skipDeptAccessValidation" : false,
  "createdBy" : "4000000015894",
  "createdTime" : "2019-05-09T04:52:57.000Z",
  "modifiedBy" : "4000000015894",
  "id" : "4000000043004",
  "status" : "active"
}

Update Layout

This API updates details of an existing layout.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
isDefaultLayout

boolean

optional

Key that returns if the layout is the default layout in the module

sections

list

optional

sections in the layout

module

string

optional,
max chars : 100

mdoule name

PATCH /api/v1/layouts/{layout_id}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/layouts/4000000007177
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "skipDeptAccessValidation" : false, "layoutDisplayName" : "ClonedLayout", "layoutDesc" : "Layout cloned from default layout", "sections" : [ { "name" : "Ticket Information", "i18NLabel" : "Ticket Information", "id" : 1, "fields" : [ { "id" : "4000000000353", "isMandatory" : true }, { "id" : "4000000000357", "isMandatory" : true }, { "id" : "4000000000355", "isMandatory" : false }, { "id" : "4000000000359", "isMandatory" : false }, { "id" : "4000000000361", "isMandatory" : false }, { "allowedValues" : [ "Education :: University :: Private", "Education :: University :: Public", "Education :: School :: Private", "Education :: School :: Public" ], "defaultValue" : "Education :: University :: Private", "isNested" : true, "sortBy" : "userDefined", "id" : "4000000009999", "isMandatory" : false }, { "allowedValues" : [ "Sub General", "Sub Defects" ], "defaultValue" : "Sub General", "isNested" : false, "sortBy" : "userDefined", "id" : "4000000000423", "isMandatory" : false }, { "allowedValues" : [ "General", "Defects" ], "defaultValue" : "General", "isNested" : false, "id" : "4000000000421", "isMandatory" : false }, { "id" : "4000000000363", "isMandatory" : true }, { "id" : "4000000000365", "isMandatory" : false }, { "allowedValues" : [ "Open", "Open_july", "On Hold", "Escalated", "Closed1", "Closed", "newDeptClosed" ], "restoreOnReplyValues" : [ "Open_july", "newDeptClosed", "Escalated", "On Hold", "Closed", "Closed1", "Open" ], "defaultValue" : "Open", "isNested" : false, "sortBy" : "userDefined", "id" : "4000000000367", "isMandatory" : true }, { "id" : "4000000000371", "isMandatory" : false }, { "id" : "4000000000369", "isMandatory" : false } ] }, { "name" : "Additional Information", "i18NLabel" : "Additional Information", "id" : 2, "fields" : [ { "id" : "4000000000405", "isMandatory" : false }, { "allowedValues" : [ "-None-", "High", "Medium", "Low" ], "defaultValue" : "-None-", "isNested" : false, "id" : "4000000000407", "isMandatory" : false }, { "allowedValues" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ], "defaultValue" : "Phone", "isNested" : false, "sortBy" : "userDefined", "id" : "4000000000409", "isMandatory" : false }, { "id" : "4000000000411", "isMandatory" : false }, { "id" : "4000000000413", "isMandatory" : false }, { "allowedValues" : [ "-None-", "Question", "Problem", "Feature", "Others" ], "defaultValue" : "-None-", "isNested" : false, "sortBy" : "userDefined", "id" : "4000000000415", "isMandatory" : false }, { "id" : "4000000000417", "isMandatory" : false }, { "id" : "4000000000447", "isMandatory" : false } ] } ], "layoutName" : "ClonedLayout" }'

Response Example

{
  "modifiedTime" : "2017-07-01T07:36:04.000Z",
  "skipDeptAccessValidation" : false,
  "createdBy" : "4000000009118",
  "departmentId" : "4000000007175",
  "layoutDisplayName" : "ClonedLayout",
  "createdTime" : "2017-07-01T07:36:04.000Z",
  "modifiedBy" : "",
  "id" : "4000000007177",
  "isDefaultLayout" : true,
  "sections" : [ {
    "name" : "Ticket Information",
    "isCustomSection" : false,
    "id" : 1,
    "fields" : [ {
      "displayLabel" : "Department",
      "apiName" : "departmentId",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000353",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 50,
      "isMandatory" : true
    }, {
      "displayLabel" : "Contact Name",
      "apiName" : "contactId",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000357",
      "isSystemMandatory" : true,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 300,
      "isMandatory" : true
    }, {
      "displayLabel" : "Account Name",
      "apiName" : "accountId",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000355",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "LookUp",
      "maxLength" : 300,
      "isMandatory" : false
    }, {
      "displayLabel" : "Email",
      "apiName" : "email",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000359",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Email",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Phone",
      "apiName" : "phone",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000361",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Phone",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Education Type",
      "allowedValues" : [ "Education :: University :: Private", "Education :: University :: Public", "Education :: School :: Private", "Education :: School :: Public" ],
      "apiName" : "cf_education_type",
      "isCustomField" : true,
      "defaultValue" : "Education :: University :: Private",
      "isNested" : true,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000009999",
      "isRemovable" : true,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Sub Category",
      "allowedValues" : [ "Sub General", "Sub Defects" ],
      "apiName" : "subCategory",
      "isCustomField" : false,
      "defaultValue" : "Sub General",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000000423",
      "isRemovable" : true,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Category",
      "allowedValues" : [ "General", "Defects" ],
      "apiName" : "category",
      "isCustomField" : false,
      "defaultValue" : "General",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000000421",
      "isRemovable" : true,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Subject",
      "apiName" : "subject",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000363",
      "isSystemMandatory" : true,
      "isRemovable" : false,
      "type" : "Text",
      "maxLength" : 255,
      "isMandatory" : true
    }, {
      "displayLabel" : "Description",
      "apiName" : "description",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000365",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    }, {
      "displayLabel" : "Status",
      "allowedValues" : [ "Open", "Open_july", "On Hold", "Escalated", "Closed1", "Closed", "newDeptClosed" ],
      "apiName" : "status",
      "isCustomField" : false,
      "defaultValue" : "Open",
      "isNested" : false,
      "isSystemMandatory" : true,
      "type" : "Picklist",
      "restoreOnReplyValues" : [ "Open_july", "newDeptClosed", "Escalated", "On Hold", "Closed", "Closed1", "Open" ],
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000000367",
      "isRemovable" : false,
      "maxLength" : 120,
      "isMandatory" : true
    }, {
      "displayLabel" : "Case Owner",
      "apiName" : "assigneeId",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000371",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Product Name",
      "apiName" : "productId",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000369",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "LookUp",
      "maxLength" : 120,
      "isMandatory" : false
    } ]
  }, {
    "name" : "Additional Information",
    "isCustomSection" : false,
    "id" : 2,
    "fields" : [ {
      "displayLabel" : "Due Date",
      "apiName" : "dueDate",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000405",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "DateTime",
      "maxLength" : 300,
      "isMandatory" : false
    }, {
      "displayLabel" : "Priority",
      "allowedValues" : [ "-None-", "High", "Medium", "Low" ],
      "apiName" : "priority",
      "isCustomField" : false,
      "defaultValue" : "-None-",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000000407",
      "isRemovable" : false,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Mode",
      "allowedValues" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "apiName" : "channel",
      "isCustomField" : false,
      "defaultValue" : "Phone",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000000409",
      "isRemovable" : false,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Is Overdue",
      "apiName" : "Is Overdue",
      "isCustomField" : false,
      "defaultValue" : "true",
      "isEncryptedField" : false,
      "id" : "4000000000411",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Boolean",
      "maxLength" : 50,
      "isMandatory" : false
    }, {
      "displayLabel" : "Is Escalated",
      "apiName" : "Is Escalated",
      "isCustomField" : false,
      "defaultValue" : "true",
      "isEncryptedField" : false,
      "id" : "4000000000413",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Boolean",
      "maxLength" : 50,
      "isMandatory" : false
    }, {
      "displayLabel" : "Classification",
      "allowedValues" : [ "-None-", "Question", "Problem", "Feature", "Others" ],
      "apiName" : "classification",
      "isCustomField" : false,
      "defaultValue" : "-None-",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000000415",
      "isRemovable" : true,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Resolution",
      "apiName" : "resolution",
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000417",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    }, {
      "displayLabel" : "Sample TextArea",
      "apiName" : "cf_sample_textarea",
      "isCustomField" : true,
      "toolTipType" : "placeHolder",
      "isEncryptedField" : false,
      "toolTip" : "Sample Field",
      "id" : "4000000000447",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    } ]
  } ],
  "layoutDesc" : "Layout cloned from default layout",
  "layoutName" : "Default Ticket Layout"
}

Delete Layout

This API deletes a layout

Credit: 500 credits/call

Attributes

Param Name
Data Type
Description
transferToLayoutId

long

required

The layout id to which the entities in the deleted layout to be transferred to

DELETE /api/v1/layouts/{layout_id}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/layouts/4000000038053
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "transferToLayoutId" : "4000000038039" }'

Response Example

204

DeActivate Layout

This Api deactivates existing layout

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
transferToLayoutId

long

required

The layout id to which the entities in the deleted layout to be transferred to

POST /api/v1/layouts/{layout_id}/deactivate

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/layouts/4000000038053/deactivate
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "transferToLayoutId" : "4000000038039" }'

Response Example

204

Activate Layout

This api activates the deactivated Layout.

Credit: 1 credit/call

POST /api/v1/layouts/{layout_id}/activate

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/layouts/4000000038053/activate
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2019-05-09T09:42:28.000Z",
  "departmentId" : "4000000012710",
  "module" : "Cases",
  "layoutDisplayName" : "ClonedLayout",
  "layoutDesc" : "DESC",
  "isDefaultLayout" : false,
  "sections" : [ {
    "name" : "Case Information",
    "isCustomSection" : true,
    "id" : 1,
    "fields" : [ {
      "displayLabel" : "Department",
      "isCustomField" : false,
      "name" : "departmentId",
      "id" : "4000000000556",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 50,
      "isMandatory" : true
    }, {
      "displayLabel" : "Contact Name",
      "isCustomField" : false,
      "name" : "contactId",
      "id" : "4000000000560",
      "isSystemMandatory" : true,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 300,
      "isMandatory" : true
    }, {
      "displayLabel" : "Account Name",
      "isCustomField" : false,
      "name" : "accountId",
      "id" : "4000000000558",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "LookUp",
      "maxLength" : 300,
      "isMandatory" : false
    }, {
      "displayLabel" : "Email",
      "isCustomField" : false,
      "name" : "email",
      "id" : "4000000000562",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Email",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Phone",
      "isCustomField" : false,
      "name" : "phone",
      "id" : "4000000000564",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Phone",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Subject",
      "isCustomField" : false,
      "name" : "subject",
      "id" : "4000000000566",
      "isSystemMandatory" : true,
      "isRemovable" : false,
      "type" : "Text",
      "maxLength" : 255,
      "isMandatory" : true
    }, {
      "displayLabel" : "Description",
      "isCustomField" : false,
      "name" : "description",
      "id" : "4000000000568",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    }, {
      "displayLabel" : "Status",
      "allowedValues" : [ "Open", "On Hold", "Escalated", "Closed" ],
      "isCustomField" : false,
      "defaultValue" : "Open",
      "isNested" : false,
      "isSystemMandatory" : true,
      "type" : "Picklist",
      "restoreOnReplyValues" : [ "Open", "On Hold", "Escalated", "Closed" ],
      "name" : "status",
      "sortBy" : "userDefined",
      "id" : "4000000000570",
      "isRemovable" : false,
      "maxLength" : 120,
      "isMandatory" : true
    }, {
      "displayLabel" : "Ticket Owner",
      "isCustomField" : false,
      "name" : "assigneeId",
      "id" : "4000000000574",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Product Name",
      "isCustomField" : false,
      "name" : "productId",
      "id" : "4000000000572",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "LookUp",
      "maxLength" : 120,
      "isMandatory" : false
    } ]
  }, {
    "name" : "Additional Information",
    "isCustomSection" : true,
    "id" : 2,
    "fields" : [ {
      "displayLabel" : "Due Date",
      "isCustomField" : false,
      "name" : "dueDate",
      "id" : "4000000000610",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "DateTime",
      "maxLength" : 300,
      "isMandatory" : false
    }, {
      "displayLabel" : "Priority",
      "allowedValues" : [ "-None-", "High", "Medium", "Low" ],
      "isCustomField" : false,
      "defaultValue" : "-None-",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "name" : "priority",
      "sortBy" : "userDefined",
      "id" : "4000000000614",
      "isRemovable" : false,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Channel",
      "allowedValues" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "isCustomField" : false,
      "defaultValue" : "Phone",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "name" : "channel",
      "sortBy" : "userDefined",
      "id" : "4000000000616",
      "isRemovable" : false,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Classification",
      "allowedValues" : [ "-None-", "Question", "Problem", "Feature", "Others" ],
      "isCustomField" : false,
      "defaultValue" : "-None-",
      "isNested" : false,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "name" : "classification",
      "sortBy" : "userDefined",
      "id" : "4000000000622",
      "isRemovable" : true,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Resolution",
      "isCustomField" : false,
      "name" : "resolution",
      "id" : "4000000000624",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    } ]
  } ],
  "layoutName" : "Tickets New Layout 6",
  "skipDeptAccessValidation" : false,
  "createdBy" : "4000000015894",
  "createdTime" : "2019-05-06T05:30:06.000Z",
  "modifiedBy" : "4000000015894",
  "id" : "4000000038033",
  "status" : "active"
}

Get Layout Profiles

This api returns the profiles associated with a layout

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/layouts/{layout_id}/profiles

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/layouts/4000000038033/profiles
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "profileName" : "Support Administrator",
    "isDefault" : true,
    "id" : "4000000015183",
    "type" : "ADMIN"
  }, {
    "profileName" : "Agent",
    "isDefault" : true,
    "id" : "4000000015186",
    "type" : "STANDARD"
  }, {
    "profileName" : "Help Center",
    "isDefault" : true,
    "id" : "4000000015189",
    "type" : "PORTAL"
  }, {
    "profileName" : "Supervisor",
    "isDefault" : false,
    "id" : "4000000015192",
    "type" : "CUSTOM"
  }, {
    "profileName" : "Support Manager",
    "isDefault" : false,
    "id" : "4000000015195",
    "type" : "CUSTOM"
  }, {
    "profileName" : "Newbie Agent",
    "isDefault" : false,
    "id" : "4000000015198",
    "type" : "CUSTOM"
  }, {
    "profileName" : "Light Agent",
    "isDefault" : true,
    "id" : "4000000015201",
    "type" : "LIGHT"
  } ]
}

Associate Layout profiles

This api Associates the given profiles to the layout

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
layoutProfileIds

list

optional

The profile id to which the layout needs to be associated to

PATCH /api/v1/layouts/{layout_id}/profiles

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/layouts/4000000013464/profiles
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "layoutProfileIds" : [ 4000000015183, 4000000015186, 4000000015189 ] }'

Response Example

204

Standard Layout Format

This Api provides the standrd layout format for the given module with organisations fields that can be used for create layout

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
module

String

required

Name of the module whose layouts must be fetched. Values allowed are tickets, contacts, accounts , calls , events, tasks, timeEntry, products, and contracts.

GET /api/v1/layouts/standardLayoutFormat

OAuth Scope

Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/layouts/standardLayoutFormat?module=tickets
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "name" : "Case Information",
    "id" : 1,
    "fields" : [ {
      "displayLabel" : "Department",
      "isCustomField" : false,
      "name" : "departmentId",
      "id" : "4000000000556",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 50,
      "isMandatory" : true
    }, {
      "displayLabel" : "Account Name",
      "isCustomField" : false,
      "name" : "accountId",
      "id" : "4000000000558",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "LookUp",
      "maxLength" : 300,
      "isMandatory" : false
    }, {
      "displayLabel" : "Contact Name",
      "isCustomField" : false,
      "name" : "contactId",
      "id" : "4000000000560",
      "isSystemMandatory" : true,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 300,
      "isMandatory" : true
    }, {
      "displayLabel" : "Email",
      "isCustomField" : false,
      "name" : "email",
      "id" : "4000000000562",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Email",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Phone",
      "isCustomField" : false,
      "name" : "phone",
      "id" : "4000000000564",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Phone",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Subject",
      "isCustomField" : false,
      "name" : "subject",
      "id" : "4000000000566",
      "isSystemMandatory" : true,
      "isRemovable" : false,
      "type" : "Text",
      "maxLength" : 255,
      "isMandatory" : true
    }, {
      "displayLabel" : "Description",
      "isCustomField" : false,
      "name" : "description",
      "id" : "4000000000568",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    }, {
      "displayLabel" : "Status",
      "allowedValues" : [ "Open", "On Hold", "Escalated", "Closed" ],
      "isCustomField" : false,
      "defaultValue" : "Open",
      "isSystemMandatory" : true,
      "type" : "Picklist",
      "restoreOnReplyValues" : [ "Open", "On Hold", "Escalated", "Closed" ],
      "name" : "status",
      "sortBy" : "userDefined",
      "id" : "4000000000570",
      "isRemovable" : false,
      "maxLength" : 120,
      "isMandatory" : true
    }, {
      "displayLabel" : "Product Name",
      "isCustomField" : false,
      "name" : "productId",
      "id" : "4000000000572",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "LookUp",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Ticket Owner",
      "isCustomField" : false,
      "name" : "assigneeId",
      "id" : "4000000000574",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "LookUp",
      "maxLength" : 120,
      "isMandatory" : false
    } ]
  }, {
    "name" : "Additional Information",
    "id" : 2,
    "fields" : [ {
      "displayLabel" : "Due Date",
      "isCustomField" : false,
      "name" : "dueDate",
      "id" : "4000000000610",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "DateTime",
      "maxLength" : 300,
      "isMandatory" : false
    }, {
      "displayLabel" : "Priority",
      "allowedValues" : [ "-None-", "High", "Medium", "Low" ],
      "isCustomField" : false,
      "defaultValue" : "-None-",
      "name" : "priority",
      "sortBy" : "userDefined",
      "id" : "4000000000614",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Picklist",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Channel",
      "allowedValues" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "isCustomField" : false,
      "defaultValue" : "Phone",
      "name" : "channel",
      "sortBy" : "userDefined",
      "id" : "4000000000616",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Picklist",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Classification",
      "allowedValues" : [ "-None-", "Question", "Problem", "Feature", "Others" ],
      "isCustomField" : false,
      "defaultValue" : "-None-",
      "name" : "classification",
      "sortBy" : "userDefined",
      "id" : "4000000000622",
      "isSystemMandatory" : false,
      "isRemovable" : true,
      "type" : "Picklist",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Resolution",
      "isCustomField" : false,
      "name" : "resolution",
      "id" : "4000000000624",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    } ]
  } ]
}

Get MyForm

This API fetches details of a layout, based on the profile of the current user.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
layoutId

long

optional

ID of the layout

GET /api/v1/myForm

OAuth Scope

Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/myForm?layoutId=4000000007177
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2017-07-10T10:32:11.000Z",
  "createdBy" : "4000000009118",
  "departmentId" : "4000000007175",
  "createdTime" : "2017-07-01T07:36:04.000Z",
  "modifiedBy" : "4000000009118",
  "id" : "4000000007177",
  "isDefaultLayout" : true,
  "sections" : [ {
    "name" : "Ticket Information",
    "isCustomSection" : false,
    "id" : 1,
    "fields" : [ {
      "displayLabel" : "Department",
      "apiName" : "departmentId",
      "isReadOnly" : false,
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000353",
      "type" : "LookUp",
      "maxLength" : 50,
      "isMandatory" : true
    }, {
      "displayLabel" : "Contact Name",
      "apiName" : "contactId",
      "isReadOnly" : false,
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000357",
      "type" : "LookUp",
      "maxLength" : 300,
      "isMandatory" : true
    }, {
      "displayLabel" : "Account Name",
      "apiName" : "accountId",
      "isReadOnly" : false,
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000355",
      "type" : "LookUp",
      "maxLength" : 300,
      "isMandatory" : false
    }, {
      "displayLabel" : "Email",
      "apiName" : "email",
      "isReadOnly" : false,
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000359",
      "type" : "Email",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Phone",
      "apiName" : "phone",
      "isReadOnly" : false,
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000361",
      "type" : "Phone",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Education Type",
      "allowedValues" : [ "Education :: University :: Private", "Education :: University :: Public", "Education :: School :: Private", "Education :: School :: Public" ],
      "apiName" : "cf_education_type",
      "isCustomField" : true,
      "defaultValue" : "Education :: University :: Private",
      "isNested" : true,
      "isSystemMandatory" : false,
      "type" : "Picklist",
      "isEncryptedField" : false,
      "sortBy" : "userDefined",
      "id" : "4000000009999",
      "isRemovable" : true,
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Sub Category",
      "allowedValues" : [ "Sub General", "Sub Defects" ],
      "apiName" : "subCategory",
      "isReadOnly" : false,
      "isCustomField" : false,
      "defaultValue" : "Sub General",
      "isNested" : false,
      "isEncryptedField" : false,
      "id" : "4000000000423",
      "type" : "Picklist",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Category",
      "allowedValues" : [ "General", "Defects", "ManojKumar" ],
      "apiName" : "category",
      "isCustomField" : false,
      "isReadOnly" : false,
      "defaultValue" : "General",
      "isNested" : false,
      "isEncryptedField" : false,
      "id" : "4000000000421",
      "type" : "Picklist",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Subject",
      "apiName" : "subject",
      "isReadOnly" : false,
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000363",
      "type" : "Text",
      "maxLength" : 255,
      "isMandatory" : true
    }, {
      "displayLabel" : "Description",
      "apiName" : "description",
      "isReadOnly" : false,
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000365",
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    }, {
      "displayLabel" : "Status",
      "allowedValues" : [ "Open", "Open_july", "Open_newDept", "On Hold", "Escalated", "Closed1", "Closed", "newDeptClosed", "julyDeptClosed", "julyDeptClosed1" ],
      "apiName" : "status",
      "isCustomField" : false,
      "defaultValue" : "Open",
      "isNested" : false,
      "type" : "Picklist",
      "isReadOnly" : false,
      "restoreOnReplyValues" : [ "Open_july", "newDeptClosed", "Open_newDept", "Escalated", "On Hold", "Closed", "Closed1", "julyDeptClosed", "julyDeptClosed1", "Open" ],
      "isEncryptedField" : false,
      "id" : "4000000000367",
      "maxLength" : 120,
      "isMandatory" : true
    }, {
      "displayLabel" : "Case Owner",
      "apiName" : "assigneeId",
      "isReadOnly" : false,
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000371",
      "type" : "LookUp",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Product Name",
      "apiName" : "productId",
      "isReadOnly" : false,
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000369",
      "type" : "LookUp",
      "maxLength" : 120,
      "isMandatory" : false
    } ]
  }, {
    "name" : "Additional Information",
    "isCustomSection" : false,
    "id" : 2,
    "fields" : [ {
      "displayLabel" : "Due Date",
      "apiName" : "dueDate",
      "isReadOnly" : false,
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000405",
      "type" : "DateTime",
      "maxLength" : 300,
      "isMandatory" : false
    }, {
      "displayLabel" : "Priority",
      "allowedValues" : [ "-None-", "High", "Medium", "Low" ],
      "apiName" : "priority",
      "isReadOnly" : false,
      "isCustomField" : false,
      "defaultValue" : "-None-",
      "isNested" : false,
      "isEncryptedField" : false,
      "id" : "4000000000407",
      "type" : "Picklist",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Mode",
      "allowedValues" : [ "Phone", "Email", "Web", "Twitter", "Facebook", "Chat", "Forums", "Feedback Widget" ],
      "apiName" : "channel",
      "isReadOnly" : false,
      "isCustomField" : false,
      "defaultValue" : "Phone",
      "isNested" : false,
      "isEncryptedField" : false,
      "id" : "4000000000409",
      "type" : "Picklist",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Is Overdue",
      "apiName" : "Is Overdue",
      "isReadOnly" : false,
      "isCustomField" : false,
      "defaultValue" : "true",
      "isEncryptedField" : false,
      "id" : "4000000000411",
      "type" : "Boolean",
      "maxLength" : 50,
      "isMandatory" : false
    }, {
      "displayLabel" : "Is Escalated",
      "apiName" : "Is Escalated",
      "isReadOnly" : false,
      "isCustomField" : false,
      "defaultValue" : "true",
      "isEncryptedField" : false,
      "id" : "4000000000413",
      "type" : "Boolean",
      "maxLength" : 50,
      "isMandatory" : false
    }, {
      "displayLabel" : "Classification",
      "allowedValues" : [ "-None-", "Question", "Problem", "Feature", "Others" ],
      "apiName" : "classification",
      "isReadOnly" : false,
      "isCustomField" : false,
      "defaultValue" : "-None-",
      "isNested" : false,
      "isEncryptedField" : false,
      "id" : "4000000000415",
      "type" : "Picklist",
      "maxLength" : 120,
      "isMandatory" : false
    }, {
      "displayLabel" : "Resolution",
      "apiName" : "resolution",
      "isReadOnly" : false,
      "isCustomField" : false,
      "isEncryptedField" : false,
      "id" : "4000000000417",
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    }, {
      "displayLabel" : "Sample TextArea",
      "apiName" : "cf_sample_textarea",
      "isCustomField" : true,
      "toolTipType" : "placeHolder",
      "isEncryptedField" : false,
      "toolTip" : "Sample Field",
      "id" : "4000000000447",
      "isSystemMandatory" : false,
      "isRemovable" : false,
      "type" : "Textarea",
      "maxLength" : 1000000,
      "isMandatory" : false
    } ]
  } ],
  "layoutName" : "Default Ticket Layout"
}

Replace PickList Value in all Existing Records

This API replaces the old value with the new value for the PickList field type in all existing records only.

Note: When a value that does not exist in the PickList values is provided as new value, then this API will create the new value without deleting the old one.

Credit: 500 credits/call

Attributes

Param Name
Data Type
Description
fieldId

long

required

field Id

oldValue

string

required,
max chars : 100

oldValue

newValue

string

required,
max chars : 100

newValue

POST /api/v1/layouts/{layout_id}/replaceValues

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/layouts/4000000007177/replaceValues
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "newValue" : "Sub Defects1235", "oldValue" : "Sub Defects", "fieldId" : "4000000000423" }'

Response Example

200

Update Layout Field

This API updates details of a field in the layout.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

Attributes

Param Name
Data Type
Description
expression

string

optional,
max chars : 1500

Formula Expression

isMandatory

boolean

optional

Key that returns if a field is mandatory in a layout or not

defaultValue

string

optional,
max chars : 120

Default value set for a field. Applicable for Checkbox fields and PickList fields

allowedValues

list

optional

Values allowed in a field. Applicable for PickList fields

sortBy

string

optional,
max chars : 100

Key that sorts values in a PickList field either alphabetically or by a user-defined order

isNested

boolean

optional

Key that returns if the picklist is nested or not

PATCH /api/v1/layouts/{layout_id}/fields/{field_id}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/layouts/4000000007177/fields/21000000023005
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "allowedValues" : [ "Education :: University :: Private", "Education :: University :: Public", "Education :: School :: Private", "Education :: School :: Public" ], "defaultValue" : "Education :: University :: Private", "isNested" : true, "sortBy" : "userDefined", "isMandatory" : true }'

Response Example

{
  "displayLabel" : "Education Type",
  "allowedValues" : [ "Education :: University :: Private", "Education :: University :: Public", "Education :: School :: Private", "Education :: School :: Public" ],
  "apiName" : "cf_education_type",
  "isCustomField" : true,
  "defaultValue" : "Education :: University :: Private",
  "isNested" : true,
  "i18NLabel" : "Education Type",
  "isSystemMandatory" : false,
  "type" : "Picklist",
  "name" : "Education Type",
  "isEncryptedField" : false,
  "sortBy" : "userDefined",
  "id" : "21000000023005",
  "isRemovable" : true,
  "maxLength" : 120,
  "isMandatory" : true
}

Remove Field in Layout

This API is to remove fields from a layout.

Credit: 1 credit/call

POST /api/v1/layouts/{layout_id}/fields/([0-9]+)/unassociate

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/layouts/4000000007177/fields/4000000000353/unassociate
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Clone Fields to other Layout

This API is to clone a field to other layouts.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
layoutIds

list

optional

List of layout ids to which the field should be cloned.

POST /api/v1/layouts/{layout_id}/fields/([0-9]+)/cloneFieldsInLayout

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://support.zoho.com/api/v1/layouts/4000000007177/fields/4000000000353/cloneFieldsInLayout
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "layoutIds" : [ "4000000007187", "4000000007197" ] }'

Response Example

200

Get PickList Value in Layout

This api behaves as below
(i)When Query param fileType=CSV is passed the picklist values gets downloaded in csv file with *fieldlabel* as its name
(ii) When header param is not passed empty 200 response

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
fileType

string

optional,
max chars : 100

Export Format in which format should be shown.This value can be CSV

GET /api/v1/layouts/([0-9]+)/fields/([0-9]+)/value

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/layouts/4000000013556/fields/4000000028001/value
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

LayoutRules

Layout rules enable you to configure a page layout to respond to a user's input as a record is created or edited. Depending on how you set it up, the rule can set mandatory fields, show or hide fields, and show or hide sections.

ATTRIBUTES

Attribute Name
Data Type
Description
name

string

Name of the rule

description

string

A short description of the rule

fieldName

string

Name of the primary field to be used for creating the rule

displayLabel

string

Display Label of the primary field to be used for creating the rule

status

string

Activation status of the rule: ACTIVE or DEACTIVE

executeInHelpCentre

boolean

To execute the rule in help centre or not: true or false

fieldConditions

list

Conditions in the layout rule

Example

{
  "fieldConditions" : [ {
    "name" : "condition 1",
    "pattern" : "(1and2)",
    "conditions" : [ {
      "condition" : "is",
      "fieldName" : "email",
      "value" : [ "carol@zylker.com" ]
    }, {
      "condition" : "is",
      "fieldName" : "phone",
      "value" : [ "9993292892" ]
    } ],
    "actions" : {
      "showSections" : [ "Additional Information" ],
      "showFields" : [ "subject" ],
      "setMandatoryFields" : [ "priority" ]
    }
  } ],
  "fieldName" : "phone",
  "executeInHelpCentre" : false,
  "name" : "Rule 1",
  "description" : "Rule 1 for layout",
  "id" : "4000000020001",
  "systemGenerated" : false,
  "layoutId" : "4000000007723",
  "status" : "active"
}


Get Layout Rule

This API fetches a single rule from your help desk layout.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
include

string

optional,
max chars : 100

Additional information related to the rules. Values allowed are: creator and modifier.

GET /api/v1/layouts/{layout_id}/layoutRules/{layoutRule_id}

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/layouts/4000000007723/layoutRules/4000000020001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "fieldConditions" : [ {
    "name" : "condition 1",
    "pattern" : "(1and2)",
    "conditions" : [ {
      "condition" : "is",
      "fieldName" : "email",
      "value" : [ "carol@zylker.com" ]
    }, {
      "condition" : "is",
      "fieldName" : "phone",
      "value" : [ "9993292892" ]
    } ],
    "actions" : {
      "showSections" : [ "Additional Information" ],
      "showFields" : [ "subject" ],
      "setMandatoryFields" : [ "priority" ]
    }
  } ],
  "modifiedTime" : "2018-09-14T01:08:42.000Z",
  "fieldName" : "email",
  "description" : "Rule 1 for layout",
  "systemGenerated" : false,
  "layoutId" : "4000000007723",
  "executeInHelpCentre" : false,
  "createdBy" : "4000000015963",
  "name" : "Rule 1",
  "createdTime" : "2018-09-14T01:07:22.000Z",
  "modifiedBy" : "4000000015963",
  "id" : "4000000020001",
  "status" : "active"
}

Get Layout Rules for department or layout

This API lists all the rules configured for a department/layout.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

optional

Get the rules of the department

layoutId

long

optional

Get the rules of the layout

module

String

optional

Name of the module for which you want to fetch the layout rules. Allowed values are tickets, contacts, accounts, tasks, timeEntry, contracts, products, calls, events

activeLayouts

Boolean

optional

Get the rules for active layouts

activeRules

Boolean

optional

Get the rules that are active in the layout

executeInHelpCentre

Boolean

optional

Get the rules that can be executed in help centre

from

integer

optional,
default : 0,
range : >=0

Index number, starting from which the rules must be fetched

limit

integer

required,
default : 50,
range : 1-50

Number of rules to be fetched. Default is 50

searchString

String

optional

Get the rules that have this search term

include

string

optional,
max chars : 100

Additional information related to the rules. Values allowed are: creator and modifier.

GET /api/v1/layoutRules

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/layoutRules?layoutId=4000000007723&module=tickets&activeRules=true&from=0&limit=10&searchString=Rule
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "fieldConditions" : [ {
      "name" : "condition 1",
      "pattern" : "(1and2)",
      "conditions" : [ {
        "condition" : "is",
        "fieldName" : "email",
        "value" : [ "carol@zylker.com" ]
      }, {
        "condition" : "is",
        "fieldName" : "phone",
        "value" : [ "9993292892" ]
      } ],
      "actions" : {
        "showSections" : [ "Additional Information" ],
        "showFields" : [ "subject" ],
        "setMandatoryFields" : [ "priority" ]
      }
    } ],
    "modifiedTime" : "2018-09-14T01:08:42.000Z",
    "fieldName" : "email",
    "description" : "Rule 1 for layout",
    "systemGenerated" : false,
    "layoutId" : "4000000007723",
    "executeInHelpCentre" : false,
    "createdBy" : "4000000015963",
    "name" : "Rule 1",
    "createdTime" : "2018-09-14T01:07:22.000Z",
    "modifiedBy" : "4000000015963",
    "id" : "4000000020001",
    "status" : "active"
  }, {
    "fieldConditions" : [ {
      "name" : "condition 2",
      "pattern" : "(1or2)",
      "conditions" : [ {
        "condition" : "is",
        "fieldName" : "phone",
        "value" : [ "9993292892" ]
      }, {
        "condition" : "is",
        "fieldName" : "email",
        "value" : [ "carol@zylker.com" ]
      } ],
      "actions" : {
        "showSections" : [ "Additional Information" ],
        "showFields" : [ "subject" ],
        "setMandatoryFields" : [ "priority" ]
      }
    } ],
    "modifiedTime" : "2018-09-14T01:08:42.000Z",
    "fieldName" : "phone",
    "description" : "Rule 2 for layout",
    "systemGenerated" : false,
    "layoutId" : "4000000007723",
    "executeInHelpCentre" : false,
    "createdBy" : "4000000015963",
    "name" : "Rule 2",
    "createdTime" : "2018-09-14T01:07:22.000Z",
    "modifiedBy" : "4000000015963",
    "id" : "4000000021001",
    "status" : "active"
  } ]
}

Create Layout Rule

This API creates a rule for a field in a layout.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
include

string

optional,
max chars : 100

Additional information related to the rules. Values allowed are: creator and modifier.

Attributes

Param Name
Data Type
Description
name

string

required,
max chars : 255

Name of the rule

description

string

optional,
max chars : 255

A short description of the rule

fieldName

string

required,
max chars : 255

Name of the primary field to be used for creating the rule

displayLabel

string

optional,
max chars : 250

Display Label of the primary field to be used for creating the rule

status

string

optional,
max chars : 100

Activation status of the rule: ACTIVE or DEACTIVE

executeInHelpCentre

boolean

optional

To execute the rule in help centre or not: true or false

fieldConditions

list

required

Conditions in the layout rule

POST /api/v1/layouts/{layout_id}/layoutRules

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/layouts/4000000007723/layoutRules
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "fieldConditions" : [ { "name" : "condition 2", "pattern" : "(1and2)", "conditions" : [ { "condition" : "is", "fieldName" : "email", "value" : [ "carol@zylker.com" ] }, { "condition" : "is", "fieldName" : "phone", "value" : [ "9993292892" ] } ], "actions" : { "showSections" : [ "Additional Information" ], "showFields" : [ "subject" ], "setMandatoryFields" : [ "priority" ] } } ], "fieldName" : "email", "executeInHelpCentre" : true, "name" : "Rule 1", "description" : "Rule 1 for layout" }'

Response Example

{
  "fieldConditions" : [ {
    "name" : "condition 2",
    "pattern" : "(1and2)",
    "conditions" : [ {
      "condition" : "is",
      "fieldName" : "email",
      "value" : [ "carol@zylker.com" ]
    }, {
      "condition" : "is",
      "fieldName" : "phone",
      "value" : [ "9993292892" ]
    } ],
    "actions" : {
      "showSections" : [ "Additional Information" ],
      "showFields" : [ "subject" ],
      "setMandatoryFields" : [ "priority" ]
    }
  } ],
  "modifiedTime" : "2018-09-14T01:08:42.000Z",
  "fieldName" : "email",
  "description" : "Rule 2 for layout",
  "systemGenerated" : false,
  "layoutId" : "4000000007723",
  "executeInHelpCentre" : true,
  "createdBy" : "4000000015963",
  "name" : "Rule 2",
  "createdTime" : "2018-09-14T01:07:22.000Z",
  "modifiedBy" : "4000000015963",
  "id" : "4000000021001",
  "status" : "active"
}

Update Layout Rule

This API updates the details of an existing layout rule in a particular layout.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
include

string

optional,
max chars : 100

Additional information related to the rules. Values allowed are: creator and modifier.

Attributes

Param Name
Data Type
Description
name

string

optional,
max chars : 255

Name of the rule

description

string

optional,
max chars : 255

A short description of the rule

fieldName

string

optional,
max chars : 255

Name of the primary field to be used for creating the rule

displayLabel

string

optional,
max chars : 250

Display Label of the primary field to be used for creating the rule

status

string

optional,
max chars : 100

Activation status of the rule: ACTIVE or DEACTIVE

executeInHelpCentre

boolean

optional

To execute the rule in help centre or not: true or false

fieldConditions

list

optional

Conditions in the layout rule

PATCH /api/v1/layouts/{layout_id}/layoutRules/{layoutRule_id}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/layouts/4000000007723/layoutRules/4000000021001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "fieldConditions" : [ { "name" : "condition 1", "pattern" : "(1and2)or3", "conditions" : [ { "condition" : "is", "fieldName" : "email", "value" : [ "carol@zylker.com" ] }, { "condition" : "is", "fieldName" : "accountId", "value" : [ "Ramkumar" ] }, { "condition" : "is", "fieldName" : "productId", "value" : [ "Honda" ] } ], "actions" : { "showSections" : [ "Additional Information" ], "showFields" : [ "subject" ], "setMandatoryFields" : [ "priority" ] } }, { "name" : "condition 2", "pattern" : "1 and (2 or 3)", "conditions" : [ { "condition" : "is", "fieldName" : "email", "value" : [ "carol@zylker.com" ] }, { "condition" : "is", "fieldName" : "accountId", "value" : [ "Sundar" ] }, { "condition" : "is", "fieldName" : "productId", "value" : [ "Maruthi" ] } ], "actions" : { "showSections" : [ ], "showFields" : [ "subject" ], "setMandatoryFields" : [ "Description" ] } } ], "fieldName" : "email", "executeInHelpCentre" : false, "name" : "Rule 11", "description" : "Rule 1 for layout", "layoutId" : "4000000007723", "status" : "active" }'

Response Example

{
  "fieldConditions" : [ {
    "name" : "condition 1",
    "pattern" : "(1and2)or3",
    "conditions" : [ {
      "condition" : "is",
      "fieldName" : "email",
      "value" : [ "carol@zylker.com" ]
    }, {
      "condition" : "is",
      "fieldName" : "accountId",
      "value" : [ "Ramkumar" ]
    }, {
      "condition" : "is",
      "fieldName" : "productId",
      "value" : [ "Honda" ]
    } ],
    "actions" : {
      "showSections" : [ "Additional Information" ],
      "showFields" : [ "subject" ],
      "setMandatoryFields" : [ "priority" ]
    }
  }, {
    "name" : "condition 2",
    "pattern" : "1 and (2 or 3)",
    "conditions" : [ {
      "condition" : "is",
      "fieldName" : "email",
      "value" : [ "carol@zylker.com" ]
    }, {
      "condition" : "is",
      "fieldName" : "accountId",
      "value" : [ "Sundar" ]
    }, {
      "condition" : "is",
      "fieldName" : "productId",
      "value" : [ "Maruthi" ]
    } ],
    "actions" : {
      "showSections" : [ ],
      "showFields" : [ "subject" ],
      "setMandatoryFields" : [ "Description" ]
    }
  } ],
  "modifiedTime" : "2018-09-14T01:08:42.000Z",
  "fieldName" : "email",
  "description" : "Rule 1 for layout",
  "systemGenerated" : false,
  "layoutId" : "4000000007723",
  "executeInHelpCentre" : false,
  "createdBy" : "4000000015963",
  "name" : "Rule 11",
  "createdTime" : "2018-09-14T01:07:22.000Z",
  "modifiedBy" : "4000000015963",
  "id" : "4000000021001",
  "status" : "active"
}

Delete Layout Rule

This API deletes a layout rule created for a field from a layout.

Credit: 1 credit/call

DELETE /api/v1/layouts/{layout_id}/layoutRules/{layoutRule_id}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/layouts/4000000007723/layoutRules/4000000021001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

List Criteria Fields For Layout Rules

This API lists the fields that can be used in criteria of a specified module in layout rules. Available pre-defined values may contain ${EMPTY}, ${NOTEMPTY}, ${OPEN}, ${CLOSED}, ${CURRENTTIME}. Available types are Text, Date, DateTime, Text, Boolean and Arithmetic.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
category

String

required

Category for getting the field criteria for primary or secondary fields

GET /api/v1/layouts/{layout_id}/layoutRules/criteriaFields

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/layouts/4000000013564/layoutRules/criteriaFields?category=primary
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "criteriaFields" : [ {
    "displayLabel" : "Tickets",
    "name" : "tickets",
    "fieldDetails" : [ {
      "availableConditions" : [ {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "accountId",
      "fieldLabel" : "Account Name",
      "i18NLabel" : "Account Name",
      "type" : "lookup"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "contactId",
      "fieldLabel" : "Contact Name",
      "i18NLabel" : "Contact Name",
      "type" : "lookup"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "phone",
      "fieldLabel" : "Phone",
      "i18NLabel" : "Phone",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is OPEN",
        "value" : [ "${OPEN}" ]
      }, {
        "condition" : "is CLOSED",
        "value" : [ "${CLOSED}" ]
      }, {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "status",
      "fieldLabel" : "Status",
      "i18NLabel" : "Status",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "productId",
      "fieldLabel" : "Product Name",
      "i18NLabel" : "Product Name",
      "type" : "lookup"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "is after",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "is before",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "between",
        "value" : [ [ "${CURRENTTIME}", "${CUSTOM}" ], [ "${CURRENTTIME}", "${CUSTOM}" ] ]
      }, {
        "condition" : "not between",
        "value" : [ [ "${CURRENTTIME}", "${CUSTOM}" ], [ "${CURRENTTIME}", "${CUSTOM}" ] ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "dueDate",
      "fieldLabel" : "Due Date",
      "i18NLabel" : "Due Date",
      "type" : "dateTime"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "priority",
      "fieldLabel" : "Priority",
      "i18NLabel" : "Priority",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "channel",
      "fieldLabel" : "Mode",
      "i18NLabel" : "Mode",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "classification",
      "fieldLabel" : "Classification",
      "i18NLabel" : "Classification",
      "type" : "text"
    } ]
  } ]
}

ValidationRules

Validation rules verify that the data an agent enters in a record meets the standards you specify before the agent can save the record.

ATTRIBUTES

Attribute Name
Data Type
Description
fieldName

string

Name of the primary field to be used for creating the validation rule

displayLabel

string

Display Label of the primary field to be used for creating the rule

status

string

Activation status of the validation rule: ACTIVE or DEACTIVE

executeInHelpCentre

boolean

To execute the rule in help centre or not: true or false

fieldConditions

list

Conditions in the validation rule

Example

{
  "fieldConditions" : [ {
    "name" : "condition 1",
    "pattern" : "(1and2)",
    "conditions" : [ {
      "condition" : "is",
      "fieldName" : "phone",
      "value" : [ "9994259718" ]
    }, {
      "condition" : "is",
      "fieldName" : "email",
      "value" : [ "raj@zylker.com" ]
    } ],
    "actions" : {
      "alert" : "Sample Alert"
    }
  } ],
  "fieldName" : "phone",
  "executeInHelpCentre" : true,
  "name" : "Validation Rule 1",
  "description" : "Validation Rule 1 for layout",
  "id" : "4000000020001",
  "systemGenerated" : false,
  "layoutId" : "4000000007723",
  "status" : "active"
}


Get Layout Validation Rule

This API fetches a validation rule configured for your layout.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
include

string

optional,
max chars : 100

Additional information related to rules. Values allowed are:Ā creator, modifier

GET /api/v1/layouts/{layout_id}/validationRules/{validationRule_id}

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/layouts/4000000007723/validationRules/4000000018001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "fieldConditions" : [ {
    "name" : "condition 1",
    "pattern" : "(1and2)",
    "conditions" : [ {
      "condition" : "is",
      "fieldName" : "email",
      "value" : [ "raj@zylker.com" ]
    }, {
      "condition" : "is",
      "fieldName" : "phone",
      "value" : [ "9994259718" ]
    } ],
    "actions" : {
      "alert" : "Sample Alert"
    }
  } ],
  "modifiedTime" : "2018-09-14T01:08:42.000Z",
  "fieldName" : "email",
  "executeInHelpCentre" : false,
  "createdBy" : "4000000015963",
  "createdTime" : "2018-09-14T01:07:22.000Z",
  "modifiedBy" : "4000000015963",
  "id" : "4000000018001",
  "systemGenerated" : false,
  "layoutId" : "4000000013564",
  "status" : "active"
}

Get Layout Validation Rules for department or layout

This API fetches all the validation rules configured for your department/layout.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

optional

Get the rules of the department

layoutId

long

optional

Get the rules of the layout

module

String

optional

Name of the module for which you want to fetch the layout rules. Allowed values are tickets, contacts, accounts, tasks, timeEntry, contracts, products, calls, events

activeLayouts

Boolean

optional

Get the rules for active layouts

activeRules

Boolean

optional

Get the rules that are active in the layout

from

integer

optional,
default : 0,
range : >=0

Index number, starting from which the rules must be fetched

limit

integer

required,
default : 50,
range : 1-50

Number of rules to be fetched. Default is 50

searchString

String

optional

Get the rules that have this search term

executeInHelpCentre

Boolean

optional

Get the rules that can be executed in help centre

include

string

optional,
max chars : 100

Additional information related to the rules. Values allowed are: creator and modifier.

GET /api/v1/validationRules

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/validationRules?layoutId=4000000007723&module=tickets&activeRules=true&from=0&limit=10&searchString=Rule
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "fieldConditions" : [ {
      "name" : "condition 2",
      "pattern" : "(1and2)",
      "conditions" : [ {
        "condition" : "is",
        "fieldName" : "email",
        "value" : [ "carol@zylker.com" ]
      }, {
        "condition" : "is",
        "fieldName" : "phone",
        "value" : [ "9994259718" ]
      } ],
      "actions" : {
        "alert" : "Sample Alert"
      }
    } ],
    "modifiedTime" : "2018-09-14T01:08:42.000Z",
    "fieldName" : "email",
    "executeInHelpCentre" : true,
    "createdBy" : "4000000015963",
    "createdTime" : "2018-09-13T01:16:46.000Z",
    "modifiedBy" : "4000000015963",
    "id" : "4000000017001",
    "systemGenerated" : false,
    "layoutId" : "4000000013564"
  }, {
    "fieldConditions" : [ {
      "name" : "condition 1",
      "pattern" : "(1and2)",
      "conditions" : [ {
        "condition" : "is",
        "fieldName" : "phone",
        "value" : [ "9994259718" ]
      }, {
        "condition" : "is",
        "fieldName" : "email",
        "value" : [ "carol@zylker.com" ]
      } ],
      "actions" : {
        "alert" : "Sample Alert"
      }
    } ],
    "modifiedTime" : "2018-09-14T01:08:42.000Z",
    "fieldName" : "phone",
    "executeInHelpCentre" : false,
    "createdBy" : "4000000015963",
    "createdTime" : "2018-09-13T01:49:03.000Z",
    "modifiedBy" : "4000000015963",
    "id" : "4000000018001",
    "systemGenerated" : false,
    "layoutId" : "4000000013564",
    "status" : "active"
  } ]
}

Create Layout Validation Rule

This API creates a validation rule for a field in a layout.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
include

string

optional,
max chars : 100

Additional information related to rules. Values allowed are:Ā creator, modifier

Attributes

Param Name
Data Type
Description
fieldName

string

required,
max chars : 255

Name of the primary field to be used for creating the validation rule

displayLabel

string

optional,
max chars : 250

Display Label of the primary field to be used for creating the rule

status

string

optional,
max chars : 100

Activation status of the validation rule: ACTIVE or DEACTIVE

executeInHelpCentre

boolean

optional

To execute the rule in help centre or not: true or false

fieldConditions

list

required

Conditions in the validation rule

POST /api/v1/layouts/layout_id/validationRules

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/layouts/4000000007723/validationRules
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "fieldConditions" : [ { "name" : "condition 2", "pattern" : "(1and2)", "conditions" : [ { "condition" : "is", "fieldName" : "email", "value" : [ "carol@zylker.com" ] }, { "condition" : "is", "fieldName" : "phone", "value" : [ "9994219718" ] } ], "actions" : { "alert" : "Sample Alert" } } ], "executeInHelpCentre" : true, "fieldName" : "email", "name" : "Validation Rule 1", "description" : "Rule 1 for layout" }'

Response Example

{
  "fieldConditions" : [ {
    "name" : "condition 2",
    "pattern" : "(1and2)",
    "conditions" : [ {
      "condition" : "is",
      "fieldName" : "email",
      "value" : [ "carol@zylker.com" ]
    }, {
      "condition" : "is",
      "fieldName" : "phone",
      "value" : [ "9994219718" ]
    } ],
    "actions" : {
      "alert" : "Sample Alert"
    }
  } ],
  "modifiedTime" : "2018-09-07T06:50:48.697Z",
  "fieldName" : "email",
  "executeInHelpCentre" : true,
  "createdBy" : "4000000015963",
  "createdTime" : "2018-09-07T06:50:48.697Z",
  "modifiedBy" : "4000000015963",
  "id" : "4000000018001",
  "systemGenerated" : false,
  "layoutId" : "4000000013564",
  "status" : "active"
}

Update Layout Validation Rule

This API updates the details of an existing validation rule in a particular layout.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
include

string

optional,
max chars : 100

Additional information related to rules. Values allowed are:Ā creator, modifier

Attributes

Param Name
Data Type
Description
fieldName

string

optional,
max chars : 255

Name of the primary field to be used for creating the validation rule

displayLabel

string

optional,
max chars : 250

Display Label of the primary field to be used for creating the rule

status

string

optional,
max chars : 100

Activation status of the validation rule: ACTIVE or DEACTIVE

executeInHelpCentre

boolean

optional

To execute the rule in help centre or not: true or false

fieldConditions

list

optional

Conditions in the validation rule

PATCH /api/v1/layouts/{layout_id}/validationRules/{validationRule_id}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/layouts/4000000007723/validationRules/4000000021001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "fieldConditions" : [ { "name" : "condition 2", "pattern" : "(1and2)", "conditions" : [ { "condition" : "is", "fieldName" : "email", "value" : [ "carol@zylker.com" ] }, { "condition" : "is", "fieldName" : "phone", "value" : [ "9994219718" ] } ], "actions" : { "alert" : "Sample Alert" } }, { "name" : "condition 3", "pattern" : "(1and2)", "conditions" : [ { "condition" : "is", "fieldName" : "email", "value" : [ "carol@zylker.com" ] }, { "condition" : "is", "fieldName" : "phone", "value" : [ "99922299922" ] } ], "actions" : { "alert" : "Sample Alert1" } } ], "fieldName" : "email", "executeInHelpCentre" : false, "name" : "Validation Rule 1", "description" : "Rule 1 for layout" }'

Response Example

{
  "fieldConditions" : [ {
    "name" : "condition 2",
    "pattern" : "(1and2)",
    "conditions" : [ {
      "condition" : "is",
      "fieldName" : "email",
      "value" : [ "carol@zylker.com" ]
    }, {
      "condition" : "is",
      "fieldName" : "phone",
      "value" : [ "9994219718" ]
    } ],
    "actions" : {
      "alert" : "Sample Alert"
    }
  }, {
    "name" : "condition 3",
    "pattern" : "(1and2)",
    "conditions" : [ {
      "condition" : "is",
      "fieldName" : "email",
      "value" : [ "carol@zylker.com" ]
    }, {
      "condition" : "is",
      "fieldName" : "phone",
      "value" : [ "99922299922" ]
    } ],
    "actions" : {
      "alert" : "Sample Alert1"
    }
  } ],
  "modifiedTime" : "2018-09-07T06:50:48.697Z",
  "fieldName" : "email",
  "description" : "Rule 1 for layout",
  "systemGenerated" : false,
  "layoutId" : "4000000007723",
  "executeInHelpCentre" : false,
  "createdBy" : "4000000015963",
  "name" : "Rule 11",
  "createdTime" : "2018-09-07T06:50:48.697Z",
  "modifiedBy" : "4000000015963",
  "id" : "4000000021001",
  "status" : "active"
}

Delete Validation Rule

This API deletes a validation rule created for a field from a layout.

Credit: 1 credit/call

DELETE /api/v1/layouts/{layout_id}/validationRules/{validationRule_id}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/layouts/4000000007723/validationRules/4000000021001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

List Criteria Fields For Layout Validation Rules

This API lists the fields that can be used in criteria of a specified module in validation rules. Available pre-defined values may contain ${EMPTY}, ${NOTEMPTY}, ${OPEN}, ${CLOSED}, ${CURRENTTIME}. Available types are Text, Date, DateTime, Text, Boolean and Arithmetic.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
category

String

required

Category for getting the field criteria for primary or secondary fields

GET /api/v1/layouts/{layout_id}/validationRules/criteriaFields

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/layouts/4000000013564/validationRules/criteriaFields?category=primary
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "criteriaFields" : [ {
    "displayLabel" : "Tickets",
    "name" : "tickets",
    "fieldDetails" : [ {
      "availableConditions" : [ {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "email",
      "fieldLabel" : "Email",
      "i18NLabel" : "Email",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "phone",
      "fieldLabel" : "Phone",
      "i18NLabel" : "Phone",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "subject",
      "fieldLabel" : "Subject",
      "i18NLabel" : "Subject",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is OPEN",
        "value" : [ "${OPEN}" ]
      }, {
        "condition" : "is CLOSED",
        "value" : [ "${CLOSED}" ]
      }, {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "status",
      "fieldLabel" : "Status",
      "i18NLabel" : "Status",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldName" : "classification",
      "fieldLabel" : "Classification",
      "i18NLabel" : "Classification",
      "type" : "text"
    } ]
  } ]
}

Data Sharing Rules

Data sharing rules refer to user permissions related to viewing and/or editing resources in the different modules in Zoho Desk.

ATTRIBUTES

Attribute Name
Data Type
Description
contracts

string

Data sharing rules related to SLA contracts

tickets

string

Data sharing rules related to tickets

contacts

string

Data sharing rules related to contacts

accounts

string

Data sharing rules related to accounts

products

string

Data sharing rules related to products

tasks

string

Data sharing rules related to tasks

calls

string

Data sharing rules related to calls

events

string

Data sharing rules related to events

cm_[a-zA-Z0-9_]+

string

Data sharing rules related to custom module

Example

{
  "tickets" : "public",
  "calls" : "public read only",
  "accounts" : "public read only",
  "contracts" : "private",
  "contacts" : "public",
  "tasks" : "private",
  "events" : "public",
  "products" : "public"
}


Get data sharing rules

This API fetches the different data sharing rules configured in your help desk portal.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/dataSharingRules

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/dataSharingRules
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "tickets" : "public",
  "calls" : "public read only",
  "accounts" : "public read only",
  "contracts" : "private",
  "contacts" : "public",
  "tasks" : "private",
  "events" : "public",
  "products" : "public"
}

Update data sharing rules

This API updates the data sharing rules configured in your help desk portal.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
contracts

string

optional,
max chars : 100

Data sharing rules related to SLA contracts

tickets

string

optional,
max chars : 100

Data sharing rules related to tickets

contacts

string

optional,
max chars : 100

Data sharing rules related to contacts

accounts

string

optional,
max chars : 100

Data sharing rules related to accounts

products

string

optional,
max chars : 100

Data sharing rules related to products

tasks

string

optional,
max chars : 100

Data sharing rules related to tasks

calls

string

optional,
max chars : 100

Data sharing rules related to calls

events

string

optional,
max chars : 100

Data sharing rules related to events

cm_[a-zA-Z0-9_]+

string

optional,
max chars : 100

Data sharing rules related to custom module

PATCH /api/v1/dataSharingRules

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/dataSharingRules
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "tickets" : "public", "calls" : "public read only", "accounts" : "public read only", "contracts" : "private", "contacts" : "public", "tasks" : "private", "events" : "public", "products" : "public" }'

Response Example

204

Agents

Agents are the customer service executives in your organization. They are the primary users of the helpdesk software, using which they interact with contacts and resolve tickets.

ATTRIBUTES

Attribute Name
Data Type
Description
emailId

string

Email ID of the agent

status

string

Activation status of the agent: ACTIVE or DISABLED

lastName

string

Last name of the agent

firstName

string

First name of the agent

name

string

Full name of the agent

phone

string

Phone number of the agent

mobile

string

Mobile number of the agent

extn

string

Extension number of the agent

associatedDepartmentIds

list

Departments with which the agent is associated

associatedChatDepartmentIds

list

Chat departments with which the agent is associated

id

long

ID of the agent

zuid

long

Zoho user ID of the agent

roleId

long

Role ID of the agent

profileId

long

Profile ID of the agent

photoURL

string

URL of the image file displaying the agent's photo

isConfirmed

boolean

Key that returns if the agent is a confirmed user in the portal or not

rolePermissionType

string

The Role Permission type of Agent

aboutInfo

string

Agent's about info

channelExpert

list

The channels handled for the Agent

countryCode

string

Country code of the agent. Agents can update only their countryCode. They cannot update the countryCode of other users.

timeZone

string

The timeZone of the agent. Eg Asia/Calcutta, Europe/Moscow. One can update his own timeZone only. If it is passed for other agent it will be ignored.

langCode

string

Language code of the agent. Agents can update only their langCode. They cannot update the langCode of other users.

Example

{
  "lastName" : "case",
  "extn" : "3298",
  "roleId" : "1892000000056099",
  "langCode" : "fr_FR",
  "mobile" : "",
  "timeZone" : "Pacific/Majuro",
  "emailId" : "case@zylker.com",
  "associatedChatDepartmentIds" : [ ],
  "zuid" : "10687231",
  "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069", "1892000000639717" ],
  "firstName" : "",
  "photoURL" : null,
  "phone" : "492-736-6424",
  "profileId" : "1892000000056091",
  "countryCode" : "en_US",
  "channelExpert" : [ "Facebook", "Chat", "Phone", "Twitter", "Web", "Email", "Forums" ],
  "name" : "case",
  "rolePermissionType" : "Admin",
  "isConfirmed" : true,
  "aboutInfo" : "Expert in handling tickets and Automations",
  "id" : "1892000000056007",
  "status" : "ACTIVE"
}


Get agent

This API fetches details of an agent in your help desk.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

string

optional,
max chars : 100

Secondary information related to the agent. Values allowed are profile, role, associatedDepartments, associatedChatDepartments and verifiedEmails. You can include all four values by separating them with commas in the API request.

GET /api/v1/agents/{agent_id}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL
  • Java

$ curl -X GET https://desk.zoho.com/api/v1/agents/1892000000056096?include=profile,role,associatedDepartments,associatedChatDepartments
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AgentAPI agent = ZDesk.getAgentAPIInstance(mailId); <br/> Agent response = agent.getAgent( agentId, include );

Response Example

{
  "associatedChatDepartments" : [ {
    "name" : "Developement",
    "id" : "1892000000006907"
  } ],
  "lastName" : "case",
  "extn" : "3298",
  "role" : {
    "name" : "CEO",
    "id" : "1892000000056099"
  },
  "langCode" : "fr_FR",
  "emailId" : "case@zylker.com",
  "photoURL" : null,
  "countryCode" : "en_US",
  "isConfirmed" : true,
  "id" : "1892000000056096",
  "roleId" : "1892000000056099",
  "profile" : {
    "name" : "Administrator",
    "id" : "1892000000056091"
  },
  "mobile" : "",
  "timeZone" : "Pacific/Majuro",
  "associatedChatDepartmentIds" : [ "1892000000006907" ],
  "zuid" : "10687231",
  "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069" ],
  "associatedDepartments" : [ {
    "name" : "Developement",
    "id" : "1892000000006907"
  }, {
    "name" : "R & D",
    "id" : "1892000000082069"
  } ],
  "firstName" : "",
  "phone" : "492-736-6424",
  "profileId" : "1892000000056091",
  "channelExpert" : [ "Facebook", "Chat", "Phone", "Twitter", "Web", "Email", "Forums" ],
  "name" : "case",
  "rolePermissionType" : "Admin",
  "aboutInfo" : "Expert in handling tickets and Automations",
  "status" : "ACTIVE"
}

List agents

This API lists a particular number of agents, based on the limit specified.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional,
range : >=0

Index number, starting from which the agents must be fetched

limit

integer

optional,
range : 0-200

Number of agents to fetch. The default value is 10 and the maximum value supported is 200.

status

string

optional,
max chars : 100

Key that filters agents based on their activation status: ACTIVE, DISABLED, DELETED or IMPORTED

departmentIds
see documentation

long

optional

Comma-separated array of department IDs. Maximum number of IDs allowed is 50.

profileIds
see documentation

long

optional

Comma-separated array of profile IDs. Maximum number of IDs allowed is 50.

long

optional

Comma-separated array of role IDs. Maximum number of IDs allowed is 50.

rolePermissionType

string

optional,
max chars : 100

Types of roles and permissions of the agents to list. The allowed values are AgentPublic, AgentPersonal,AgentTeamPersonal, Admin, Light, Custom, and ${NON_LIGHT}. ${NON_LIGHT} refers to agents who are not associated with the light agent profile.

isConfirmed

boolean

optional

Key that denotes if the agents must be confirmed or unconfirmed.

isLightAgent

boolean

optional

Key that denotes if the agents must be light or non light.

string

optional,
max chars : 100

Secondary information related to agents, The allowed values are profile, role. You can include all two values by separating them with commas in the API request.

searchStr

string

optional,
max chars : 100

String to search for agents by first name, last name, or email ID. The string must contain at least one character. The supported search methods: 1) string* - Searches for agents whose first name, last name, or email ID start with the string, 2) *string* - Searches for agents whose first name, last name, or email ID contain the string, 3) string - Searches for agents whose first name, last name, or email ID is an exact match for the string

fieldName

string

optional,
max chars : 100

Name of the field that must be used for searching and listing agents. The allowed values are: firstName, lastName, name, and emailId

cfSearchStr

string

optional,
max chars : 100

String to search for agents by custom field. The string must contain at least one character

cfFieldName

string

optional,
max chars : 100

API name of the custom field that must be used for searching and listing agents

sortOrder

string

optional,
max chars : 100

To sort the available list of agents in either ascending or descending order. The allowed values are: asc or desc

GET /api/v1/agents

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL
  • Java

$ curl -X GET https://desk.zoho.com/api/v1/agents
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AgentAPI agent = ZDesk.getAgentAPIInstance(mailId); <br/> GetAgentsFilter filter = new GetAgentsFilter.Builder().setFieldName(fieldName).build(); <br/> List&lt;Agent&gt; response = agent.getAgents( from, limit, include, filter );

Response Example

{
  "data" : [ {
    "lastName" : "case",
    "extn" : "3298",
    "isZiaAgent" : false,
    "roleId" : "1892000000056099",
    "langCode" : "en_US",
    "mobile" : "",
    "timeZone" : "Asia/Kolkata",
    "emailId" : "case@zylker.com",
    "associatedChatDepartmentIds" : [ ],
    "zuid" : "10687231",
    "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069", "1892000000639717" ],
    "firstName" : "zyl",
    "photoURL" : null,
    "phone" : "492-736-6424",
    "profileId" : "1892000000056091",
    "countryCode" : "en_US",
    "channelExpert" : [ "Facebook", "Chat", "Phone", "Twitter", "Web", "Email", "Forums" ],
    "name" : "zyl case",
    "rolePermissionType" : "Admin",
    "isConfirmed" : true,
    "aboutInfo" : "Expert in handling tickets and Automations",
    "id" : "1892000000056007",
    "status" : "ACTIVE"
  }, {
    "lastName" : "jade",
    "extn" : "3203",
    "isZiaAgent" : false,
    "roleId" : "1892000000056899",
    "langCode" : "en_US",
    "mobile" : "",
    "timeZone" : "Asia/Kolkata",
    "emailId" : "jade@zylker.com",
    "associatedChatDepartmentIds" : [ ],
    "zuid" : "10657727",
    "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069", "1892000000639717", "1892000001019041", "1892000001106673", "1892000001109673" ],
    "firstName" : "",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=3981311",
    "phone" : "",
    "profileId" : "1892000000056091",
    "countryCode" : "en_US",
    "channelExpert" : [ "Facebook", "Chat", "Phone", "Twitter", "Web" ],
    "name" : "jade",
    "rolePermissionType" : "Light",
    "isConfirmed" : true,
    "aboutInfo" : "Expert in handling tasks",
    "id" : "1892000000042001",
    "status" : "ACTIVE"
  }, {
    "lastName" : "john",
    "extn" : "3228",
    "isZiaAgent" : false,
    "roleId" : "1892000000056004",
    "langCode" : "en_US",
    "mobile" : "",
    "timeZone" : "Asia/Kolkata",
    "emailId" : "john@zylker.com",
    "associatedChatDepartmentIds" : [ ],
    "zuid" : "10713988",
    "associatedDepartmentIds" : [ "1892000000006907", "1892000001019041" ],
    "firstName" : "",
    "photoURL" : null,
    "phone" : "68779989",
    "profileId" : "18920000000232043",
    "countryCode" : "en_US",
    "channelExpert" : [ "Chat", "Phone", "Twitter", "Web", "Email" ],
    "name" : "john",
    "rolePermissionType" : "AgentPersonal",
    "isConfirmed" : true,
    "aboutInfo" : "Expert in handling Workflows and Agents",
    "id" : "1892000000070001",
    "status" : "DISABLED"
  }, {
    "lastName" : "Waugh",
    "extn" : "4020",
    "isZiaAgent" : false,
    "roleId" : "1892000000056004",
    "langCode" : "ja_JP",
    "mobile" : "",
    "timeZone" : "Asia/Tokyo",
    "emailId" : "stephen@zylker.com",
    "associatedChatDepartmentIds" : [ ],
    "zuid" : null,
    "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069", "1892000000639717" ],
    "firstName" : "Steve",
    "photoURL" : null,
    "phone" : "",
    "profileId" : "18920000000232043",
    "countryCode" : "en_US",
    "channelExpert" : [ ],
    "name" : "Steve Waugh",
    "rolePermissionType" : "Custom",
    "isConfirmed" : false,
    "aboutInfo" : "Expert in handling Knowledge base and comunity ",
    "id" : "1892000000888059",
    "status" : "ACTIVE"
  } ]
}

Get agents count

This API lists the agents count by status, confirmed and include light

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
status

string

optional,
max chars : 100

Parameter that filters agents based on their activation status: ACTIVE or DISABLED

isConfirmed

boolean

optional

Filters Confirmed & Unconfirmed agents

includeLightAgent

boolean

optional

Count light agent.

GET /api/v1/agents/count

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/agents/count
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "count" : 5
}

Get agent details by agentId

This API fetches details of agents via the agent IDs passed in the API request.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
agentIds

long

required

Comma-separated array of agent IDs. Maximum number of IDs allowed is 50.

GET /api/v1/agentsByIds?agentIds={agent_ids}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL
  • Java

$ curl -X GET https://desk.zoho.com/api/v1/agentsByIds?agentIds=1892000000056007,1892000000042001,1892000000888059
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AgentAPI agent = ZDesk.getAgentAPIInstance(mailId); <br/> List&lt;Agent&gt; response = agent.getAgentsByIds(agentIds );

Response Example

{
  "data" : [ {
    "firstName" : "",
    "lastName" : "case",
    "photoURL" : null,
    "roleId" : "7000000012324",
    "profileId" : "7000000012339",
    "emailId" : "case@zylker.com",
    "id" : "1892000000056007",
    "zuid" : "437793"
  }, {
    "firstName" : "",
    "lastName" : "jade",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=3981311",
    "roleId" : "7000000012324",
    "profileId" : "7000000012339",
    "emailId" : "jade@zylker.com",
    "id" : "1892000000042001",
    "zuid" : "279392"
  }, {
    "firstName" : "Steve",
    "lastName" : "Waugh",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000888059/photo?orgId=3981311",
    "roleId" : "70000000127346",
    "profileId" : "70000000120834",
    "emailId" : "stephen@zylker.com",
    "id" : "1892000000888059",
    "zuid" : "91723912"
  } ]
}

Get My Information

This API fetches details of the currently logged in agent.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

string

optional,
max chars : 100

Secondary information related to the agent. Values allowed are profile, role, associatedDepartments, and associatedChatDepartments. You can pass multiple values by separating them with commas in the query param

GET /api/v1/myinfo

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL
  • Java

$ curl -X GET https://desk.zoho.com/api/v1/myinfo?include=profile,role,associatedDepartments,associatedChatDepartments
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AgentAPI agent = ZDesk.getAgentAPIInstance(mailId); <br/> Agent response = agent.getMyInfo( include );

Response Example

{
  "associatedChatDepartments" : [ {
    "sanitizedName" : "Developement",
    "name" : "Developement",
    "id" : "1892000000006907"
  } ],
  "lastName" : "Emard",
  "extn" : "",
  "role" : {
    "name" : "CEO",
    "id" : "1892000000056099"
  },
  "langCode" : "fr_FR",
  "emailId" : "emardtorrey@zylker.com",
  "photoURL" : null,
  "countryCode" : "en_US",
  "isConfirmed" : true,
  "id" : "1892000000056007",
  "roleId" : "1892000000056099",
  "profile" : {
    "name" : "Administrator",
    "id" : "1892000000056091"
  },
  "mobile" : "",
  "timeZone" : "Pacific/Majuro",
  "associatedChatDepartmentIds" : [ "1892000000006907" ],
  "zuid" : "10687231",
  "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069" ],
  "associatedDepartments" : [ {
    "sanitizedName" : "Developement",
    "name" : "Developement",
    "id" : "1892000000006907"
  }, {
    "sanitizedName" : "r-d",
    "name" : "R & D",
    "id" : "1892000000082069"
  } ],
  "firstName" : "Torrey",
  "phone" : "",
  "profileId" : "1892000000056091",
  "channelExpert" : [ "Facebook", "Chat", "Phone", "Twitter", "Web", "Email", "Forums" ],
  "name" : "Torrey Emard",
  "rolePermissionType" : "Admin",
  "aboutInfo" : "Expert in handling tickets and Automations",
  "status" : "ACTIVE"
}

Activate agents

This API activates agents in your help desk.

Credit: 1 credit/2 records

Attributes

Param Name
Data Type
Description
agentIds

list

required

Ids of Agents

POST /api/v1/agents/activate

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/agents/activate
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "agentIds" : [ 1892000000056007, 1892000000056008 ] }'

Response Example

204

Deactivate agent

This API deactivates an agent in your help desk.

Credit: 1 credit/call

POST /api/v1/agents/{agent_id}/deactivate

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/agents/19000001075071/deactivate
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Reinvite unconfirmed agents

This API sends reinvitation mails to unconfirmed agents.

Credit: 1 credit/2 records

Attributes

Param Name
Data Type
Description
agentIds

list

required

Ids of Agents

POST /api/v1/agents/reinvite

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/agents/reinvite
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "agentIds" : [ 1892000000056007, 1892000000056008 ] }'

Response Example

204

Add agent

This API adds an agent to your help desk.


Keep in mind the following points while adding an agent:

  1. TheĀ emailId,Ā lastName,Ā associatedDepartmentIds, andĀ rolePermissionTypeĀ are mandatory in the API request.
  2. To assign the profile and role for the agents, pass any of the following values with theĀ rolePermissionTypeĀ key:
    1. For the Support Administrator profile and CEO role, passĀ "rolePermissionType":"Admin"
    2. For the Agent profile and public role, passĀ "rolePermissionType":"AgentPublic"
    3. For the Agent profile and personal role, passĀ "rolePermissionType":"AgentPersonal"
    4. For custom profiles and roles, passĀ "rolePermissionType":"Custom" andĀ "roleId":"<actual role ID>", "profileId":"<actual profile ID>"
    5. For the light agent profile and role, passĀ "rolePermissionType":"Light"
    6. For the Agent profile and Personal Team role, passĀ "rolePermissionType":"AgentTeamPersonal"

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
emailId

string

required,
max chars : 100

Email ID of the agent

lastName

string

required,
max chars : 50

Last name of the agent

firstName

string

optional,
max chars : 50

First name of the agent

phone

string

optional,
max chars : 100

Phone number of the agent

mobile

string

optional,
max chars : 100

Mobile number of the agent

extn

string

optional,
max chars : 100

Extension number of the agent

associatedDepartmentIds

list

required

Departments with which the agent is associated

associatedChatDepartmentIds

list

optional

Chat departments with which the agent is associated

rolePermissionType

string

required,
max chars : 100

The Role Permission type of Agent

aboutInfo

string

optional,
max chars : 255

Agent's about info

channelExpert

list

optional

The channels handled for the Agent

countryCode

string

optional,
max chars : 100

Country code of the agent. Agents can update only their countryCode. They cannot update the countryCode of other users.

timeZone

string

optional,
max chars : 100

The timeZone of the agent. Eg Asia/Calcutta, Europe/Moscow. One can update his own timeZone only. If it is passed for other agent it will be ignored.

langCode

string

optional,
max chars : 100

Language code of the agent. Agents can update only their langCode. They cannot update the langCode of other users.

POST /api/v1/agents

OAuth Scope

Desk.settings.CREATE , Desk.basic.CREATE

Request Example

  • CURL
  • Java

$ curl -X POST https://desk.zoho.com/api/v1/agents
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "lastName" : "Walsh", "firstName" : "Marisol", "countryCode" : "en_US", "langCode" : "fr_FR", "rolePermissionType" : "Admin", "emailId" : "marisol51@zylker.com", "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069" ] }'

AgentAPI agent = ZDesk.getAgentAPIInstance(mailId); <br/> Agent agentObj = new Agent();</br> agentObj.setLastName(lastName);<br/>agentObj.setExtn(extn);<br/>agentObj.setLangCode(langCode);<br/>agentObj.setMobile(mobile);<br/>agentObj.setEmailId(emailId);<br/>agentObj.setFirstName(firstName);<br/> Agent response = agent.addAgent( agentObj );

Response Example

{
  "lastName" : "Walsh",
  "extn" : "",
  "roleId" : "1892000000056099",
  "langCode" : "fr_FR",
  "mobile" : "",
  "timeZone" : "Pacific/Majuro",
  "emailId" : "marisol51@zylker.com",
  "associatedChatDepartmentIds" : [ ],
  "zuid" : "",
  "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069" ],
  "firstName" : "Marisol",
  "photoURL" : null,
  "phone" : "",
  "profileId" : "1892000000056091",
  "countryCode" : "en_US",
  "channelExpert" : [ ],
  "name" : "Walsh Marisol",
  "rolePermissionType" : "Admin",
  "isConfirmed" : true,
  "aboutInfo" : "",
  "id" : "1892000000056007",
  "status" : "ACTIVE"
}

Update agent

This API updates details of an agent.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
emailId

string

optional,
max chars : 100

Email ID of the agent

lastName

string

optional,
max chars : 50

Last name of the agent

firstName

string

optional,
max chars : 50

First name of the agent

phone

string

optional,
max chars : 100

Phone number of the agent

mobile

string

optional,
max chars : 100

Mobile number of the agent

extn

string

optional,
max chars : 100

Extension number of the agent

associatedDepartmentIds

list

optional

Departments with which the agent is associated

associatedChatDepartmentIds

list

optional

Chat departments with which the agent is associated

rolePermissionType

string

optional,
max chars : 100

The Role Permission type of Agent

aboutInfo

string

optional,
max chars : 255

Agent's about info

channelExpert

list

optional

The channels handled for the Agent

countryCode

string

optional,
max chars : 100

Country code of the agent. Agents can update only their countryCode. They cannot update the countryCode of other users.

timeZone

string

optional,
max chars : 100

The timeZone of the agent. Eg Asia/Calcutta, Europe/Moscow. One can update his own timeZone only. If it is passed for other agent it will be ignored.

langCode

string

optional,
max chars : 100

Language code of the agent. Agents can update only their langCode. They cannot update the langCode of other users.

PATCH /api/v1/agents/{agent_id}

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL
  • Java

$ curl -X PATCH https://desk.zoho.com/api/v1/agents/1892000000056007
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "lastName" : "Marisol Walsh", "firstName" : "K", "phone" : "764-484-8068", "rolePermissionType" : "Light", "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069" ] }'

AgentAPI agent = ZDesk.getAgentAPIInstance(mailId); <br/> Agent agentObj = new Agent();</br> agentObj.setLastName(lastName);<br/>agentObj.setExtn(extn);<br/>agentObj.setLangCode(langCode);<br/>agentObj.setMobile(mobile);<br/>agentObj.setEmailId(emailId);<br/>agentObj.setFirstName(firstName);<br/> Agent response = agent.updateAgent( agentId, agentObj );

Response Example

{
  "lastName" : "Marisol Walsh",
  "extn" : "3298",
  "roleId" : "1892000000056099",
  "langCode" : "fr_FR",
  "mobile" : "",
  "timeZone" : "Pacific/Majuro",
  "emailId" : "marisol51@zylker.com",
  "associatedChatDepartmentIds" : [ ],
  "zuid" : "10687231",
  "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069" ],
  "firstName" : "K",
  "photoURL" : null,
  "phone" : "764-484-8068",
  "profileId" : "1892000000056091",
  "countryCode" : "en_US",
  "channelExpert" : [ "Facebook", "Email", "Forums" ],
  "name" : "K Marisol Walsh",
  "rolePermissionType" : "Admin",
  "isConfirmed" : true,
  "aboutInfo" : "Expert in handling Reports",
  "id" : "1892000000056007",
  "status" : "ACTIVE"
}

Delete unconfirmed agents

This API deletes unconfirmed agents from your help desk.

Credit: 6 credits/record

Attributes

Param Name
Data Type
Description
agentIds

list

required

Ids of Agents

POST /api/v1/agents/deleteUnconfirmed

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/agents/deleteUnconfirmed
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "agentIds" : [ 1892000000056007, 1892000000056008 ] }'

Response Example

204

Delete confirmed agent

This API deletes a confirmed agent from your help desk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
anonymizedName

string

optional,
max chars : 50

Nickname of the agent, which will appear on their entity history page

isAnonymize

boolean

optional

Key that determines if the deleted agent must be anonymized in the help desk

POST /api/v1/agents/{agent_id}/delete

OAuth Scope

Desk.settings.DELETE , Desk.basic.DELETE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/agents/19000001075071/delete
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "anonymizedName" : "Anonyme", "isAnonymize" : true }'

Response Example

204

Anonymize deleted agent

This API removes the identification details of a deleted agent.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
anonymizedName

string

optional,
max chars : 50

Nickname of the agent, which will appear on their entity history page

POST /api/v1/deletedAgents/{agent_id}/anonymize

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/deletedAgents/19000001075071/anonymize
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "anonymizedName" : "Anonyme" }'

Response Example

204

Upload my photo

This API sets the profile photo for the currently logged in agent.

Note: To upload your photo generate OAuthToken for the scope: Desk.settings.UPDATE,profile.userphoto.UPDATE or Desk.basic.UPDATE,profile.userphoto.UPDATE

Credit: 1 credit/call

File Params

userPhoto

Content-Type:multipart/form-data

Image file containing the agent's photo. Maximum file size allowed is 500KB; maximum file limit is one; and extensions allowed are: .jpg, .png, .gif, and .jpeg.

POST /api/v1/uploadMyPhoto

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/uploadMyPhoto
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000056007/photo?orgId=3981311"
}

Get agent photo

This API gets the profile photo for the given agent id.

Note: To get agent photo generate OAuthToken for the scope: Desk.settings.READ,profile.userphoto.READ or Desk.basic.READ,profile.userphoto.READ

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
fileSize

string

optional,
max chars : 100

Size of the image file to download. Values allowed are THUMBNAIL (image with reduced dimensions and size) and ACTUAL (image with actual dimensions and size). The default value is ACTUAL.

GET /api/v1/agents/{agent_id}/photo?orgId={org_id}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/agents/1892000000056007/photo?orgId=3981311&fileSize=THUMBNAIL
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Delete My Photo

This API deletes the profile photo of the currently logged in agent.

Credit: 1 credit/call

POST /api/v1/deleteMyPhoto

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/deleteMyPhoto
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Get My Preferences

This API fetches the preferences of the currently logged in agent.

Credit: 1 credit/call

GET /api/v1/myPreferences

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/myPreferences
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "namePattern" : [ "FIRST_NAME", "LAST_NAME" ],
  "articleAutoSuggestion" : "ENABLED",
  "keyBoardShortcuts" : "ENABLED",
  "pinAllAccounts" : "ENABLED",
  "outBoxDelayTime" : "60S",
  "collapseSidePanel" : "DISABLED",
  "pinAllTickets" : "ENABLED",
  "ticketConversationView" : "ENABLED",
  "contactsView" : "LIST",
  "accountsView" : "LIST",
  "pinAllContacts" : "ENABLED",
  "ticketsView" : "DUEDATE_QUEUE",
  "datePattern" : "dd/MM/yyyy",
  "defaultSendBehavior" : "Send",
  "currentDepartment" : "allDepartment",
  "timeFormat" : "12-hour",
  "outBoxDelay" : "DISABLED",
  "pinAllDashboards" : "DISABLED",
  "loginLandingPage" : "LISTVIEW",
  "loadGettingStartedPage" : "DISABLED",
  "pinAllReports" : "ENABLED"
}

Update My Preferences

This API updates the preferences of the currently logged in agent.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
namePattern

List

optional

Pattern that defines how the names should be displayed

currentDepartment

long

optional

A valid active departmentId to which the agent is associated | 'allDepartment'

reportDurationFormat

string

optional,
max chars : 100

Pattern that defines which duration format is used for duration fields in Reports

ui_appearance

string

optional,
max chars : 100

Select the App appearance: light or dark or auto or pureDark

ui_lhsTheme

string

optional,
max chars : 100

Select the Left panel appearance: light or dark

ui_pureDarkMode

string

optional,
max chars : 100

Enable or Disable the pure dark Mode: ENABLED or DISABLED

ui_themes

string

optional,
max chars : 100

Select the App theme: red or green or blue or yellow or orange or pink or skyBlue or teal

ui_displayLayout

string

optional,
max chars : 100

Select the App layout that is optimal for your screen resolution: smartFocus or focusedWidth or fullWidth

ui_displayLayoutWidth

string

optional,
max chars : 100

Select the App layout width: 59 to 89

ui_appFontFamily

string

optional,
max chars : 100

Select the App font family: Zoho Puvi or Lato or Roboto or Vazirmatn or OpenDyslexic or Poppins

ui_appFontSize

string

optional,
max chars : 100

Select the App font size: 8 to 24

core_editorFontFamily

string

optional,
max chars : 100

Select the Editor font family: Lato or Roboto or Zoho Puvi or Arial or Carlito or Helvetica or Verdana or Wide or Courier New or Comic Sans MS or Garamond or Georgia or Narrow or Serif or Tahoma or Times New Roman or MotoyaLMaru or Trebuchet or Mulish or Vazirmatn or OpenDyslexic or Poppins

core_editorFontSize

string

optional,
max chars : 100

Select the Editor Font Size: 8 or 10 or 12 or 14 or 18 or 24 36

core_isPublicComment

string

optional,
max chars : 100

Enable or Disable the Public comment: ENABLED or DISABLED

a11y_criticalLink

string

optional,
max chars : 100

Highlight the Critical link: ENABLED or DISABLED

a11y_underlineLink

string

optional,
max chars : 100

Highlight the link by Underline: ENABLED or DISABLED

a11y_highlightClick

string

optional,
max chars : 100

Highlight the Clickable area: ENABLED or DISABLED

a11Y_animationControls

string

optional,
max chars : 100

Enable or Disable the Animations: regularmotion or reducedmotion or autoReducedmotion

a11y_customScroll

string

optional,
max chars : 100

Enable or Disable the Custom scroll: ENABLED or DISABLED

a11y_zoomLevel

string

optional,
max chars : 100

Select the App Zoom level: 8 to 24

a11y_isFontSizeAdaptToZoom

string

optional,
max chars : 100

Set the App Font size based on the zoom level: ENABLED or DISABLED

a11y_needAccessibilityShortCutInWms

string

optional,
max chars : 100

Enable or Disable the Accessibility ShortCut in wms: ENABLED or DISABLED

a11y_contrast

string

optional,
max chars : 100

Enable or Disable the App Increased Contrast: ENABLED or DISABLED

a11y_contrastLevel

string

optional,
max chars : 100

Select the App Contrast level: low or medium or high

a11y_isContrastRatioAdaptForBg

string

optional,
max chars : 100

Automatically Adapt the Contrast ratio for backgrounds: ENABLED or DISABLED

a11y_readingMask

string

optional,
max chars : 100

Enable or Disable the App Rading Mask: ENABLED or DISABLED

a11y_readingMaskLevel

string

optional,
max chars : 100

Select the Reading mask level: small or medium or full or custom

a11y_readingMaskHeight

string

optional,
max chars : 100

Select the Reading mask height: 10 to 90

a11y_readingMaskWidth

string

optional,
max chars : 100

Select the Reading mask width: 10 to 100

a11y_readingMaskOpacity

string

optional,
max chars : 100

Select the Reding mask opacity: 0.15 to 0.9

core_ticketReplyActions

string

optional,
max chars : 100

Select the Ticket Reply Action Buttons: reply or replyAll or forward or reply_replyAll or reply_forward or replyAll_forward or replyAll_reply or forward_reply or forward_replyAll or forward_replyAll_reply or forward_reply_replyAll or replyAll_forward_reply or replyAll_reply_forward or reply_forward_replyAll or reply_replyAll_forward

core_ticketReplyActionsOrder

string

optional,
max chars : 100

Select the Ticket Reply Action Button dropdown list order: forward_replyAll_reply or forward_reply_replyAll or replyAll_forward_reply or replyAll_reply_forward or reply_forward_replyAll or reply_replyAll_forward

core_needEmptyQueueColumn

string

optional,
max chars : 100

Enable or Disable the Empty Queue column: ENABLED or DISABLED

communityListViewMode

string

optional,
max chars : 100

The way in which the community topics should be displayed. The allowed values are CLASSIC or COMPACT

communityTopicsSortOrder

string

optional,
max chars : 100

Sort the list of community topics based on order. The allowed values are ascending or descending

communityTopicsSortBy

string

optional,
max chars : 100

Sort the list of community topics based on time. The allowed values are createdTime or modifiedTime

communityTopicsRecordsPerPage

string

optional,
max chars : 100

The number of community topics to be listed on a single page

core_dviBarTabWidth

string

optional,
max chars : 100

Set the width for detail view ibarTab: 357 or 1 to 100 as the decimal value

a11y_focusRing

string

optional,
max chars : 100

Enable or Disable the focusRing: ENABLED or DISABLED

a11y_focusRingEnabledPlaces

string

optional,
max chars : 100

Select the focusRing enabled places: all or main

a11y_notificationView

string

optional,
max chars : 100

Select the notification view: stack or list

a11y_isSuccessNotificationAutoClose

string

optional,
max chars : 100

Enable or Disable the Success notification autoClose: ENABLED or DISABLED

a11y_successNotifcationAutoCloseTime

string

optional,
max chars : 100

Select the Success notification auto close time: 01 or 03 or 05 or 10 or 15 or 20

a11y_isErrorNotificationAutoClose

string

optional,
max chars : 100

Enable or Disable the Error notification autoClose: ENABLED or DISABLED

a11y_errorNotificationAutoCloseTime

string

optional,
max chars : 100

Select the Error notification auto close time: 01 or 03 or 05 or 10 or 15 or 20

a11y_customCursor

string

optional,
max chars : 100

Enable or Disable the App Custom cursor: ENABLED or DISABLED

a11y_customCursorSize

string

optional,
max chars : 100

Select the App Custom cursor size: 8 or 16 or 24 or 32

a11y_customCursorColor

string

optional,
max chars : 100

Select the App Custom cursor color: black or white

a11y_adhdFriendly

string

optional,
max chars : 100

Enable or Disable the adhdFriendly persona: ENABLED or DISABLED

a11y_astigmatism

string

optional,
max chars : 100

Enable or Disable the astigmatism persona: ENABLED or DISABLED

a11y_blindness

string

optional,
max chars : 100

Enable or Disable the blindness persona: ENABLED or DISABLED

a11y_colorBlindness

string

optional,
max chars : 100

Enable or Disable the colorBlindness persona: ENABLED or DISABLED

a11y_dyslexia

string

optional,
max chars : 100

Enable or Disable the dyslexia persona: ENABLED or DISABLED

a11y_epilepsy

string

optional,
max chars : 100

Enable or Disable the epilepsy persona: ENABLED or DISABLED

a11y_elderly

string

optional,
max chars : 100

Enable or Disable the elderly persona: ENABLED or DISABLED

a11y_motorDisabilities

string

optional,
max chars : 100

Enable or Disable the motorDisabilities persona: ENABLED or DISABLED

a11y_seizureSafe

string

optional,
max chars : 100

Enable or Disable the seizureSafe persona: ENABLED or DISABLED

a11y_visuallyImpaired

string

optional,
max chars : 100

Enable or Disable the visuallyImpaired persona: ENABLED or DISABLED

core_ticketsDvIbarPanelView

string

optional,
max chars : 100

Select the Tickets module Detailview Ibar Panel view: collapse or expand

core_contactsDvIbarPanelView

string

optional,
max chars : 100

Select the Contacts module Detailview Ibar Panel view: collapse or expand

core_accountsDvIbarPanelView

string

optional,
max chars : 100

Select the Accounts module Detailview Ibar Panel view: collapse or expand

core_contractsDvIbarPanelView

string

optional,
max chars : 100

Select the Contracts module Detailview Ibar Panel view: collapse or expand

core_callsDvIbarPanelView

string

optional,
max chars : 100

Select the Calls module Detailview Ibar Panel view: collapse or expand

core_tasksDvIbarPanelView

string

optional,
max chars : 100

Select the Tasks module Detailview Ibar Panel view: collapse or expand

core_eventsDvIbarPanelView

string

optional,
max chars : 100

Select the Events module Detailview Ibar Panel view: collapse or expand

core_isTicketReplySendAndUpdateStatus

string

optional,
max chars : 100

Enable or Disable Ticket Reply Send and Update status: ENABLED or DISABLED

ui_tagColorVariant

string

optional,
max chars : 100

Select Tag color variant: bold or subtle or minimal

ui_isTagTextDefaultColor

string

optional,
max chars : 100

Enable or Disable the Tag text default color: ENABLED or DISABLED

core_ticketsTableViewContentStyle

string

optional,
max chars : 100

Select the Tickets Table View content style: wrap or clip

core_contactsTableViewContentStyle

string

optional,
max chars : 100

Select the Contacts Table View content style: wrap or clip

core_accountsTableViewContentStyle

string

optional,
max chars : 100

Select the Accounts Table View content style: wrap or clip

core_contractsTableViewContentStyle

string

optional,
max chars : 100

Select the Contracts Table View content style: wrap or clip

core_callsTableViewContentStyle

string

optional,
max chars : 100

Select the Calls Table View content style: wrap or clip

core_tasksTableViewContentStyle

string

optional,
max chars : 100

Select the Tasks Table View content style: wrap or clip

core_eventsTableViewContentStyle

string

optional,
max chars : 100

Select the Events Table View content style: wrap or clip

a11y_strikeThroughDisabledButton

string

optional,
max chars : 100

Enable or Disable the strikeThrough disabled button: ENABLED or DISABLED

a11y_switchLabel

string

optional,
max chars : 100

Enable or Disable the switch label: ENABLED or DISABLED

feedNotificationFilterPreference

string

optional,
max chars : 100

Feeds Notification Preference value

core_conversationNestedViewLineStyle

string

optional,
max chars : 100

Select the line style for conversation in nested view: curved or straight

core_conversationNestedViewShowIcons

string

optional,
max chars : 100

Enable or Disable the icons display in conversation nested view: ENABLED or DISABLED

core_conversationViewType

string

optional,
max chars : 100

Select the conversation subtab view type: recentTop or recentBottom or nestedView

core_threadCommentViewType

string

optional,
max chars : 100

Select the threads and comments subtabs view type: recentTop or recentBottom

essp_displayContext

string

optional,
max chars : 100

Select the employee portals displayContext: inApp or newTab

essp_displayMode

string

optional,
max chars : 100

Select the employee portals displayMode: compactView or splitView or fullScreenView

a11y_isSearchKeywordHighlighted

string

optional,
max chars : 100

Enable or Disable the highlight search keyword: ENABLED or DISABLED

a11y_isHighlightedSearchKeywordProminent

string

optional,
max chars : 100

Enable or Disable the highlight search keyword more prominent: ENABLED or DISABLED

a11y_mandatoryFieldIndication

string

optional,
max chars : 100

Select the Mandatory Field Indication: asterisk or requiredText

a11y_mandatoryFieldLabelColor

string

optional,
max chars : 100

Select the Mandatory Field Label Color: default (default - Uses the application’s standard label color defined by the active theme appearance.) or red

a11y_colorFilter

string

optional,
max chars : 100

Select the Color Filter: none or grayscale

a11y_grayScaleFilterExcludedPlaces

string

optional,
max chars : 100

Select the places excluded from Grayscale Filter: none or richText_richTextEditor

module_visibilityType

string

optional,
max chars : 100

Select the module visibility type: topBand or unifiedLHS

PATCH /api/v1/myPreferences

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL
  • Java

$ curl -X PATCH https://desk.zoho.com/api/v1/myPreferences
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "namePattern" : [ "LAST_NAME", "FIRST_NAME" ], "articleAutoSuggestion" : "ENABLED", "keyBoardShortcuts" : "ENABLED", "pinAllAccounts" : "ENABLED", "outBoxDelayTime" : "60S", "collapseSidePanel" : "DISABLED", "pinAllTickets" : "ENABLED", "ticketConversationView" : "ENABLED", "contactsView" : "LIST", "accountsView" : "LIST", "pinAllContacts" : "ENABLED", "ticketsView" : "STATUS_QUEUE", "defaultSendBehavior" : "Send", "datePattern" : "dd/MM/yyyy", "currentDepartment" : "1892000000082069", "timeFormat" : "12-hour", "outBoxDelay" : "DISABLED", "pinAllDashboards" : "DISABLED", "loginLandingPage" : "LISTVIEW", "loadGettingStartedPage" : "DISABLED", "pinAllReports" : "ENABLED" }'

AgentAPI agent = ZDesk.getAgentAPIInstance(mailId); <br/> boolean response = agent.updateMyPreferences( namePattern, currentDepartment );

Response Example

204

Get agent by email ID

This API fetches details of an agent via the email ID passed in the API request.

Credit: 1 credit/call

GET /api/v1/agents/email/{email}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/agents/email/case@zylker.com
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "lastName" : "case",
  "extn" : "3298",
  "roleId" : "1892000000056099",
  "langCode" : "fr_FR",
  "mobile" : "",
  "timeZone" : "Pacific/Majuro",
  "emailId" : "case@zylker.com",
  "associatedChatDepartmentIds" : [ ],
  "zuid" : "10687231",
  "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069", "1892000000639717" ],
  "firstName" : "",
  "photoURL" : null,
  "phone" : "492-736-6424",
  "profileId" : "1892000000056091",
  "countryCode" : "en_US",
  "channelExpert" : [ "Facebook", "Chat", "Phone", "Twitter", "Web", "Email", "Forums" ],
  "name" : "case",
  "rolePermissionType" : "Admin",
  "isConfirmed" : true,
  "aboutInfo" : "Expert in handling Tasks and Automations",
  "id" : "1892000000056007",
  "status" : "ACTIVE"
}

Schedule reassignment for deactivated or deleted agents

This API schedules reassignment of tickets, tasks, and automations belonging to a deleted/deactivated agent to another agent within the same department.

Credit: 500 credits/call

Attributes

Param Name
Data Type
Description
agentReassignment

list

required

Details of agents to whom the resources associated with the agent will be reassigned

POST /api/v1/agents/{agent_id}/reassignment

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/agents/19000001075071/reassignment
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "agentReassignment" : [ { "departmentId" : 19000000012754, "taskNewOwner" : "19000000008734", "ticketNewOwner" : "19000000142005" }, { "departmentId" : 19000000010674, "taskNewOwner" : "19000000008872", "ticketNewOwner" : "19000000182001" }, { "departmentId" : 19000000007073, "taskNewOwner" : "19000000008872", "ticketNewOwner" : "19000000182001" } ] }'

Response Example

204

Get My Entity Preferences

This API fetches the entity preferences of the currently logged in agent.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
entityType

string

required,
max chars : 25

Entity Type of the preference.

GET /api/v1/myEntityPreferences

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/myEntityPreferences
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "entityType" : "department",
    "entityId" : "13658932748374",
    "propValue" : "DISABLED",
    "propName" : "isNotificationEnabled"
  }, {
    "entityType" : "department",
    "entityId" : "13658932748375",
    "propValue" : "ENABLED",
    "propName" : "isNotificationEnabled"
  } ]
}

Update My Entity Preferences

This API updates the entity preferences of the currently logged in agent.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
data

list

optional

User entity preferences

PATCH /api/v1/myEntityPreferences

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/myEntityPreferences
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "data" : [ { "entityType" : "department", "entityId" : 13658932748374, "propValue" : "DISABLED", "propName" : "isNotificationEnabled" }, { "entityType" : "department", "entityId" : 13658932748375, "propValue" : "ENABLED", "propName" : "isNotificationEnabled" } ] }'

Response Example

204

Agent TimeEntry

Agent time entry refers to the time taken by an agent to resolve a ticket or perform a task.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the time entry

ticketId

long

ID of the ticket

requestChargeType

string

Type of request in the ticket. Values supported are Customer Service, Upgrade Request, Product Consultation, and Support and Maintenance.

ownerId

long

ID of the user associated with the time entry

object

Module to which the time entry is associated.

executedTime

timestamp

Time when work related to the time entry was started.

hoursSpent

integer

Number of hours in the time entry.

minutesSpent

integer

Number of minutes in the time entry.

secondsSpent

integer

Number of seconds in the time entry.

agentCostPerHour

double

Per hour cost of an agent.

additionalCost

double

Additional cost incurred

totalCost

double

Total cost incurred

fixedCost

double

Fixed cost

description

string

Description of the time entry

customFields

deprecated

list

User-defined fields related to the time entry.

cf

JSONObject

User-defined fields related to the time entry.

createdTime

timestamp

Time of creating the ticket time entry

modifiedTime

timestamp

Time of modifying the ticket time entry

createdBy

string

User who created the time entry.

modifiedBy

string

User who modified the time entry.

mode

String

Mode configured in time tracking. Supported values are Manual and Auto

isBillable

boolean

Billing Preference

billingType

String

Billing type configured in the time tracking. Possible values are FIXED_COST_FOR_TICKETS FIXED_COST_FOR_AGENTS SPECIFIC_COST_PER_AGENT and SPECIFIC_COST_PER_PROFILE

invoiceId

long

ID of the invoice related to the time entry

Example

{
  "owner" : {
    "firstName" : "Eswer",
    "lastName" : "KM",
    "photoURL" : "https://contacts.zoho.com/file?t=user&ID=4851669",
    "name" : "Eswer KM",
    "id" : "4000000008688129"
  },
  "secondsSpent" : "0",
  "parent" : {
    "ticketNumber" : "1001",
    "subject" : "Ticket subject",
    "id" : "4000000031007",
    "type" : "TICKETS"
  },
  "cf" : { },
  "executedTime" : null,
  "fixedCost" : null,
  "departmentId" : "4000000008694",
  "minutesSpent" : "0",
  "creatorId" : "4000000008688",
  "agentCostPerHour" : null,
  "description" : "Time Entry description",
  "hoursSpent" : "2",
  "ownerId" : "4000000008688",
  "isBillable" : true,
  "mode" : "MANUAL",
  "isTrashed" : "false",
  "billingType" : "FIXED_COST_FOR_TICKETS",
  "createdTime" : "2016-05-30T09:58:08.149Z",
  "invoiceId" : "40000000086881212",
  "id" : "4000000033010",
  "requestChargeType" : "Product Consultation",
  "additionalCost" : null,
  "totalCost" : null
}


Get an Agent Time Entry

This API fetches a time entry related to an agent.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

string

optional,
max chars : 100

Secondary information related to the time entry. Value supported is owner.

GET /api/v1/agents/{agent_id}/timeEntry/{timeEntry_id}

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/agents/4000000031007/timeEntry/4000000033010?include=owner
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "owner" : {
    "firstName" : "Eswer",
    "lastName" : "KM",
    "photoURL" : "https://contacts.zoho.com/file?t=user&ID=4851669",
    "name" : "Eswer KM",
    "id" : "4000000008688129"
  },
  "secondsSpent" : "21",
  "parent" : {
    "ticketNumber" : "1001",
    "associatedTicketId" : "4000000031007",
    "subject" : "Task subject",
    "id" : "4000000031010",
    "type" : "TASKS"
  },
  "cf" : {
    "cf_timeentryname" : "time1"
  },
  "executedTime" : "2016-06-22T20:30:00.000Z",
  "fixedCost" : null,
  "departmentId" : "4000000008694",
  "minutesSpent" : "23",
  "creatorId" : "4000000008692",
  "agentCostPerHour" : "3.0",
  "description" : "Time Entry description",
  "hoursSpent" : "3",
  "ownerId" : "4000000008692",
  "isBillable" : true,
  "mode" : "MANUAL",
  "isTrashed" : "false",
  "billingType" : "FIXED_COST_FOR_TICKETS",
  "createdTime" : "2016-06-16T07:24:44.000Z",
  "invoiceId" : "40000000086881212",
  "id" : "4000000033001",
  "requestChargeType" : "Customer Service",
  "additionalCost" : "10.0",
  "totalCost" : "20.17"
}

List Agent Time Entries

This API lists the time entries associated with an agent.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
module

string

optional,
max chars : 100

Module from which the time entries must be fetched. Values allowed are tickets and tasks.

departmentId

long

optional

ID of the department

from

integer

optional

Index number, starting from which the time entries must be fetched

limit

integer

optional,
range : 1-100

Number of time entries to fetch

orderBy

String

optional

Key that sorts the time entries in ascending or descending order, based on the executedTime attribute. Values allowed are ASC (default) and DESC.

string

optional,
max chars : 100

Secondary information related to the time entry. Value supported is owner.

billStatus

String

optional

Key that filters time entries, based on their billing status: nonBillable , billable or billed

createdTimeRange

timestamp

optional

Key that filters time entries created in a particular period of time. Enter the from and to dates in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ; for example, createdTimeRange=2017-11-05T00:00:00.000Z,2018-09-05T23:59:00.000Z.

modifiedTimeRange

timestamp

optional

Key that filters time entries whose details were modified in a particular period of time. Enter the from and to dates in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ; for example, modifiedTimeRange=2017-11-05T00:00:00.000Z,2018-09-05T23:59:00.000Z.

GET /api/v1/agents/{agent_id}/timeEntry

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/agents/4000000031007/timeEntry?module=ticket&from=0&limit=10&include=owner&billStatus=billed&createdTimeRange=2016-06-16T06:00:00.000Z,2016-06-16T20:00:00.000Z&modifiedTimeRange=2016-06-16T06:00:00.000Z,2016-06-16T20:00:00.000Z
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "owner" : {
      "firstName" : "Eswer",
      "lastName" : "KM",
      "photoURL" : "https://contacts.zoho.com/file?t=user&ID=4851669",
      "name" : "Eswer KM",
      "id" : "4000000008688129"
    },
    "secondsSpent" : "21",
    "parent" : {
      "ticketNumber" : "1001",
      "associatedTicketId" : "4000000031007",
      "subject" : "Task subject",
      "id" : "4000000031010",
      "type" : "TASKS"
    },
    "executedTime" : "2016-06-22T20:30:00.000Z",
    "fixedCost" : null,
    "departmentId" : "4000000008694",
    "minutesSpent" : "23",
    "creatorId" : "4000000008692",
    "agentCostPerHour" : "3.0",
    "description" : "Time Entry description",
    "hoursSpent" : "3",
    "ownerId" : "4000000008692",
    "isBillable" : true,
    "mode" : "MANUAL",
    "isTrashed" : "false",
    "billingType" : "FIXED_COST_FOR_TICKETS",
    "createdTime" : "2016-06-16T07:24:44.000Z",
    "invoiceId" : "40000000086881212",
    "id" : "4000000033001",
    "requestChargeType" : "Customer Service",
    "additionalCost" : "10.0",
    "totalCost" : "20.17"
  }, {
    "owner" : {
      "firstName" : "Eswer",
      "lastName" : "KM",
      "photoURL" : "https://contacts.zoho.com/file?t=user&ID=4851669",
      "name" : "Eswer KM",
      "id" : "4000000008688129"
    },
    "secondsSpent" : "21",
    "parent" : {
      "ticketNumber" : "1001",
      "associatedTicketId" : "4000000031007",
      "subject" : "Task subject",
      "id" : "4000000031010",
      "type" : "TASKS"
    },
    "executedTime" : "2016-06-24T19:30:00.000Z",
    "fixedCost" : null,
    "departmentId" : "4000000008694",
    "minutesSpent" : "34",
    "creatorId" : "4000000008692",
    "agentCostPerHour" : "10.0",
    "description" : "Time Entry description",
    "hoursSpent" : "3",
    "ownerId" : "4000000012090",
    "isBillable" : true,
    "mode" : "MANUAL",
    "isTrashed" : "false",
    "billingType" : "FIXED_COST_FOR_TICKETS",
    "createdTime" : "2016-06-16T07:46:39.000Z",
    "invoiceId" : "40000000086881212",
    "id" : "4000000033006",
    "requestChargeType" : "Product Consultation",
    "additionalCost" : "10.0",
    "totalCost" : "45.72"
  }, {
    "owner" : {
      "firstName" : "Eswer",
      "lastName" : "KM",
      "photoURL" : "https://contacts.zoho.com/file?t=user&ID=4851669",
      "name" : "Eswer KM",
      "id" : "4000000008688129"
    },
    "secondsSpent" : "22",
    "parent" : {
      "ticketNumber" : "1001",
      "associatedTicketId" : "4000000031007",
      "subject" : "Task subject",
      "id" : "4000000031010",
      "type" : "TASKS"
    },
    "executedTime" : "2016-06-13T19:30:00.000Z",
    "fixedCost" : null,
    "departmentId" : "4000000008694",
    "minutesSpent" : "22",
    "creatorId" : "4000000008692",
    "agentCostPerHour" : "20.0",
    "description" : "Time Entry description",
    "hoursSpent" : "32",
    "ownerId" : "4000000008692",
    "isBillable" : true,
    "mode" : "MANUAL",
    "isTrashed" : "false",
    "billingType" : "FIXED_COST_FOR_TICKETS",
    "createdTime" : "2016-06-16T07:49:52.000Z",
    "invoiceId" : "40000000086881212",
    "id" : "4000000033011",
    "requestChargeType" : "Customer Service",
    "additionalCost" : "10.0",
    "totalCost" : "657.46"
  } ]
}

Get summation of Agent Time Entries

This API fetches the sum of time entries associated with an agent.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
module

string

optional,
max chars : 100

Module Preference. It can be either tickets tasks

departmentId

long

optional

ID of the department

billStatus

String

optional

Key that filters time entries, based on their billing status: nonBillable , billable or billed

GET /api/v1/agents/{agent_id}/timeEntrySummation

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/agents/4000000031007/timeEntrySummation?module=ticket&billStatus=billed
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "totalMins" : 5,
  "totalHours" : 12,
  "totalCosts" : 1000,
  "totalSeconds" : 24
}

agentAvailability

Agent availability refers to your support agents' presence for responding to customers.

Update Agent Availability Configuration

This API updates the agent availability setting configured in your help desk portal.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
treatIdleAgentsAsOffline

boolean

optional

Key that specifies if idle agents should be marked as offline after a particular duration.

agentIdleTime

int

optional,
range : 1-540

Duration after which idle agents should be marked as offline. The value can range from 1 to 540.

POST /api/v1/agentAvailabilityConfig

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/agentAvailabilityConfig
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "agentIdleTime" : "30", "treatIdleAgentsAsOffline" : true }'

Response Example

204

Get Agent Availability Configuration

This API fetches the agent availability setting configured in your help desk portal.

Credit: 1 credit/call

GET /api/v1/agentAvailabilityConfig

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/agentAvailabilityConfig
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "agentIdleTime" : "30",
  "treatIdleAgentsAsOffline" : true
}

Get Current Availability

This API lists the current availability of agents in a particular department.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

required

ID of the department from which the availability details should be fetched. To include all accessible departments, pass the value of this key as -1.

include

String

optional

Key that includes additional, channel-specific information. Values allowed are: mailStatus, phoneStatus, phoneMode, chatStatus, and presenceStatus.

limit

integer

required,
default : 50,
range : 1-50

Number of agents to list. The default and the maximum value allowed is 50.

from

integer

required,
default : 0,
range : 1-5999

Index number, starting from which the agents must be fetched. The default value is 0 and the maximum value allowed is 5999.

GET api/v1/agentAvailability

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/agentAvailability?orgId=2389290&departmentid=892000000008634&include=mailStatus,phoneStatus,chatStatus,phoneMode,presenceStatus
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "chatStatus" : "OFFLINE",
    "agentId" : "892000000008734",
    "phoneMode" : "WEB",
    "phoneStatus" : "OFFLINE",
    "mailStatus" : "OFFLINE",
    "presenceStatus" : "ONLINE",
    "status" : "OFFLINE"
  }, {
    "chatStatus" : "ONLINE",
    "agentId" : "8920000000056010",
    "phoneMode" : "WEB",
    "phoneStatus" : "ONLINE",
    "mailStatus" : "OFFLINE",
    "presenceStatus" : "ONLINE",
    "status" : "ONLINE"
  } ],
  "totalAgentsCount" : "2",
  "hasMore" : false
}

Get Online Agents

This API lists the agents who are currently online in a particular department.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

required

ID of the department from which the availability details should be fetched. To include all accessible departments, pass the value of this key as -1.

include

String

optional

Key that includes additional, channel-specific information. Values allowed are: mailStatus, phoneStatus, phoneMode, chatStatus, and presenceStatus.

limit

integer

required,
default : 20,
range : 1-6000

Number of agents to list. The default value is 20 and the maximum value allowed is 6000.

GET api/v1/onlineAgents

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/onlineAgents?orgId=2389290&departmentid=892000000008634&include=mailStatus,phoneStatus,chatStatus,phoneMode,presenceStatus
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "chatStatus" : "ONLINE",
    "agentId" : "892000000008734",
    "phoneMode" : "WEB",
    "phoneStatus" : "ONLINE",
    "mailStatus" : "OFFLINE",
    "presenceStatus" : "ONLINE",
    "status" : "ONLINE"
  }, {
    "chatStatus" : "ONLINE",
    "agentId" : "8920000000056010",
    "phoneMode" : "WEB",
    "phoneStatus" : "ONLINE",
    "mailStatus" : "OFFLINE",
    "presenceStatus" : "ONLINE",
    "status" : "ONLINE"
  } ],
  "totalAgentsCount" : "2",
  "hasMore" : false
}

Get Offline Agents

This API lists the agents who are currently offline in a particular department.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

required

ID of the department from which the availability details should be fetched. To include all accessible departments, pass the value of this key as -1.

include

String

optional

Key that includes additional, channel-specific information. Values allowed are: mailStatus, phoneStatus, phoneMode, chatStatus, and presenceStatus.

limit

integer

required,
default : 20,
range : 1-6000

Number of agents to list. The default value is 20 and the maximum value allowed is 6000.

GET api/v1/offlineAgents

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/offlineAgents?orgId=2389290&departmentid=892000000008634&include=mailStatus,phoneStatus,chatStatus,phoneMode,presenceStatus
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "chatStatus" : "ONLINE",
    "agentId" : "892000000008734",
    "phoneMode" : "WEB",
    "phoneStatus" : "ONLINE",
    "mailStatus" : "OFFLINE",
    "presenceStatus" : "OFFLINE",
    "status" : "OFFLINE"
  }, {
    "chatStatus" : "ONLINE",
    "agentId" : "8920000000056010",
    "phoneMode" : "WEB",
    "phoneStatus" : "ONLINE",
    "mailStatus" : "OFFLINE",
    "presenceStatus" : "OFFLINE",
    "status" : "OFFLINE"
  } ],
  "totalAgentsCount" : "2",
  "hasMore" : false
}

Agent Signatures

Signature refers to the self-identifying/self-referencing details that agents include at the end of their responses to customers.

Note:

Agents do not require any special permissions to update their own signatures.

Agents require the "Update Agent" permission to update the signatures of other agents.

ATTRIBUTES

Attribute Name
Data Type
Description
isActive

boolean

Determines whether the agent's signature is included in ticket replies.
Note:
If set to true, the agent's signature will be appended to all ticket replies; if set to false, it will be excluded.

agentId

deprecated

long

ID of the agent. This key is deprecated, Please use id key instead of this

id

long

ID of the agent

defaultSignature

string

Default signature of the agent

customizedSignatures

list

Department-specific, customized signatures of the agent

Example

{
  "customizedSignatures" : [ {
    "signature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>Manager</b><br /></div><div><b>Sales &amp; Marketing</b><br /></div><div><b>@Surface Sureve</b><br /></div></div></div></div><div><div><br /></div></div><div><br /></div></div><div><br /></div></div><div><br /></div></div>",
    "departmentId" : 4000000015063
  }, {
    "signature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>User Onboarding</b><br /></div><div><b>@Surface Sureve</b><br /></div></div></div></div><div><div><br /></div></div><div><br /></div></div></div><div><br /></div></div>",
    "departmentId" : 4000000027042
  } ],
  "agentId" : 4000000012902,
  "defaultSignature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>@Surface Sureve</b><br /></div></div></div></div></div><div><br /></div></div>",
  "id" : "4000000012902",
  "isActive" : true
}


Get signatures of agent

This API fetches the different signatures configured by an agent.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/agents/{agent_id}/signatures

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/agents/4000000012902/signatures
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "customizedSignatures" : [ {
    "signature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>Manager</b><br /></div><div><b>Sales &amp; Marketing</b><br /></div><div><b>@Surface Sureve</b><br /></div></div></div></div><div><div><br /></div></div><div><br /></div></div><div><br /></div></div><div><br /></div></div>",
    "departmentId" : 4000000015063
  }, {
    "signature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>User Onboarding</b><br /></div><div><b>@Surface Sureve</b><br /></div></div></div></div><div><div><br /></div></div><div><br /></div></div></div><div><br /></div></div>",
    "departmentId" : 4000000027042
  } ],
  "agentId" : 4000000012902,
  "defaultSignature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>@Surface Sureve</b><br /></div></div></div></div></div><div><br /></div></div>",
  "id" : "4000000012902",
  "isActive" : true
}

Update signatures of agent

This API updates the existing signatures of an agent.

Credit: 1 credit/2 records

Attributes

Param Name
Data Type
Description
isActive

boolean

optional

Determines whether the agent's signature is included in ticket replies.
Note:
If set to true, the agent's signature will be appended to all ticket replies; if set to false, it will be excluded.

defaultSignature

string

optional,
max chars : 65000

Default signature of the agent

customizedSignatures

list

optional

Department-specific, customized signatures of the agent

PATCH /api/v1/agents/{agent_id}/signatures

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/agents/4000000012902/signatures
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "customizedSignatures" : [ { "signature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>Manager</b><br /></div><div><b>Sales &amp; Marketing</b><br /></div><div><b>@Surface Sureve Inc.</b><br /></div></div></div></div><div><div><br /></div></div><div><br /></div></div><div><br /></div></div><div><br /></div></div>", "departmentId" : 4000000015063 } ], "defaultSignature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>@Surface Sureve Inc.</b><br /></div></div></div></div></div><div><br /></div></div>" }'

Response Example

{
  "customizedSignatures" : [ {
    "signature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>Manager</b><br /></div><div><b>Sales &amp; Marketing</b><br /></div><div><b>@Surface Sureve Inc.</b><br /></div></div></div></div><div><div><br /></div></div><div><br /></div></div><div><br /></div></div><div><br /></div></div>",
    "departmentId" : 4000000015063
  } ],
  "agentId" : 4000000012902,
  "defaultSignature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>@Surface Sureve Inc.</b><br /></div></div></div></div></div><div><br /></div></div>",
  "id" : "4000000012902",
  "isActive" : true
}

Update customized signatures of agent

This API updates the customized signatures of an agent.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
departmentId

long

required

ID of the department in which the signature exists

signature

string

required,
max chars : 65000

Signature of the agent in that department

POST /api/v1/agents/{agent_id}/updateCustomizedSignature

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/agents/4000000012902/updateCustomizedSignature
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "signature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>Manager</b><br /></div><div>Sales &amp; Marketing<br /></div><div><b>@Surface Sureve Inc.</b><br /></div></div></div></div><div><div><br /></div></div><div><br /></div></div><div><br /></div></div><div><br /></div></div>", "departmentId" : 4000000015063 }'

Response Example

{
  "customizedSignatures" : [ {
    "signature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>Manager</b><br /></div><div>Sales &amp; Marketing<br /></div><div><b>@Surface Sureve Inc.</b><br /></div></div></div></div><div><div><br /></div></div><div><br /></div></div><div><br /></div></div><div><br /></div></div>",
    "departmentId" : 4000000015063
  } ],
  "agentId" : 4000000012902,
  "defaultSignature" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Bonnie Runolfsson<br /></div><div><b>@Surface Sureve Inc.</b><br /></div></div></div></div></div><div><br /></div></div>",
  "id" : "4000000012902",
  "isActive" : true
}

SkillTypes

SkillType is a Category for grouping skills

Example

{
  "modifiedTime" : "2020-07-23T12:36:44.544Z",
  "associatedSkills" : [ {
    "skillName" : "India",
    "skillId" : "1000000173029",
    "skillStatus" : "ACTIVE"
  }, {
    "skillName" : "Russia",
    "skillId" : "1000000173047",
    "skillStatus" : "ACTIVE"
  } ],
  "createdBy" : "1000000000059",
  "departmentId" : "1000000013248",
  "name" : "Country",
  "createdTime" : "2020-07-23T12:36:44.544Z",
  "modifiedBy" : "1000000000059",
  "id" : "1000000173001"
}


Create Skill Type

This API Creates a Skill Type

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

String

required

Name of the skilltype

departmentId

long

required

departmentId of the Skill Type

POST /api/v1/skillTypes

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/skillTypes
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "departmentId" : "1000000013248", "name" : "Country" }'

Response Example

{
  "modifiedTime" : "2020-07-23T12:36:44.544Z",
  "associatedSkills" : [ ],
  "createdBy" : "1000000000059",
  "departmentId" : "1000000013248",
  "name" : "Country",
  "createdTime" : "2020-07-23T12:36:44.544Z",
  "modifiedBy" : "1000000000059",
  "id" : "1000000173001"
}

View Skill Type

This API Gets the details of a Skill Type

Credit: 1 credit/call

GET /api/v1/skillTypes/{skilTypeId}

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/skillTypes/1000000173001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2020-07-23T12:36:44.544Z",
  "associatedSkills" : [ {
    "skillName" : "India",
    "skillId" : "1000000173029",
    "skillStatus" : "ACTIVE"
  }, {
    "skillName" : "Russia",
    "skillId" : "1000000173047",
    "skillStatus" : "ACTIVE"
  } ],
  "createdBy" : "1000000000059",
  "departmentId" : "1000000013248",
  "name" : "Country",
  "createdTime" : "2020-07-23T12:36:44.544Z",
  "modifiedBy" : "1000000000059",
  "id" : "1000000173001"
}

Update a Skill Type

This API Updates a Skill Type

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

String

optional

Name of the skilltype

PATCH /api/v1/skillTypes/{skilTypeId}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/skillTypes/4000003016645
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "name" : "Product" }'

Response Example

{
  "modifiedTime" : "2020-07-23T12:39:11.776Z",
  "associatedSkills" : [ ],
  "createdBy" : "1000000000059",
  "departmentId" : "1000000013248",
  "name" : "Product",
  "createdTime" : "2020-07-23T12:39:11.776Z",
  "modifiedBy" : "1000000000059",
  "id" : "1000000173019"
}

Delete a Skill Type

This API Deletes a Skill Type

Credit: 1 credit/call

DELETE /api/v1/skillTypes/{skilTypeId}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/skillTypes/4000003016645
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

List all Skill Types

This API Lists all Skill Types in a department

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

optional

Department Id

from

integer

optional

Index number, starting from which the skills must be listed

limit

integer

optional,
range : 1-100

Number of skilltypes to list, allowed minimum value 1, maximum value 100,default is 100

mappedSkillsStatus

String

optional

Filter skill types by associated skills status, allowed values ACTIVE and INACTIVE

GET /api/v1/skillTypes

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/skillTypes?departmentId=4000003016008
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2020-07-23T12:36:44.544Z",
    "associatedSkills" : [ {
      "skillName" : "India",
      "skillId" : "1000000173029",
      "skillStatus" : "ACTIVE"
    }, {
      "skillName" : "Russia",
      "skillId" : "1000000173047",
      "skillStatus" : "ACTIVE"
    } ],
    "mappedSkillsStatus" : [ "ACTIVE" ],
    "createdBy" : "1000000000059",
    "departmentId" : "1000000013248",
    "name" : "Country",
    "createdTime" : "2020-07-23T12:36:44.544Z",
    "modifiedBy" : "1000000000059",
    "id" : "1000000173001"
  }, {
    "modifiedTime" : "2020-07-23T12:38:59.455Z",
    "associatedSkills" : [ {
      "skillName" : "English",
      "skillId" : "1000000173097",
      "skillStatus" : "ACTIVE"
    }, {
      "skillName" : "Malayalam",
      "skillId" : "1000000173145",
      "skillStatus" : "ACTIVE"
    }, {
      "skillName" : "Tamil",
      "skillId" : "1000000173121",
      "skillStatus" : "INACTIVE"
    } ],
    "mappedSkillsStatus" : [ "INACTIVE", "ACTIVE" ],
    "createdBy" : "1000000000059",
    "departmentId" : "1000000013248",
    "name" : "Language",
    "createdTime" : "2020-07-23T12:38:59.455Z",
    "modifiedBy" : "1000000000059",
    "id" : "1000000173013"
  }, {
    "modifiedTime" : "2020-07-23T12:39:47.900Z",
    "associatedSkills" : [ ],
    "mappedSkillsStatus" : [ ],
    "createdBy" : "1000000000059",
    "departmentId" : "1000000013248",
    "name" : "Product",
    "createdTime" : "2020-07-23T12:39:11.776Z",
    "modifiedBy" : "1000000000059",
    "id" : "1000000173019"
  }, {
    "modifiedTime" : "2020-07-23T12:38:53.429Z",
    "associatedSkills" : [ ],
    "mappedSkillsStatus" : [ ],
    "createdBy" : "1000000000059",
    "departmentId" : "1000000013248",
    "name" : "Region",
    "createdTime" : "2020-07-23T12:38:53.429Z",
    "modifiedBy" : "1000000000059",
    "id" : "1000000173007"
  } ]
}

Skills

Skills, They are area of expertises which can be mapped with Tickets and Agents

ATTRIBUTES

Attribute Name
Data Type
Description
name

String

Name of the skill

description

String

description of the skill

status

String

Values allowed are ACTIVE and INACTIVE

skillTypeId

long

ID of the Skill Type

criteria

list

The criteria details for the skill

agentIds

list

IDs of the agents mapped with the skill

Example

{
  "modifiedTime" : "2020-07-23T13:03:12.994Z",
  "agentIds" : [ "1000000000059" ],
  "skillType" : {
    "skillTypeId" : "1000000173001",
    "skillTypeName" : "Country"
  },
  "orderId" : "2",
  "criteria" : {
    "fieldConditions" : [ {
      "displayValue" : [ "Russia" ],
      "condition" : "is",
      "fieldName" : "Subject",
      "fieldModule" : "tickets",
      "value" : [ "Russia" ]
    }, {
      "displayValue" : [ "987532114" ],
      "condition" : "is",
      "fieldName" : "Phone",
      "fieldModule" : "tickets",
      "value" : [ "987532114" ]
    } ],
    "pattern" : "(1or2)"
  },
  "departmentId" : "1000000013248",
  "description" : "Country is Russia",
  "skillTypeId" : "1000000173001",
  "createdBy" : "1000000000059",
  "name" : "Russia",
  "createdTime" : "2020-07-23T13:03:12.994Z",
  "modifiedBy" : "1000000000059",
  "id" : "1000000173047",
  "status" : "ACTIVE"
}


Create skill

This API Creates a skill

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

String

required

Name of the skill

description

String

optional

description of the skill

status

String

required

Values allowed are ACTIVE and INACTIVE

skillTypeId

long

required

ID of the Skill Type

criteria

list

required

The criteria details for the skill

agentIds

list

optional

IDs of the agents mapped with the skill

POST /api/v1/skills

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/skills
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "skillTypeId" : "1000000173001", "criteria" : { "fieldConditions" : [ { "condition" : "is", "fieldName" : "Subject", "fieldModule" : "tickets", "value" : [ "India" ] }, { "condition" : "is", "fieldName" : "Phone", "fieldModule" : "tickets", "value" : [ "987532114" ] } ], "pattern" : "(1or2)" }, "name" : "India", "description" : "Country is India", "status" : "ACTIVE" }'

Response Example

{
  "modifiedTime" : "2020-07-23T12:44:42.574Z",
  "agentIds" : [ ],
  "skillType" : {
    "skillTypeId" : "1000000173001",
    "skillTypeName" : "Country"
  },
  "orderId" : "1",
  "criteria" : {
    "fieldConditions" : [ {
      "displayValue" : [ "India" ],
      "condition" : "is",
      "fieldName" : "Subject",
      "fieldModule" : "tickets",
      "value" : [ "India" ]
    }, {
      "displayValue" : [ "987532114" ],
      "condition" : "is",
      "fieldName" : "Phone",
      "fieldModule" : "tickets",
      "value" : [ "987532114" ]
    } ],
    "pattern" : "(1or2)"
  },
  "departmentId" : "1000000013248",
  "description" : "Country is India",
  "skillTypeId" : "1000000173001",
  "createdBy" : "1000000000059",
  "name" : "India",
  "createdTime" : "2020-07-23T12:44:42.574Z",
  "modifiedBy" : "1000000000059",
  "id" : "1000000173029",
  "status" : "ACTIVE"
}

View skill

This API Gets the details of a skill

Credit: 1 credit/call

GET /api/v1/skills/{skillId}

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/skills/1000000173145
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2020-07-23T13:08:36.093Z",
  "agentIds" : [ "1000000000059" ],
  "skillType" : {
    "skillTypeId" : "1000000173013",
    "skillTypeName" : "Language"
  },
  "orderId" : "5",
  "criteria" : {
    "fieldConditions" : [ {
      "displayValue" : [ "Malayalam" ],
      "condition" : "contains",
      "fieldName" : "Subject",
      "fieldModule" : "tickets",
      "value" : [ "Malayalam" ]
    } ],
    "pattern" : "1"
  },
  "departmentId" : "1000000013248",
  "description" : "Language is Malayalam",
  "skillTypeId" : "1000000173013",
  "createdBy" : "1000000000059",
  "name" : "Malayalam",
  "createdTime" : "2020-07-23T13:08:36.093Z",
  "modifiedBy" : "1000000000059",
  "id" : "1000000173145",
  "status" : "ACTIVE"
}

Update skill

This API Updates a skill

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

String

optional

Name of the skill

description

String

optional

description of the skill

status

String

optional

Values allowed are ACTIVE and INACTIVE

skillTypeId

long

optional

ID of the Skill Type

criteria

list

optional

The criteria details for the skill

agentIds

list

optional

IDs of the agents mapped with the skill

PATCH /api/v1/skills/{skillId}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/skills/1000000173145
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "name" : "Malayalam", "description" : "Malayali" }'

Response Example

{
  "modifiedTime" : "2020-07-23T13:08:36.093Z",
  "agentIds" : [ "1000000000059" ],
  "skillType" : {
    "skillTypeId" : "1000000173013",
    "skillTypeName" : "Language"
  },
  "orderId" : "5",
  "criteria" : {
    "fieldConditions" : [ {
      "displayValue" : [ "Malayalam" ],
      "condition" : "contains",
      "fieldName" : "Subject",
      "fieldModule" : "tickets",
      "value" : [ "Malayalam" ]
    } ],
    "pattern" : "1"
  },
  "departmentId" : "1000000013248",
  "description" : "Malayali",
  "skillTypeId" : "1000000173013",
  "createdBy" : "1000000000059",
  "name" : "Malayalam",
  "createdTime" : "2020-07-23T13:08:36.093Z",
  "modifiedBy" : "1000000000059",
  "id" : "1000000173145",
  "status" : "ACTIVE"
}

Delete skill

This API deletes a skill from your help desk portal

Credit: 1 credit/call

DELETE /api/v1/skills/{skillId}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/skills/6000000033001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

List all skills

This API lists all skills in a department

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

required

Department Id

from

integer

optional

Index number, starting from which the skills must be listed

limit

integer

optional,
range : 1-100

Number of skill to list, allowed minimum value 1, maximum value 100,default is 100

status

String

optional

Active inactive filter for Skills. Values allowed are ACTIVE and INACTIVE

searchString

String

optional

Search string, Used to filter skills by name starting with this string

skillTypeId

long

optional

Skill Type Id, to Filter Skills by SkillType

skillIds

long

optional

The IDs of the skills to list separated by commas. You can pass upto 50 IDs.

GET /api/v1/skills

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/skills?departmentId=1000000013248
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2020-07-23T12:44:42.574Z",
    "agentIds" : [ ],
    "skillType" : {
      "skillTypeId" : "1000000173001",
      "skillTypeName" : "Country"
    },
    "orderId" : "1",
    "criteria" : {
      "fieldConditions" : [ {
        "displayValue" : [ "India" ],
        "condition" : "is",
        "fieldName" : "Subject",
        "fieldModule" : "tickets",
        "value" : [ "India" ]
      }, {
        "displayValue" : [ "987532114" ],
        "condition" : "is",
        "fieldName" : "Phone",
        "fieldModule" : "tickets",
        "value" : [ "987532114" ]
      } ],
      "pattern" : "(1or2)"
    },
    "departmentId" : "1000000013248",
    "description" : "Country is India",
    "skillTypeId" : "1000000173001",
    "createdBy" : "1000000000059",
    "name" : "India",
    "createdTime" : "2020-07-23T12:44:42.574Z",
    "modifiedBy" : "1000000000059",
    "id" : "1000000173029",
    "status" : "ACTIVE"
  }, {
    "modifiedTime" : "2020-07-23T13:03:12.994Z",
    "agentIds" : [ "1000000000059" ],
    "skillType" : {
      "skillTypeId" : "1000000173001",
      "skillTypeName" : "Country"
    },
    "orderId" : "2",
    "criteria" : {
      "fieldConditions" : [ {
        "displayValue" : [ "Russia" ],
        "condition" : "is",
        "fieldName" : "Subject",
        "fieldModule" : "tickets",
        "value" : [ "Russia" ]
      }, {
        "displayValue" : [ "987532114" ],
        "condition" : "is",
        "fieldName" : "Phone",
        "fieldModule" : "tickets",
        "value" : [ "987532114" ]
      } ],
      "pattern" : "(1or2)"
    },
    "departmentId" : "1000000013248",
    "description" : "Country is Russia",
    "skillTypeId" : "1000000173001",
    "createdBy" : "1000000000059",
    "name" : "Russia",
    "createdTime" : "2020-07-23T13:03:12.994Z",
    "modifiedBy" : "1000000000059",
    "id" : "1000000173047",
    "status" : "ACTIVE"
  }, {
    "modifiedTime" : "2020-07-23T13:07:51.838Z",
    "agentIds" : [ "1000000000059" ],
    "skillType" : {
      "skillTypeId" : "1000000173013",
      "skillTypeName" : "Language"
    },
    "orderId" : "3",
    "criteria" : {
      "fieldConditions" : [ {
        "displayValue" : [ "English" ],
        "condition" : "contains",
        "fieldName" : "Subject",
        "fieldModule" : "tickets",
        "value" : [ "English" ]
      } ],
      "pattern" : "1"
    },
    "departmentId" : "1000000013248",
    "description" : "Language is English",
    "skillTypeId" : "1000000173013",
    "createdBy" : "1000000000059",
    "name" : "English",
    "createdTime" : "2020-07-23T13:07:51.838Z",
    "modifiedBy" : "1000000000059",
    "id" : "1000000173097",
    "status" : "ACTIVE"
  }, {
    "modifiedTime" : "2020-07-23T13:08:16.891Z",
    "agentIds" : [ "1000000000059" ],
    "skillType" : {
      "skillTypeId" : "1000000173013",
      "skillTypeName" : "Language"
    },
    "orderId" : "4",
    "criteria" : {
      "fieldConditions" : [ {
        "displayValue" : [ "Tamil" ],
        "condition" : "contains",
        "fieldName" : "Subject",
        "fieldModule" : "tickets",
        "value" : [ "Tamil" ]
      } ],
      "pattern" : "1"
    },
    "departmentId" : "1000000013248",
    "description" : "Language is Tamil",
    "skillTypeId" : "1000000173013",
    "createdBy" : "1000000000059",
    "name" : "Tamil",
    "createdTime" : "2020-07-23T13:08:16.891Z",
    "modifiedBy" : "1000000000059",
    "id" : "1000000173121",
    "status" : "INACTIVE"
  }, {
    "modifiedTime" : "2020-07-23T13:08:36.093Z",
    "agentIds" : [ "1000000000059" ],
    "skillType" : {
      "skillTypeId" : "1000000173013",
      "skillTypeName" : "Language"
    },
    "orderId" : "5",
    "criteria" : {
      "fieldConditions" : [ {
        "displayValue" : [ "Malayalam" ],
        "condition" : "contains",
        "fieldName" : "Subject",
        "fieldModule" : "tickets",
        "value" : [ "Malayalam" ]
      } ],
      "pattern" : "1"
    },
    "departmentId" : "1000000013248",
    "description" : "Malayali",
    "skillTypeId" : "1000000173013",
    "createdBy" : "1000000000059",
    "name" : "Malayalam",
    "createdTime" : "2020-07-23T13:08:36.093Z",
    "modifiedBy" : "1000000000059",
    "id" : "1000000173145",
    "status" : "ACTIVE"
  } ]
}

List associated automation rules

This API lists a particular number of automation rules that include a skill,based on the limit specified

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional

Index number, starting from which the related rules must be listed

limit

integer

optional,
range : 1-100

Number of rules to list, allowed minimum value 1, maximum value 100,default is 100

GET /api/v1/skills/{skillId}/relatedRules

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/skills/10000000317019/relatedRules
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "ruleType" : "SUPERVISE",
    "ruleName" : "TBA1",
    "ruleId" : "6000000019012"
  }, {
    "ruleType" : "SLA",
    "ruleName" : "Priority-based SLAs",
    "ruleId" : "6000000013508"
  }, {
    "ruleType" : "SLA",
    "ruleName" : "Bronze SLAs",
    "ruleId" : "6000000013514"
  }, {
    "ruleType" : "BLUEPRINT",
    "ruleName" : "Default Blueprint",
    "ruleId" : "6000000016083"
  }, {
    "ruleType" : "BLUEPRINT",
    "ruleName" : "BH BP",
    "ruleId" : "6000000018143"
  }, {
    "ruleType" : "BLUEPRINT",
    "ruleName" : "Third Bp",
    "ruleId" : "6000000023018"
  } ]
}

Reorder Skills in a Department

This API lists reorders Skills in a Department

Credit: 1 credit/2 records

Attributes

Param Name
Data Type
Description
skillIds

JSONArray

required

List of skill ids to reorder

departmentId

long

required

department of the skills to be reordered

POST /api/v1/skills/order

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/skills/order
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "skillIds" : [ "1000000173121", "1000000173029", "1000000173047", "1000000173097", "1000000173145" ], "departmentId" : "1000000013248" }'

Response Example

204

Get Skills of an Agent

Returns skills mapped with an agent by department

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentIds

long

required

list of Department Ids separated by commas,Maximum 10 department ids allowed

GET /api/v1/agents/{agentId}/skills

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/agents/1000000003234/skills?departmentIds=10000000030987,10000000038722,10000000030294
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "associatedSkills" : [ {
      "skillName" : "French",
      "skillId" : "1000000005432",
      "skillTypeId" : "1000000019013"
    }, {
      "skillName" : "Blueprint",
      "skillId" : "10000000036323",
      "skillTypeId" : "1000000019025"
    }, {
      "skillName" : "Reports",
      "skillId" : "10000000036323",
      "skillTypeId" : "1000000019025"
    } ],
    "departmentId" : "10000000030987"
  }, {
    "associatedSkills" : [ {
      "skillName" : "Workflow",
      "skillId" : "1000000005432",
      "skillTypeId" : "1000000019089"
    }, {
      "skillName" : "English",
      "skillId" : "10000000036323",
      "skillTypeId" : "100000001342"
    } ],
    "departmentId" : "10000000038722"
  }, {
    "associatedSkills" : [ {
      "skillName" : "Malayalam",
      "skillId" : "1000000059234",
      "skillTypeId" : "100000001421"
    }, {
      "skillName" : "Tamil",
      "skillId" : "1000000003967",
      "skillTypeId" : "100000001423"
    } ],
    "departmentId" : "10000000030294"
  } ]
}

Map Skills in a Department with an Agent

This API modifies skills mapped for an agent in a department

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
departmentId

long

required

ID of the Department

skillIds

list

optional

Ids of skills to be mapped

POST /api/v1/agents/{agentId}/mapSkills

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/agents/1000000000059/mapSkills?orgId=15157826
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "skillIds" : [ "1000000173047", "1000000173121", "1000000173029" ], "departmentId" : "1000000013248" }'

Response Example

{
  "data" : [ {
    "associatedSkills" : [ {
      "skillName" : "India",
      "skillId" : "1000000173029",
      "skillTypeId" : "1000000173001"
    }, {
      "skillName" : "Tamil",
      "skillId" : "1000000173121",
      "skillTypeId" : "1000000173013"
    }, {
      "skillName" : "Russia",
      "skillId" : "1000000173047",
      "skillTypeId" : "1000000173001"
    } ],
    "departmentId" : "1000000013248"
  } ]
}

Get Criteria Fields for Skill in a Department

This API returns list of fields supported in criteria for Skills by module

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

required

Department Id

module

String

required

Module, Allowed values are tickets,contacts and accounts

GET /api/v1/skills/criteriaFields

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/skills/criteriaFields?orgId=15157826&departmentId=1000000013248&module=tickets
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "criteriaFields" : [ {
    "displayLabel" : "Tickets",
    "name" : "tickets",
    "fieldDetails" : [ {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Account Name",
      "i18NLabel" : "Account Name",
      "type" : "lookup"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Contact Name",
      "i18NLabel" : "Contact Name",
      "type" : "lookup"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "i18NCondition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "i18NCondition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "i18NCondition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "i18NCondition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Email",
      "i18NLabel" : "Email",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "i18NCondition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "i18NCondition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "i18NCondition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "i18NCondition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Phone",
      "i18NLabel" : "Phone",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "i18NCondition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "i18NCondition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "i18NCondition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "i18NCondition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Subject",
      "i18NLabel" : "Subject",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "i18NCondition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "i18NCondition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "i18NCondition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "i18NCondition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Description",
      "i18NLabel" : "Description",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is OPEN",
        "i18NCondition" : "is OPEN",
        "value" : [ "${OPEN}" ]
      }, {
        "condition" : "is ON HOLD",
        "i18NCondition" : "is ON HOLD",
        "value" : [ "${ONHOLD}" ]
      }, {
        "condition" : "is CLOSED",
        "i18NCondition" : "is CLOSED",
        "value" : [ "${CLOSED}" ]
      }, {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "i18NCondition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "i18NCondition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "i18NCondition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "i18NCondition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      } ],
      "fieldLabel" : "Status",
      "i18NLabel" : "Status",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Case Owner",
      "i18NLabel" : "Ticket Owner",
      "type" : "user"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      } ],
      "fieldLabel" : "Created By",
      "i18NLabel" : "Created By",
      "type" : "user"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      } ],
      "fieldLabel" : "Modified By",
      "i18NLabel" : "Modified By",
      "type" : "user"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "is after",
        "i18NCondition" : "is after",
        "value" : [ "${CURRENTTIME}", "${DUEDATE}", "${CUSTOM}" ]
      }, {
        "condition" : "is before",
        "i18NCondition" : "is before",
        "value" : [ "${CURRENTTIME}", "${DUEDATE}", "${CUSTOM}" ]
      }, {
        "condition" : "between",
        "i18NCondition" : "between",
        "value" : [ [ "${CURRENTTIME}", "${CUSTOM}" ], [ "${CURRENTTIME}", "${CUSTOM}" ] ]
      }, {
        "condition" : "not between",
        "i18NCondition" : "not between",
        "value" : [ [ "${CURRENTTIME}", "${CUSTOM}" ], [ "${CURRENTTIME}", "${CUSTOM}" ] ]
      } ],
      "fieldLabel" : "Created Time",
      "i18NLabel" : "Created Time",
      "type" : "dateTime"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "is after",
        "i18NCondition" : "is after",
        "value" : [ "${CURRENTTIME}", "${DUEDATE}", "${CUSTOM}" ]
      }, {
        "condition" : "is before",
        "i18NCondition" : "is before",
        "value" : [ "${CURRENTTIME}", "${DUEDATE}", "${CUSTOM}" ]
      }, {
        "condition" : "between",
        "i18NCondition" : "between",
        "value" : [ [ "${CURRENTTIME}", "${CUSTOM}" ], [ "${CURRENTTIME}", "${CUSTOM}" ] ]
      }, {
        "condition" : "not between",
        "i18NCondition" : "not between",
        "value" : [ [ "${CURRENTTIME}", "${CUSTOM}" ], [ "${CURRENTTIME}", "${CUSTOM}" ] ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Case On Hold Time",
      "i18NLabel" : "Ticket On Hold Time",
      "type" : "dateTime"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "is after",
        "i18NCondition" : "is after",
        "value" : [ "${CURRENTTIME}", "${DUEDATE}", "${CUSTOM}" ]
      }, {
        "condition" : "is before",
        "i18NCondition" : "is before",
        "value" : [ "${CURRENTTIME}", "${DUEDATE}", "${CUSTOM}" ]
      }, {
        "condition" : "between",
        "i18NCondition" : "between",
        "value" : [ [ "${CURRENTTIME}", "${CUSTOM}" ], [ "${CURRENTTIME}", "${CUSTOM}" ] ]
      }, {
        "condition" : "not between",
        "i18NCondition" : "not between",
        "value" : [ [ "${CURRENTTIME}", "${CUSTOM}" ], [ "${CURRENTTIME}", "${CUSTOM}" ] ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Case Closed Time",
      "i18NLabel" : "Ticket Closed Time",
      "type" : "dateTime"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "is after",
        "i18NCondition" : "is after",
        "value" : [ "${CURRENTTIME}", "${DUEDATE}", "${CUSTOM}" ]
      }, {
        "condition" : "is before",
        "i18NCondition" : "is before",
        "value" : [ "${CURRENTTIME}", "${DUEDATE}", "${CUSTOM}" ]
      }, {
        "condition" : "between",
        "i18NCondition" : "between",
        "value" : [ [ "${CURRENTTIME}", "${CUSTOM}" ], [ "${CURRENTTIME}", "${CUSTOM}" ] ]
      }, {
        "condition" : "not between",
        "i18NCondition" : "not between",
        "value" : [ [ "${CURRENTTIME}", "${CUSTOM}" ], [ "${CURRENTTIME}", "${CUSTOM}" ] ]
      } ],
      "fieldLabel" : "Modified Time",
      "i18NLabel" : "Modified Time",
      "type" : "dateTime"
    }, {
      "availableConditions" : [ {
        "condition" : "=",
        "i18NCondition" : "=",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "<>",
        "i18NCondition" : "<>",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "<",
        "i18NCondition" : "<",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "<=",
        "i18NCondition" : "<=",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : ">",
        "i18NCondition" : ">",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : ">=",
        "i18NCondition" : ">=",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Request Id",
      "i18NLabel" : "Ticket Id",
      "type" : "integer"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "i18NCondition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "i18NCondition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "i18NCondition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "i18NCondition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "To Address",
      "i18NLabel" : "To Address",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "=",
        "i18NCondition" : "=",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "<>",
        "i18NCondition" : "<>",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "<",
        "i18NCondition" : "<",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "<=",
        "i18NCondition" : "<=",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : ">",
        "i18NCondition" : ">",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : ">=",
        "i18NCondition" : ">=",
        "value" : [ "${CUSTOM}" ]
      } ],
      "fieldLabel" : "Thread Count",
      "i18NLabel" : "Number of Threads",
      "type" : "integer"
    }, {
      "availableConditions" : [ {
        "condition" : "=",
        "i18NCondition" : "=",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "<>",
        "i18NCondition" : "<>",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "<",
        "i18NCondition" : "<",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "<=",
        "i18NCondition" : "<=",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : ">",
        "i18NCondition" : ">",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : ">=",
        "i18NCondition" : ">=",
        "value" : [ "${CUSTOM}" ]
      } ],
      "fieldLabel" : "Comment Count",
      "i18NLabel" : "Number of Comments",
      "type" : "integer"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "Good", "Bad", "Okay" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "Good", "Bad", "Okay" ]
      }, {
        "condition" : "is received",
        "i18NCondition" : "is received",
        "value" : [ ]
      }, {
        "condition" : "is not received",
        "i18NCondition" : "is not received",
        "value" : [ ]
      }, {
        "condition" : "link provided",
        "i18NCondition" : "link provided",
        "value" : [ ]
      }, {
        "condition" : "link not provided",
        "i18NCondition" : "link not provided",
        "value" : [ ]
      } ],
      "fieldLabel" : "Happiness Rating",
      "i18NLabel" : "Happiness Rating",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "has agents",
        "i18NCondition" : "has agents",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Team",
      "i18NLabel" : "Team",
      "type" : "team"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "is after",
        "i18NCondition" : "is after",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "is before",
        "i18NCondition" : "is before",
        "value" : [ "${CURRENTTIME}", "${CUSTOM}" ]
      }, {
        "condition" : "between",
        "i18NCondition" : "between",
        "value" : [ [ "${CURRENTTIME}", "${CUSTOM}" ], [ "${CURRENTTIME}", "${CUSTOM}" ] ]
      }, {
        "condition" : "not between",
        "i18NCondition" : "not between",
        "value" : [ [ "${CURRENTTIME}", "${CUSTOM}" ], [ "${CURRENTTIME}", "${CUSTOM}" ] ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Due Date",
      "i18NLabel" : "Due Date",
      "type" : "dateTime"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      } ],
      "fieldLabel" : "Tags",
      "i18NLabel" : "Tags",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "i18NCondition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "i18NCondition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "i18NCondition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "i18NCondition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Priority",
      "i18NLabel" : "Priority",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "i18NCondition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "i18NCondition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "i18NCondition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "i18NCondition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Mode",
      "i18NLabel" : "Channel",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "true", "false" ]
      } ],
      "fieldLabel" : "Is Overdue",
      "i18NLabel" : "Is Overdue",
      "type" : "boolean"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "true", "false" ]
      } ],
      "fieldLabel" : "Is Escalated",
      "i18NLabel" : "Is Escalated",
      "type" : "boolean"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "i18NCondition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "i18NCondition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "i18NCondition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "i18NCondition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Resolution",
      "i18NLabel" : "Resolution",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is Less Than",
        "i18NCondition" : "is Less Than",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is Greater Than",
        "i18NCondition" : "is Greater Than",
        "value" : [ "${CUSTOM}" ]
      } ],
      "fieldLabel" : "Time to Respond",
      "i18NLabel" : "Time to Respond",
      "type" : "integer"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "isn't",
        "i18NCondition" : "isn't",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "starts with",
        "i18NCondition" : "starts with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains",
        "i18NCondition" : "contains",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "doesn't contain",
        "i18NCondition" : "doesn't contain",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "ends with",
        "i18NCondition" : "ends with",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      } ],
      "fieldLabel" : "Skill",
      "i18NLabel" : "Skill",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is empty",
        "i18NCondition" : "is empty",
        "value" : [ "${EMPTY}" ]
      }, {
        "condition" : "is not empty",
        "i18NCondition" : "is not empty",
        "value" : [ "${NOTEMPTY}" ]
      }, {
        "condition" : "contain all of",
        "i18NCondition" : "contain all of",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contain any of",
        "i18NCondition" : "contain any of",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contain none of",
        "i18NCondition" : "contain none of",
        "value" : [ "${CUSTOM}" ]
      } ],
      "fieldLabel" : "Skills",
      "i18NLabel" : "Skills",
      "type" : "text"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "true", "false" ]
      } ],
      "fieldLabel" : "Is Response Overdue",
      "i18NLabel" : "Is Response Overdue",
      "type" : "boolean"
    }, {
      "availableConditions" : [ {
        "condition" : "during business hours of",
        "i18NCondition" : "during business hours of",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "outside business hours of",
        "i18NCondition" : "outside business hours of",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "on a holiday of",
        "i18NCondition" : "on a holiday of",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "not a holiday of",
        "i18NCondition" : "not a holiday of",
        "value" : [ "${CUSTOM}" ]
      } ],
      "fieldLabel" : "Execution Time",
      "i18NLabel" : "Execution Time",
      "type" : "businesshour"
    }, {
      "availableConditions" : [ {
        "condition" : "is",
        "i18NCondition" : "is",
        "value" : [ "Public", "Private" ]
      } ],
      "fieldLabel" : "Recent Comment Type",
      "i18NLabel" : "Recent Comment Type",
      "type" : "commenttype"
    }, {
      "availableConditions" : [ {
        "condition" : "contains one of the following words",
        "i18NCondition" : "contains one of the following words",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains none of the following words",
        "i18NCondition" : "contains none of the following words",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "contains the string",
        "i18NCondition" : "contains the string",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "does not contain the string",
        "i18NCondition" : "does not contain the string",
        "value" : [ "${CUSTOM}" ]
      }, {
        "condition" : "has @ mentions of",
        "i18NCondition" : "has @ mentions of",
        "value" : [ "${CUSTOM}" ]
      } ],
      "fieldLabel" : "Recent Comment",
      "i18NLabel" : "Recent Comment",
      "type" : "comment"
    } ]
  } ]
}

SkillConfiguration

Department Level Configurations for Skill Stamping

ATTRIBUTES

Attribute Name
Data Type
Description
departmentId

long

ID of the Department

attachSkillsOption

string

Append new skills at AT_FIRST or AT_THE_END or BY_SKILL_ORDER

autoSkillStamping

string

This indicates Auto Stamping is Active or not, Allowed values ACTIVE or INACTIVE

Example

{
  "autoSkillStamping" : "INACTIVE",
  "departmentId" : "1000000013248",
  "attachSkillsOption" : "AT_FIRST"
}


Get Skill Configuration

This API gets Configuration of Skill in a Department

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
departmentId

long

required

Department Id

GET /api/v1/skillConfiguration

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/skillConfiguration?departmentId=1000000013248
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "autoSkillStamping" : "ACTIVE",
  "departmentId" : "1000000013248",
  "attachSkillsOption" : "AT_THE_END"
}

Update Skill Configuration

This API updates Configuration of Skill in a Department

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
departmentId

long

optional

ID of the Department

attachSkillsOption

string

optional,
max chars : 100

Append new skills at AT_FIRST or AT_THE_END or BY_SKILL_ORDER

autoSkillStamping

string

optional,
max chars : 100

This indicates Auto Stamping is Active or not, Allowed values ACTIVE or INACTIVE

PATCH /api/v1/skillConfiguration

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/skillConfiguration
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "autoSkillStamping" : "INACTIVE", "departmentId" : "1000000013248", "attachSkillsOption" : "AT_FIRST" }'

Response Example

{
  "autoSkillStamping" : "INACTIVE",
  "departmentId" : "1000000013248",
  "attachSkillsOption" : "AT_FIRST"
}

Teams

A team is a group of agents/users in a department.Ā Just like how you can assign tickets or tasks to agents, you can also assign tickets and tasks to teams.

ATTRIBUTES

Attribute Name
Data Type
Description
name

String

Name of the team

description

String

A short description of the team

departmentId

Long

ID of the department to which the team belongs

subTeams

list

List of sub-teams within the team

roles

list

List of roles to add to the team

rolesWithSubordinates

list

List of roles with subordinates to add to the team

agents

list

List of agents to add to the team

derivedAgents

list

List of agents derived with the properties set for the team

Example

{
  "rolesWithSubordinates" : [ "6000000008684" ],
  "departmentId" : "6000000007245",
  "roles" : [ "6000000008686", "6000000011307" ],
  "name" : "Sales Representatives",
  "description" : "Sales teams for customer engagement.",
  "derivedAgents" : [ "6000000009086", "6000000012003" ],
  "id" : "6000000014005",
  "subTeams" : [ "6000000011305" ],
  "logoUrl" : null,
  "agents" : [ "6000000009086", "6000000012003" ]
}


Create team

This API creates a team in your help desk portal.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

String

required

Name of the team

description

String

optional

A short description of the team

departmentId

Long

required

ID of the department to which the team belongs

subTeams

list

optional

List of sub-teams within the team

roles

list

optional

List of roles to add to the team

rolesWithSubordinates

list

optional

List of roles with subordinates to add to the team

agents

list

optional

List of agents to add to the team

POST /api/v1/teams

OAuth Scope

Desk.settings.CREATE , Desk.basic.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/teams
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "rolesWithSubordinates" : [ "6000000008684", "6000000008686" ], "departmentId" : "6000000009893", "roles" : [ "6000000011307", "6000000011309", "6000000011311" ], "name" : "Sales Representatives", "description" : "Sales teams for customer engagement.", "subTeams" : [ "6000000012001" ], "agents" : [ "6000000009086" ] }'

Response Example

{
  "rolesWithSubordinates" : [ "6000000008684", "6000000008686" ],
  "departmentId" : "6000000009893",
  "roles" : [ "6000000011311", "6000000011309", "6000000011307" ],
  "name" : "Sales Representatives",
  "description" : "Sales teams for customer engagement.",
  "derivedAgents" : [ "6000000009086", "6000000012003" ],
  "id" : "6000000014007",
  "subTeams" : [ "6000000012001" ],
  "logoUrl" : null,
  "agents" : [ "6000000009086" ]
}

Update team

This API updates details of an existing team.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

String

optional

Name of the team

description

String

optional

A short description of the team

subTeams

list

optional

List of sub-teams within the team

roles

list

optional

List of roles to add to the team

rolesWithSubordinates

list

optional

List of roles with subordinates to add to the team

agents

list

optional

List of agents to add to the team

PATCH /api/v1/teams/{team_id}

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/teams/6000000014007
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "roles" : [ "6000000011307", "6000000011311" ], "name" : "Sales Reps.", "description" : "Sales teams for winning customers.", "subTeams" : [ "6000000011303" ], "agents" : [ "6000000009086" ] }'

Response Example

{
  "rolesWithSubordinates" : [ "6000000008684", "6000000008686" ],
  "departmentId" : "6000000009893",
  "roles" : [ "6000000011311", "6000000011307" ],
  "name" : "Sales Reps.",
  "description" : "Sales teams for winning customers.",
  "derivedAgents" : [ "6000000009086", "6000000012003" ],
  "id" : "6000000014007",
  "subTeams" : [ "6000000011303" ],
  "logoUrl" : null,
  "agents" : [ "6000000009086" ]
}

Delete team

This API deletes an existing team from your help desk portal. To reassign theĀ open and on hold tickets and tasks of the deleted team to a different team, pass theĀ ticketNewTeam, taskNewTeam, ticketNewAgent, andĀ taskNewAgent team parameters in the API request. If you do not want to assign the tickets to another team, pass the values ofĀ ticketNewTeam andĀ ticketNewAgent as null. However, in the case of tasks, eitherĀ taskNewTeam orĀ taskNewAgent must have a valid value. Both parameters cannot be passed as null.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
ticketNewTeam

long

required

Assign open and on hold tickets of the team being deleted to this team.

ticketNewAgent

long

required

Assign open and on hold tickets of the team being deleted to this agent.

taskNewTeam

long

required

Assign open tasks of the team being deleted to this team.

taskNewAgent

long

required

Assign open tasks of the team being deleted to this agent.

POST /api/v1/teams/{team_id}/deleteTeam

OAuth Scope

Desk.settings.DELETE , Desk.basic.DELETE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/teams/6000000014007/deleteTeam
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "ticketNewAgent" : "5000000013005", "ticketNewTeam" : "5000000013001", "taskNewTeam" : "5000000013001", "taskNewAgent" : "5000000013009" }'

Response Example

200

Get team

This API fetches the details of a team.

Credit: 1 credit/call

GET /api/v1/teams/{team_id}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/teams/6000000014007
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "rolesWithSubordinates" : [ "6000000008684", "6000000008686" ],
  "departmentId" : "6000000009893",
  "roles" : [ "6000000011311", "6000000011307" ],
  "name" : "Sales Reps.",
  "description" : "Sales teams for winning customers.",
  "derivedAgents" : [ "6000000009086", "6000000012003" ],
  "id" : "6000000014007",
  "subTeams" : [ "6000000011303" ],
  "logoUrl" : null,
  "agents" : [ "6000000009086" ]
}

List teams from all associated departments

This API fetches details of all teams created in all departments to which the current user belongs.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/teams

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/teams
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "teams" : [ {
    "rolesWithSubordinates" : [ ],
    "departmentId" : "17000000007253",
    "roles" : [ ],
    "name" : "Sales Reps.",
    "description" : "Sales teams for winning customers.",
    "derivedAgents" : [ ],
    "id" : "17000000013003",
    "subTeams" : [ ],
    "logoUrl" : null,
    "agents" : [ ]
  }, {
    "rolesWithSubordinates" : [ ],
    "departmentId" : "17000000009326",
    "roles" : [ ],
    "name" : "Support Teams",
    "description" : "Support teams for solving customer issues.",
    "derivedAgents" : [ ],
    "id" : "17000000013005",
    "subTeams" : [ ],
    "logoUrl" : "https://desk.zoho.com/api/v1/teams/6000000011303/logo?orgId=3458634",
    "agents" : [ ]
  }, {
    "rolesWithSubordinates" : [ ],
    "departmentId" : "17000000007253",
    "roles" : [ ],
    "name" : "Engineering",
    "description" : "Developers and Engineers.",
    "derivedAgents" : [ ],
    "id" : "17000000013001",
    "subTeams" : [ ],
    "logoUrl" : null,
    "agents" : [ ]
  } ]
}

List details of team members

This API fetches details of all the members of a particular team.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description

string

optional,
max chars : 100

Secondary information related to the team. Values allowed are profile, role. You can include all two values by separating them with commas in the API request.

GET /api/v1/teams/{team_id}/members

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/teams/6000000011303/members
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "members" : [ {
    "firstName" : "",
    "lastName" : "John",
    "photoURL" : "https://contacts.zoho.com/file?t=user&ID=437793",
    "roleId" : "7000000012324",
    "profileId" : "7000000012339",
    "emailId" : "john@zylker.com",
    "id" : "7000000013328",
    "zuid" : "437793"
  }, {
    "firstName" : "Steve",
    "lastName" : "Kyle",
    "photoURL" : null,
    "roleId" : "7000000012324",
    "profileId" : "7000000012339",
    "emailId" : "kyle@zylker.com",
    "id" : "7000000012958",
    "zuid" : "5625416"
  } ]
}

List associable teams

This API lists the other teams that can be added as sub-teams to the current team.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/teams/{team_id}/associables

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/teams/6000000011303/associables
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "teams" : [ 6000000011303, 6000000017021, 6000000017023, 6000000016013, 6000000017017, 6000000016015, 6000000017019, 6000000017013, 6000000017015, 6000000017009, 6000000012001, 6000000017011, 6000000017005, 6000000016025, 6000000017007, 6000000017059, 6000000016027, 6000000017001, 6000000016029, 6000000017003, 6000000016031, 6000000016017, 6000000015001, 6000000016019, 6000000016021 ]
}

List associated teams of agent

This API fetches details of all the teams to which an agent belongs.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/agents/{agent_id}/teams

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/agents/6000000011313/teams
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "teams" : [ {
    "rolesWithSubordinates" : [ ],
    "departmentId" : "60000000839483",
    "roles" : [ "60000000098623" ],
    "name" : "Sales Reps.",
    "description" : "Sales teams for winning customers.",
    "derivedAgents" : [ "6000000011313", "60000000120230" ],
    "id" : "6000000083003",
    "subTeams" : [ ],
    "logoUrl" : null,
    "agents" : [ ]
  }, {
    "rolesWithSubordinates" : [ ],
    "departmentId" : "60000000839483",
    "roles" : [ ],
    "name" : "Support Teams",
    "description" : "Support teams for solving customer issues.",
    "derivedAgents" : [ "6000000011313" ],
    "id" : "6000000083034",
    "subTeams" : [ ],
    "logoUrl" : null,
    "agents" : [ "6000000011313" ]
  } ]
}

List associated teams for a role

This API fetches details of all the teams associated with a particular role.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/roles/{role_id}/teams

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/roles/6000000008684/teams
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "teams" : [ {
    "rolesWithSubordinates" : [ "6000000008684" ],
    "departmentId" : "60000000839483",
    "roles" : [ "60000000098623" ],
    "name" : "Sales Reps.",
    "description" : "Sales teams for winning customers.",
    "derivedAgents" : [ "6000000011313", "60000000120230" ],
    "id" : "6000000083003",
    "subTeams" : [ ],
    "logoUrl" : null,
    "agents" : [ ]
  }, {
    "rolesWithSubordinates" : [ ],
    "departmentId" : "60000000839483",
    "roles" : [ "6000000008684" ],
    "name" : "Support Teams",
    "description" : "Support teams for solving customer issues.",
    "derivedAgents" : [ "6000000011313" ],
    "id" : "6000000083034",
    "subTeams" : [ ],
    "logoUrl" : null,
    "agents" : [ "6000000011313" ]
  } ]
}

List teams in department

This API fetches details of all the teams in a particular department.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/departments/{department_id}/teams

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/departments/6000000007245/teams
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "teams" : [ {
    "rolesWithSubordinates" : [ "6000000008684", "6000000008686" ],
    "roles" : [ "6000000011311", "6000000011309", "6000000011307" ],
    "departmentId" : "6000000007245",
    "name" : "Field Agents",
    "derivedAgents" : [ "6000000009086" ],
    "description" : "Field Agents team for customer issues",
    "id" : "6000000017039",
    "subTeams" : [ ],
    "logoUrl" : null,
    "agents" : [ "6000000009086" ]
  }, {
    "rolesWithSubordinates" : [ "6000000008684", "6000000008686" ],
    "roles" : [ "6000000011311", "6000000011309", "6000000011307" ],
    "departmentId" : "6000000007245",
    "name" : "Managers",
    "derivedAgents" : [ "6000000009086" ],
    "description" : "Managers",
    "id" : "6000000016007",
    "subTeams" : [ "6000000016011", "6000000014005" ],
    "logoUrl" : null,
    "agents" : [ "6000000009086" ]
  } ]
}

Roles

Role refers to the user role that can be defined in Zoho Desk. Roles help define organization-wide hierarchy.Ā Users at a higher hierarchy can always access all the records of at a lower hierarchy. For example, a Support Manager can access all the Agents' records, whereas Agents can access only their records.

ATTRIBUTES

Attribute Name
Data Type
Description
name

string

Name of the role

description

string

A short description of the role

isVisible

boolean

Key that denotes if the role is visible in the UI

isDefault

boolean

Key that denotes if the role is the default role

shareDataWithPeers

boolean

Key that denotes if the role shares data with its peer roles

id

long

ID of the role

reportsTo

long

ID of the role to which the current role reports

immediateSubRoles

list

IDs of roles that directly report to the current role

Example

{
  "isDefault" : true,
  "shareDataWithPeers" : true,
  "immediateSubRoles" : [ "5000000054103", "5000000008813", "5000000057018" ],
  "name" : "CEO",
  "description" : "Agent belongs to this role can access all other user's data.",
  "reportsTo" : null,
  "id" : "5000000008807",
  "isVisible" : true
}


List roles

This API lists a particular number of roles, based on the limit specified.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional,
range : >=0

Index number, starting from which the roles must be listed

limit

integer

optional,
range : 0-500

Number of roles to display. The default value is 15 and the maximum value allowed is 500.

isVisible

boolean

optional

Key that filters roles according to their visibility in the UI

isDefault

boolean

optional

Key that denotes whether the roles must be default roles or custom roles

searchStr

string

optional,
max chars : 100

String to search for roles by name or description. The string must contain at least one character. Three search methods are supported: 1) string* - Searches for roles whose name or description start with the string, 2) *string* - Searches for roles whose name or description contain the string, 3) string - Searches for roles whose name or description is an exact match for the string

GET /api/v1/roles

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET http://desk.zoho.com/api/v1/roles
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "isDefault" : true,
    "shareDataWithPeers" : true,
    "immediateSubRoles" : [ "50000785582324", "50000000779019", "50000001319909" ],
    "name" : "CEO",
    "description" : "Agent belongs to this role can access all other user's data.",
    "reportsTo" : null,
    "id" : "50000000008337",
    "isVisible" : true
  }, {
    "isDefault" : false,
    "shareDataWithPeers" : false,
    "immediateSubRoles" : [ "50000091844659" ],
    "name" : "Manager",
    "description" : "Agents belongs to this cannot see admin role users data",
    "reportsTo" : "50000000008337",
    "id" : "50000000008339",
    "isVisible" : true
  }, {
    "isDefault" : false,
    "shareDataWithPeers" : false,
    "immediateSubRoles" : [ ],
    "name" : "PortalUser",
    "description" : "User belongs to this role are portal users they can access their cases and solutions only",
    "reportsTo" : "50000000008337",
    "id" : "50000000008341",
    "isVisible" : false
  }, {
    "isDefault" : false,
    "shareDataWithPeers" : false,
    "immediateSubRoles" : [ ],
    "name" : "Development Team Member",
    "description" : "Development team members from Engineering",
    "reportsTo" : "50000000008337",
    "id" : "50000000469017",
    "isVisible" : true
  }, {
    "isDefault" : false,
    "shareDataWithPeers" : false,
    "immediateSubRoles" : [ ],
    "name" : "Product Team Member",
    "description" : "Products Managers",
    "reportsTo" : "50000000008337",
    "id" : "50000000551386",
    "isVisible" : true
  }, {
    "isDefault" : false,
    "shareDataWithPeers" : true,
    "immediateSubRoles" : [ ],
    "name" : "Sales Team Member",
    "description" : "",
    "reportsTo" : "50000000008337",
    "id" : "50000000779019",
    "isVisible" : true
  }, {
    "isDefault" : false,
    "shareDataWithPeers" : false,
    "immediateSubRoles" : [ ],
    "name" : "Personal",
    "description" : "Agents belongs to this role can see only unassigned and his/her data",
    "reportsTo" : null,
    "id" : "50000002634005",
    "isVisible" : false
  }, {
    "isDefault" : false,
    "shareDataWithPeers" : false,
    "immediateSubRoles" : [ ],
    "name" : "Marketing Team Member",
    "description" : "",
    "reportsTo" : "50000000008337",
    "id" : "50000009610999",
    "isVisible" : true
  }, {
    "isDefault" : true,
    "shareDataWithPeers" : false,
    "immediateSubRoles" : [ ],
    "name" : "LightAgent",
    "description" : "Agents belonging to this role can access all user's data.",
    "reportsTo" : null,
    "id" : "50000565365005",
    "isVisible" : false
  } ]
}

List agents by role

This API lists agents mapped to a particular role.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/roles/{role_id}/agents

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/roles/50000000008446/agents
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "associatedAgents" : [ "50000000009163", "50000000009300", "50000000010007", "50000000010011", "50000000062391", "50000000062393" ]
}

Create role

This API creates a role in your help desk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

string

required,
max chars : 50

Name of the role

description

string

optional,
max chars : 3200

A short description of the role

shareDataWithPeers

boolean

required

Key that denotes if the role shares data with its peer roles

reportsTo

long

optional

ID of the role to which the current role reports

POST /api/v1/roles

OAuth Scope

Desk.settings.CREATE , Desk.basic.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/roles
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "shareDataWithPeers" : true, "name" : "Customer Care Associate", "description" : "Can work on own tickets and can not re-assign tickets.", "reportsTo" : 5000000008807 }'

Response Example

{
  "isDefault" : false,
  "shareDataWithPeers" : true,
  "immediateSubRoles" : [ ],
  "name" : "Customer Care Associate",
  "description" : "Can work on own tickets and can not re-assign tickets.",
  "reportsTo" : 5000000008807,
  "id" : "5000000002973",
  "isVisible" : true
}

Update role

This API updates details of an existing role.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

string

optional,
max chars : 50

Name of the role

description

string

optional,
max chars : 3200

A short description of the role

shareDataWithPeers

boolean

optional

Key that denotes if the role shares data with its peer roles

reportsTo

long

optional

ID of the role to which the current role reports

PATCH /api/v1/roles/{role_id}

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/roles/5000000002973
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "shareDataWithPeers" : true, "name" : "Customer Care and Sales Associate", "description" : "Can work on own tickets and can not re-assign tickets.", "reportsTo" : 5000000008807 }'

Response Example

{
  "isDefault" : false,
  "shareDataWithPeers" : true,
  "immediateSubRoles" : [ ],
  "name" : "Customer Care and Sales Associate",
  "description" : "Can work on own tickets and can not re-assign tickets.",
  "reportsTo" : 5000000008807,
  "id" : "5000000002973",
  "isVisible" : true
}

Delete role

This API deletes a role from your help desk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
transferToRoleId

long

required

Transfer the child-roles to the given role

POST /api/v1/roles/{role_id}/delete

OAuth Scope

Desk.settings.DELETE , Desk.basic.DELETE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/roles/5000000002973/delete
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "transferToRoleId" : "5000000008807" }'

Response Example

204

Get role

This API fetches the details of a particular role.

Credit: 1 credit/call

GET /api/v1/roles/{role_id}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/roles/4000000012414
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "isDefault" : true,
  "shareDataWithPeers" : false,
  "immediateSubRoles" : [ "4000000012420", "4000000012417" ],
  "name" : "CEO",
  "description" : "Agent belongs to this role can access all other user's data.",
  "reportsTo" : null,
  "id" : "4000000012414",
  "isVisible" : true
}

Get role count

This API fetches the number of roles configured in your help desk.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
isVisible

boolean

optional

Key that filters roles according to their visibility in the UI

isDefault

boolean

optional

Key that denotes whether the roles must be default roles or custom roles

GET /api/v1/roles/count

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/roles/count
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "count" : 5
}

Get personal role

This API fetches the details of the personal role configured in your help desk. Agents with personal role can view only the tickets assigned to them and unassigned tickets.

Credit: 1 credit/call

GET /api/v1/personalRole

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/personalRole
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "isDefault" : false,
  "shareDataWithPeers" : false,
  "immediateSubRoles" : [ ],
  "name" : "Personal",
  "description" : "Agents belongs to this role can see only unassigned and his/her data",
  "reportsTo" : null,
  "id" : "4000000012423",
  "isVisible" : false
}

List roles by role IDs

This API lists details of the roles whose IDs are passed in the API request.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description

long

required

Comma separated role ids. Maximum allowed count is 50

GET /api/v1/rolesByIds

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/rolesByIds?roleIds=4000000012423,4000000012420,4000000012414
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "isDefault" : true,
    "shareDataWithPeers" : false,
    "immediateSubRoles" : [ "4000000012420", "4000000012417" ],
    "name" : "CEO",
    "description" : "Agent belongs to this role can access all other user's data.",
    "reportsTo" : null,
    "id" : "4000000012414",
    "isVisible" : true
  }, {
    "isDefault" : false,
    "shareDataWithPeers" : false,
    "immediateSubRoles" : [ ],
    "name" : "PortalUser",
    "description" : "User belongs to this role are portal users they can access their cases and solutions only",
    "reportsTo" : "4000000012414",
    "id" : "4000000012420",
    "isVisible" : false
  }, {
    "isDefault" : false,
    "shareDataWithPeers" : false,
    "immediateSubRoles" : [ ],
    "name" : "Personal",
    "description" : "Agents belongs to this role can see only unassigned and his/her data",
    "reportsTo" : null,
    "id" : "4000000012423",
    "isVisible" : false
  } ]
}

Profiles

Profiles control the user permissions to access help desk modules, records, fields in a record, and other utilities, such as import, export, send email, etc. Users associated with a profile can access only the functions that are assigned to that profile.

ATTRIBUTES

Attribute Name
Data Type
Description
name

string

Name of the profile

description

string

Description of the profile

isVisible

boolean

If the profile is visible in UI

type

string

Type of the profile. Possible values are Administrator, Standard, Light, Portal, and Custom

default

boolean

If the profile is system generated

id

long

Id of the profile

permissions

object

Details of the permissions for the profile

Example

{
  "default" : true,
  "permissions" : {
    "crmInteg" : {
      "crmContactsActivityEvents" : false,
      "crmAccountsActivityEvents" : false,
      "crmAccountsActivityTasks" : false,
      "crmAccountsInfo" : false,
      "crmContactsActivityCalls" : false,
      "crmAccountsNotes" : false,
      "crmAccountsActivityCalls" : false,
      "crmContactsInfo" : false,
      "crmContactsNotes" : false,
      "crmContactsActivityTasks" : false,
      "crmAccountsPotentials" : false,
      "crmContactsPotentials" : false
    },
    "reports" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "tickets" : {
      "mergeTickets" : true,
      "changeOwner" : true,
      "import" : true,
      "handleUnassigned" : true,
      "edit" : true,
      "closeTicket" : true,
      "revokeBlueprint" : true,
      "mailReview" : true,
      "delete" : true,
      "view" : true,
      "create" : true,
      "addFollowers" : true,
      "export" : true,
      "mailSend" : true,
      "unassignedChangeOwner" : false,
      "shareTickets" : true
    },
    "comments" : {
      "deleteOthers" : true,
      "edit" : true,
      "editOthers" : true,
      "delete" : true
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : true,
      "customMobileApps" : true,
      "deskapp" : true
    },
    "contracts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "community" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "moderate" : true
    },
    "products" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "agents" : {
      "overview" : true,
      "import" : false,
      "edit" : false,
      "create" : true,
      "delete" : true,
      "viewAllFields" : true
    },
    "managerDashboard" : {
      "myView" : true,
      "allView" : true,
      "customize" : false
    },
    "kbCategory" : {
      "view" : true,
      "editAllArticles" : true,
      "import" : true,
      "manageKB" : true,
      "edit" : true,
      "create" : true,
      "admin" : true,
      "delete" : true,
      "export" : true
    },
    "setup" : {
      "localization" : true,
      "timeTracking" : true,
      "fetchAcrossDepartment" : true,
      "globalReports" : true,
      "exportPortalUsers" : true,
      "layouts" : true,
      "automation" : true,
      "featureConfig" : true,
      "customerHappiness" : true,
      "department" : true,
      "portal" : true,
      "webForm" : true,
      "rebranding" : true,
      "email" : true,
      "recycleBin" : true,
      "tabsAndFields" : true,
      "exportUsers" : true,
      "buttons" : true,
      "teams" : true,
      "social" : true,
      "templates" : true,
      "sandbox" : true,
      "moveRecords" : true,
      "permission" : true,
      "signUpApproval" : true,
      "community" : true,
      "importHistory" : true,
      "manageAgents" : true,
      "portalUsers" : true,
      "managerDashboard" : true,
      "googleAnalytics" : true,
      "chat" : true,
      "telephony" : true,
      "manageMarketplace" : false
    },
    "financeInteg" : {
      "sendInvoice" : false,
      "createEstimate" : false,
      "createContact" : false,
      "viewInvoice" : false,
      "createInvoice" : false,
      "sendEstimate" : false,
      "viewEstimate" : false
    },
    "accounts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "timeEntry" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true
    },
    "contacts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "tasks" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    }
  },
  "name" : "Support Administrator",
  "description" : "Set the privileges for support administrators.",
  "id" : "5000000015288",
  "isVisible" : true,
  "type" : "Administrator"
}


List profiles

This API lists a particular number of user profiles, based on the limit specified.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
visible

boolean

optional

Key that filters profiles according to their visibility in the UI

default

boolean

optional

Key that denotes whether the profiles must be default profiles or custom profiles

searchStr

string

optional,
max chars : 100

String to search for profile by name or description. The string must contain at least one character. Three search methods are supported: 1) string* - Searches for profiles whose name or description start with the string, 2) *string* - Searches for profiles whose name or description contain the string, 3) string - Searches for profiles whose name or description is an exact match for the string

GET /api/v1/profiles

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/profiles?visible=true
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "default" : true,
    "permissions" : {
      "crmInteg" : {
        "crmContactsActivityEvents" : false,
        "crmAccountsActivityEvents" : false,
        "crmAccountsActivityTasks" : false,
        "crmAccountsInfo" : false,
        "crmContactsActivityCalls" : false,
        "crmAccountsNotes" : false,
        "crmAccountsActivityCalls" : false,
        "crmContactsInfo" : false,
        "crmContactsNotes" : false,
        "crmContactsActivityTasks" : false,
        "crmAccountsPotentials" : false,
        "crmContactsPotentials" : false
      },
      "reports" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "tickets" : {
        "mergeTickets" : true,
        "changeOwner" : true,
        "import" : true,
        "handleUnassigned" : true,
        "edit" : true,
        "closeTicket" : true,
        "revokeBlueprint" : true,
        "mailReview" : true,
        "delete" : true,
        "view" : true,
        "create" : true,
        "addFollowers" : true,
        "export" : true,
        "mailSend" : true,
        "unassignedChangeOwner" : false,
        "shareTickets" : true
      },
      "comments" : {
        "deleteOthers" : true,
        "edit" : true,
        "editOthers" : true,
        "delete" : true
      },
      "social" : {
        "view" : true,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : true,
        "customMobileApps" : true,
        "deskapp" : true
      },
      "contracts" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "community" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "moderate" : true
      },
      "products" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "agents" : {
        "overview" : true,
        "edit" : false,
        "create" : true,
        "delete" : true,
        "viewAllFields" : true
      },
      "kbCategory" : {
        "view" : true,
        "editAllArticles" : true,
        "import" : true,
        "manageKB" : true,
        "edit" : true,
        "create" : true,
        "admin" : true,
        "delete" : true,
        "export" : true
      },
      "setup" : {
        "localization" : true,
        "timeTracking" : true,
        "fetchAcrossDepartment" : true,
        "globalReports" : true,
        "exportPortalUsers" : true,
        "layouts" : true,
        "automation" : true,
        "featureConfig" : true,
        "customerHappiness" : true,
        "department" : true,
        "portal" : true,
        "webForm" : true,
        "rebranding" : true,
        "email" : true,
        "recycleBin" : true,
        "tabsAndFields" : true,
        "exportUsers" : true,
        "teams" : true,
        "social" : true,
        "templates" : true,
        "sandbox" : true,
        "moveRecords" : true,
        "permission" : true,
        "signUpApproval" : true,
        "community" : true,
        "importHistory" : true,
        "manageAgents" : true,
        "portalUsers" : true,
        "managerDashboard" : true,
        "googleAnalytics" : true,
        "chat" : true,
        "telephony" : true,
        "manageMarketplace" : true
      },
      "financeInteg" : {
        "sendInvoice" : false,
        "createEstimate" : false,
        "createContact" : false,
        "viewInvoice" : false,
        "createInvoice" : false,
        "sendEstimate" : false,
        "viewEstimate" : false
      },
      "accounts" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "timeEntry" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true
      },
      "contacts" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "tasks" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      }
    },
    "name" : "Support Administrator",
    "description" : "Set the privileges for support administrators.",
    "id" : "5000000015288",
    "isVisible" : true,
    "type" : "Administrator"
  }, {
    "default" : true,
    "permissions" : {
      "crmInteg" : {
        "crmContactsActivityEvents" : false,
        "crmAccountsActivityEvents" : false,
        "crmAccountsActivityTasks" : false,
        "crmAccountsInfo" : false,
        "crmContactsActivityCalls" : false,
        "crmAccountsNotes" : false,
        "crmAccountsActivityCalls" : false,
        "crmContactsInfo" : false,
        "crmContactsNotes" : false,
        "crmContactsActivityTasks" : false,
        "crmAccountsPotentials" : false,
        "crmContactsPotentials" : false
      },
      "reports" : {
        "view" : true,
        "edit" : false,
        "create" : false,
        "delete" : false,
        "export" : true
      },
      "tickets" : {
        "mergeTickets" : false,
        "changeOwner" : false,
        "import" : false,
        "handleUnassigned" : false,
        "edit" : false,
        "closeTicket" : false,
        "revokeBlueprint" : false,
        "mailReview" : false,
        "delete" : false,
        "view" : true,
        "create" : false,
        "addFollowers" : false,
        "export" : true,
        "mailSend" : false,
        "unassignedChangeOwner" : false,
        "shareTickets" : false
      },
      "comments" : {
        "deleteOthers" : true,
        "edit" : false,
        "editOthers" : true,
        "delete" : false
      },
      "social" : {
        "view" : true,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : true,
        "customMobileApps" : true,
        "deskapp" : true
      },
      "contracts" : {
        "view" : true,
        "import" : false,
        "edit" : false,
        "create" : false,
        "delete" : false,
        "export" : true
      },
      "community" : {
        "view" : false
      },
      "products" : {
        "view" : true,
        "import" : false,
        "edit" : false,
        "create" : false,
        "delete" : false,
        "export" : true
      },
      "agents" : {
        "overview" : true,
        "edit" : false,
        "create" : true,
        "delete" : true,
        "viewAllFields" : true
      },
      "kbCategory" : {
        "view" : true,
        "editAllArticles" : false,
        "import" : false,
        "manageKB" : false,
        "edit" : false,
        "create" : false,
        "admin" : false,
        "delete" : false,
        "export" : true
      },
      "setup" : {
        "localization" : false,
        "timeTracking" : false,
        "fetchAcrossDepartment" : true,
        "globalReports" : false,
        "exportPortalUsers" : false,
        "layouts" : false,
        "automation" : false,
        "featureConfig" : false,
        "customerHappiness" : false,
        "department" : false,
        "portal" : false,
        "webForm" : false,
        "rebranding" : false,
        "email" : false,
        "recycleBin" : false,
        "tabsAndFields" : false,
        "exportUsers" : false,
        "teams" : false,
        "social" : false,
        "templates" : false,
        "sandbox" : false,
        "moveRecords" : false,
        "permission" : false,
        "signUpApproval" : false,
        "community" : false,
        "importHistory" : false,
        "manageAgents" : false,
        "portalUsers" : false,
        "managerDashboard" : true,
        "googleAnalytics" : true,
        "chat" : false,
        "telephony" : false,
        "manageMarketplace" : false
      },
      "financeInteg" : {
        "sendInvoice" : false,
        "createEstimate" : false,
        "createContact" : false,
        "viewInvoice" : false,
        "createInvoice" : false,
        "sendEstimate" : false,
        "viewEstimate" : false
      },
      "accounts" : {
        "view" : true,
        "import" : false,
        "edit" : false,
        "create" : false,
        "delete" : false,
        "export" : true
      },
      "timeEntry" : {
        "view" : true,
        "edit" : false,
        "create" : false,
        "delete" : false
      },
      "contacts" : {
        "view" : true,
        "import" : false,
        "edit" : false,
        "create" : false,
        "delete" : false,
        "export" : true
      },
      "tasks" : {
        "view" : true,
        "import" : false,
        "edit" : false,
        "create" : false,
        "delete" : false,
        "export" : true
      }
    },
    "name" : "Light Agent",
    "description" : "Set the privilege for light agents",
    "id" : "5000000015306",
    "isVisible" : true,
    "type" : "Light"
  }, {
    "default" : false,
    "permissions" : {
      "crmInteg" : {
        "crmContactsActivityEvents" : false,
        "crmAccountsActivityEvents" : false,
        "crmAccountsActivityTasks" : false,
        "crmAccountsInfo" : false,
        "crmContactsActivityCalls" : false,
        "crmAccountsNotes" : false,
        "crmAccountsActivityCalls" : false,
        "crmContactsInfo" : false,
        "crmContactsNotes" : false,
        "crmContactsActivityTasks" : false,
        "crmAccountsPotentials" : false,
        "crmContactsPotentials" : false
      },
      "reports" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : false
      },
      "tickets" : {
        "mergeTickets" : false,
        "changeOwner" : true,
        "import" : false,
        "handleUnassigned" : true,
        "edit" : true,
        "closeTicket" : false,
        "revokeBlueprint" : false,
        "mailReview" : false,
        "delete" : true,
        "view" : true,
        "create" : true,
        "addFollowers" : false,
        "export" : false,
        "mailSend" : false,
        "unassignedChangeOwner" : false,
        "shareTickets" : false
      },
      "comments" : {
        "deleteOthers" : true,
        "edit" : false,
        "editOthers" : true,
        "delete" : false
      },
      "social" : {
        "view" : true,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : true,
        "customMobileApps" : true,
        "deskapp" : true
      },
      "contracts" : {
        "view" : true,
        "import" : false,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : false
      },
      "community" : {
        "view" : true
      },
      "products" : {
        "view" : true,
        "import" : false,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : false
      },
      "agents" : {
        "overview" : true,
        "edit" : false,
        "create" : true,
        "delete" : true,
        "viewAllFields" : true
      },
      "kbCategory" : {
        "view" : true,
        "editAllArticles" : true,
        "import" : false,
        "manageKB" : true,
        "edit" : true,
        "create" : true,
        "admin" : true,
        "delete" : true,
        "export" : false
      },
      "setup" : {
        "localization" : false,
        "timeTracking" : false,
        "fetchAcrossDepartment" : false,
        "globalReports" : false,
        "exportPortalUsers" : false,
        "layouts" : false,
        "automation" : false,
        "featureConfig" : false,
        "customerHappiness" : false,
        "department" : false,
        "portal" : false,
        "webForm" : false,
        "rebranding" : false,
        "email" : false,
        "recycleBin" : false,
        "tabsAndFields" : false,
        "exportUsers" : false,
        "teams" : false,
        "social" : false,
        "templates" : false,
        "sandbox" : false,
        "moveRecords" : false,
        "permission" : false,
        "signUpApproval" : false,
        "community" : false,
        "importHistory" : false,
        "manageAgents" : false,
        "portalUsers" : false,
        "managerDashboard" : false,
        "googleAnalytics" : false,
        "chat" : false,
        "telephony" : false,
        "manageMarketplace" : false
      },
      "financeInteg" : {
        "sendInvoice" : false,
        "createEstimate" : false,
        "createContact" : false,
        "viewInvoice" : false,
        "createInvoice" : false,
        "sendEstimate" : false,
        "viewEstimate" : false
      },
      "accounts" : {
        "view" : true,
        "import" : false,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : false
      },
      "timeEntry" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true
      },
      "contacts" : {
        "view" : true,
        "import" : false,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : false
      },
      "tasks" : {
        "view" : true,
        "import" : false,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : false
      }
    },
    "name" : "Newbie Agent",
    "description" : "Set the privileges for new agents.",
    "id" : "5000000015303",
    "isVisible" : true,
    "type" : "Custom"
  }, {
    "default" : true,
    "permissions" : {
      "crmInteg" : {
        "crmContactsActivityEvents" : false,
        "crmAccountsActivityEvents" : false,
        "crmAccountsActivityTasks" : false,
        "crmAccountsInfo" : false,
        "crmContactsActivityCalls" : false,
        "crmAccountsNotes" : false,
        "crmAccountsActivityCalls" : false,
        "crmContactsInfo" : false,
        "crmContactsNotes" : false,
        "crmContactsActivityTasks" : false,
        "crmAccountsPotentials" : false,
        "crmContactsPotentials" : false
      },
      "reports" : {
        "view" : false,
        "edit" : false,
        "create" : false,
        "delete" : false,
        "export" : false
      },
      "tickets" : {
        "mergeTickets" : false,
        "changeOwner" : false,
        "import" : false,
        "handleUnassigned" : false,
        "edit" : false,
        "closeTicket" : false,
        "revokeBlueprint" : false,
        "mailReview" : false,
        "delete" : false,
        "view" : true,
        "create" : true,
        "addFollowers" : false,
        "export" : true,
        "mailSend" : false,
        "unassignedChangeOwner" : false,
        "shareTickets" : false
      },
      "comments" : {
        "deleteOthers" : false,
        "edit" : false,
        "editOthers" : false,
        "delete" : false
      },
      "social" : {
        "view" : false,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : true,
        "customMobileApps" : true,
        "deskapp" : true
      },
      "contracts" : {
        "view" : false,
        "import" : false,
        "edit" : false,
        "create" : false,
        "delete" : false,
        "export" : false
      },
      "community" : {
        "view" : false
      },
      "products" : {
        "view" : false,
        "import" : false,
        "edit" : false,
        "create" : false,
        "delete" : false,
        "export" : false
      },
      "agents" : {
        "overview" : true,
        "edit" : false,
        "create" : true,
        "delete" : true,
        "viewAllFields" : true
      },
      "kbCategory" : {
        "view" : true,
        "editAllArticles" : false,
        "import" : false,
        "manageKB" : false,
        "edit" : false,
        "create" : false,
        "admin" : false,
        "delete" : false,
        "export" : true
      },
      "setup" : {
        "localization" : false,
        "timeTracking" : false,
        "fetchAcrossDepartment" : false,
        "globalReports" : false,
        "exportPortalUsers" : false,
        "layouts" : false,
        "automation" : false,
        "featureConfig" : false,
        "customerHappiness" : false,
        "department" : false,
        "portal" : false,
        "webForm" : false,
        "rebranding" : false,
        "email" : false,
        "recycleBin" : false,
        "tabsAndFields" : false,
        "exportUsers" : false,
        "teams" : false,
        "social" : false,
        "templates" : false,
        "sandbox" : false,
        "moveRecords" : false,
        "permission" : false,
        "signUpApproval" : false,
        "community" : false,
        "importHistory" : false,
        "manageAgents" : false,
        "portalUsers" : false,
        "managerDashboard" : false,
        "googleAnalytics" : false,
        "chat" : false,
        "telephony" : false,
        "manageMarketplace" : false
      },
      "financeInteg" : {
        "sendInvoice" : false,
        "createEstimate" : false,
        "createContact" : false,
        "viewInvoice" : false,
        "createInvoice" : false,
        "sendEstimate" : false,
        "viewEstimate" : false
      },
      "accounts" : {
        "view" : false,
        "import" : false,
        "edit" : false,
        "create" : false,
        "delete" : false,
        "export" : false
      },
      "timeEntry" : {
        "view" : false,
        "edit" : false,
        "create" : false,
        "delete" : false
      },
      "contacts" : {
        "view" : false,
        "import" : false,
        "edit" : false,
        "create" : false,
        "delete" : false,
        "export" : false
      },
      "tasks" : {
        "view" : false,
        "import" : false,
        "edit" : false,
        "create" : false,
        "delete" : false,
        "export" : false
      }
    },
    "name" : "Help Center",
    "description" : "This profile will have the permissions of End Users",
    "id" : "5000000015294",
    "isVisible" : false,
    "type" : "Portal"
  }, {
    "default" : true,
    "permissions" : {
      "crmInteg" : {
        "crmContactsActivityEvents" : false,
        "crmAccountsActivityEvents" : false,
        "crmAccountsActivityTasks" : false,
        "crmAccountsInfo" : false,
        "crmContactsActivityCalls" : false,
        "crmAccountsNotes" : false,
        "crmAccountsActivityCalls" : false,
        "crmContactsInfo" : false,
        "crmContactsNotes" : false,
        "crmContactsActivityTasks" : false,
        "crmAccountsPotentials" : false,
        "crmContactsPotentials" : false
      },
      "reports" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "tickets" : {
        "mergeTickets" : true,
        "changeOwner" : true,
        "import" : true,
        "handleUnassigned" : true,
        "edit" : true,
        "closeTicket" : true,
        "revokeBlueprint" : false,
        "mailReview" : true,
        "delete" : true,
        "view" : true,
        "create" : true,
        "addFollowers" : true,
        "export" : true,
        "mailSend" : true,
        "unassignedChangeOwner" : false,
        "shareTickets" : false
      },
      "comments" : {
        "deleteOthers" : true,
        "edit" : true,
        "editOthers" : true,
        "delete" : true
      },
      "social" : {
        "view" : true,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : true,
        "customMobileApps" : true,
        "deskapp" : true
      },
      "contracts" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "community" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "moderate" : false
      },
      "products" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "agents" : {
        "overview" : true,
        "edit" : false,
        "create" : true,
        "delete" : true,
        "viewAllFields" : true
      },
      "kbCategory" : {
        "view" : true,
        "editAllArticles" : true,
        "import" : true,
        "manageKB" : true,
        "edit" : true,
        "create" : true,
        "admin" : true,
        "delete" : true,
        "export" : true
      },
      "setup" : {
        "localization" : false,
        "timeTracking" : false,
        "fetchAcrossDepartment" : true,
        "globalReports" : false,
        "exportPortalUsers" : true,
        "layouts" : false,
        "automation" : false,
        "featureConfig" : false,
        "customerHappiness" : false,
        "department" : false,
        "portal" : false,
        "webForm" : false,
        "rebranding" : false,
        "email" : false,
        "recycleBin" : false,
        "tabsAndFields" : false,
        "exportUsers" : true,
        "teams" : false,
        "social" : false,
        "templates" : false,
        "sandbox" : false,
        "moveRecords" : true,
        "permission" : false,
        "signUpApproval" : false,
        "community" : false,
        "importHistory" : true,
        "manageAgents" : false,
        "portalUsers" : false,
        "managerDashboard" : false,
        "googleAnalytics" : false,
        "chat" : false,
        "telephony" : false,
        "manageMarketplace" : false
      },
      "financeInteg" : {
        "sendInvoice" : false,
        "createEstimate" : false,
        "createContact" : false,
        "viewInvoice" : false,
        "createInvoice" : false,
        "sendEstimate" : false,
        "viewEstimate" : false
      },
      "accounts" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "timeEntry" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true
      },
      "contacts" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "tasks" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      }
    },
    "name" : "Agent",
    "description" : "Set the privileges for standard agents",
    "id" : "5000000015291",
    "isVisible" : true,
    "type" : "Standard"
  }, {
    "default" : false,
    "permissions" : {
      "crmInteg" : {
        "crmContactsActivityEvents" : false,
        "crmAccountsActivityEvents" : false,
        "crmAccountsActivityTasks" : false,
        "crmAccountsInfo" : false,
        "crmContactsActivityCalls" : false,
        "crmAccountsNotes" : false,
        "crmAccountsActivityCalls" : false,
        "crmContactsInfo" : false,
        "crmContactsNotes" : false,
        "crmContactsActivityTasks" : false,
        "crmAccountsPotentials" : false,
        "crmContactsPotentials" : false
      },
      "reports" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "tickets" : {
        "mergeTickets" : true,
        "changeOwner" : true,
        "import" : true,
        "handleUnassigned" : true,
        "edit" : true,
        "closeTicket" : true,
        "revokeBlueprint" : false,
        "mailReview" : true,
        "delete" : true,
        "view" : true,
        "create" : true,
        "addFollowers" : true,
        "export" : true,
        "mailSend" : true,
        "unassignedChangeOwner" : false,
        "shareTickets" : false
      },
      "comments" : {
        "deleteOthers" : true,
        "edit" : true,
        "editOthers" : true,
        "delete" : true
      },
      "social" : {
        "view" : true,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : true,
        "customMobileApps" : true,
        "deskapp" : true
      },
      "contracts" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "community" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "moderate" : true
      },
      "products" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "agents" : {
        "overview" : true,
        "edit" : false,
        "create" : true,
        "delete" : true,
        "viewAllFields" : true
      },
      "kbCategory" : {
        "view" : true,
        "editAllArticles" : true,
        "import" : true,
        "manageKB" : true,
        "edit" : true,
        "create" : true,
        "admin" : true,
        "delete" : true,
        "export" : true
      },
      "setup" : {
        "localization" : false,
        "timeTracking" : false,
        "fetchAcrossDepartment" : true,
        "globalReports" : false,
        "exportPortalUsers" : true,
        "layouts" : false,
        "automation" : false,
        "featureConfig" : false,
        "customerHappiness" : false,
        "department" : false,
        "portal" : false,
        "webForm" : false,
        "rebranding" : false,
        "email" : false,
        "recycleBin" : false,
        "tabsAndFields" : false,
        "exportUsers" : true,
        "teams" : false,
        "social" : false,
        "templates" : false,
        "sandbox" : false,
        "moveRecords" : true,
        "permission" : false,
        "signUpApproval" : false,
        "community" : false,
        "importHistory" : true,
        "manageAgents" : false,
        "portalUsers" : false,
        "managerDashboard" : true,
        "googleAnalytics" : false,
        "chat" : false,
        "telephony" : false,
        "manageMarketplace" : false
      },
      "financeInteg" : {
        "sendInvoice" : false,
        "createEstimate" : false,
        "createContact" : false,
        "viewInvoice" : false,
        "createInvoice" : false,
        "sendEstimate" : false,
        "viewEstimate" : false
      },
      "accounts" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "timeEntry" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true
      },
      "contacts" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "tasks" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      }
    },
    "name" : "Supervisor",
    "description" : "Set the privileges for supervisory users.",
    "id" : "5000000015297",
    "isVisible" : true,
    "type" : "Custom"
  }, {
    "default" : false,
    "permissions" : {
      "crmInteg" : {
        "crmContactsActivityEvents" : false,
        "crmAccountsActivityEvents" : false,
        "crmAccountsActivityTasks" : false,
        "crmAccountsInfo" : false,
        "crmContactsActivityCalls" : false,
        "crmAccountsNotes" : false,
        "crmAccountsActivityCalls" : false,
        "crmContactsInfo" : false,
        "crmContactsNotes" : false,
        "crmContactsActivityTasks" : false,
        "crmAccountsPotentials" : false,
        "crmContactsPotentials" : false
      },
      "reports" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "tickets" : {
        "mergeTickets" : true,
        "changeOwner" : true,
        "import" : true,
        "handleUnassigned" : true,
        "edit" : true,
        "closeTicket" : true,
        "revokeBlueprint" : false,
        "mailReview" : true,
        "delete" : true,
        "view" : true,
        "create" : true,
        "addFollowers" : true,
        "export" : true,
        "mailSend" : true,
        "unassignedChangeOwner" : false,
        "shareTickets" : false
      },
      "comments" : {
        "deleteOthers" : true,
        "edit" : true,
        "editOthers" : true,
        "delete" : true
      },
      "social" : {
        "view" : true,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : true,
        "customMobileApps" : true,
        "deskapp" : true
      },
      "contracts" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "community" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "moderate" : true
      },
      "products" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "agents" : {
        "overview" : true,
        "edit" : false,
        "create" : true,
        "delete" : true,
        "viewAllFields" : true
      },
      "kbCategory" : {
        "view" : true,
        "editAllArticles" : true,
        "import" : true,
        "manageKB" : true,
        "edit" : true,
        "create" : true,
        "admin" : true,
        "delete" : true,
        "export" : true
      },
      "setup" : {
        "localization" : false,
        "timeTracking" : false,
        "fetchAcrossDepartment" : true,
        "globalReports" : false,
        "exportPortalUsers" : true,
        "layouts" : false,
        "automation" : true,
        "featureConfig" : false,
        "customerHappiness" : false,
        "department" : false,
        "portal" : false,
        "webForm" : false,
        "rebranding" : false,
        "email" : false,
        "recycleBin" : false,
        "tabsAndFields" : false,
        "exportUsers" : true,
        "teams" : false,
        "social" : false,
        "templates" : false,
        "sandbox" : false,
        "moveRecords" : true,
        "permission" : false,
        "signUpApproval" : false,
        "community" : false,
        "importHistory" : true,
        "manageAgents" : false,
        "portalUsers" : false,
        "managerDashboard" : true,
        "googleAnalytics" : true,
        "chat" : false,
        "telephony" : false,
        "manageMarketplace" : false
      },
      "financeInteg" : {
        "sendInvoice" : false,
        "createEstimate" : false,
        "createContact" : false,
        "viewInvoice" : false,
        "createInvoice" : false,
        "sendEstimate" : false,
        "viewEstimate" : false
      },
      "accounts" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "timeEntry" : {
        "view" : true,
        "edit" : true,
        "create" : true,
        "delete" : true
      },
      "contacts" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      },
      "tasks" : {
        "view" : true,
        "import" : true,
        "edit" : true,
        "create" : true,
        "delete" : true,
        "export" : true
      }
    },
    "name" : "Support Manager",
    "description" : "Set the privileges for managerial users.",
    "id" : "5000000015300",
    "isVisible" : true,
    "type" : "Custom"
  } ]
}

Get profile count

This API fetches the number of profiles configured in your help desk.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
visible

boolean

optional

Key that filters profiles according to their visibility in the UI

default

boolean

optional

Key that denotes whether the profiles must be default profiles or custom profiles

GET /api/v1/profiles/count

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/profiles/count?visible=true
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "count" : 8
}

Get profile

This API fetches the details of a particular profile.

Credit: 1 credit/call

GET /api/v1/profiles/{profile_id}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/profiles/4000000008464
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "default" : true,
  "permissions" : {
    "crmInteg" : {
      "crmContactsActivityEvents" : false,
      "crmAccountsActivityEvents" : false,
      "crmAccountsActivityTasks" : false,
      "crmAccountsInfo" : false,
      "crmContactsActivityCalls" : false,
      "crmAccountsNotes" : false,
      "crmAccountsActivityCalls" : false,
      "crmContactsInfo" : false,
      "crmContactsNotes" : false,
      "crmContactsActivityTasks" : false,
      "crmAccountsPotentials" : false,
      "crmContactsPotentials" : false
    },
    "reports" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "tickets" : {
      "mergeTickets" : true,
      "changeOwner" : true,
      "import" : true,
      "handleUnassigned" : true,
      "edit" : true,
      "closeTicket" : true,
      "revokeBlueprint" : true,
      "mailReview" : true,
      "delete" : true,
      "view" : true,
      "create" : true,
      "addFollowers" : true,
      "export" : true,
      "mailSend" : true,
      "unassignedChangeOwner" : false,
      "shareTickets" : true
    },
    "comments" : {
      "deleteOthers" : true,
      "edit" : true,
      "editOthers" : true,
      "delete" : true
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : true,
      "customMobileApps" : true,
      "deskapp" : true
    },
    "contracts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "community" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "moderate" : true
    },
    "products" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "agents" : {
      "overview" : true,
      "edit" : false,
      "create" : true,
      "delete" : true,
      "viewAllFields" : true
    },
    "kbCategory" : {
      "view" : true,
      "editAllArticles" : true,
      "import" : true,
      "manageKB" : true,
      "edit" : true,
      "create" : true,
      "admin" : true,
      "delete" : true,
      "export" : true
    },
    "setup" : {
      "localization" : true,
      "timeTracking" : true,
      "fetchAcrossDepartment" : true,
      "globalReports" : true,
      "exportPortalUsers" : true,
      "layouts" : true,
      "automation" : true,
      "featureConfig" : true,
      "customerHappiness" : true,
      "department" : true,
      "portal" : true,
      "webForm" : true,
      "rebranding" : true,
      "email" : true,
      "recycleBin" : true,
      "tabsAndFields" : true,
      "exportUsers" : true,
      "teams" : true,
      "social" : true,
      "templates" : true,
      "sandbox" : true,
      "moveRecords" : true,
      "permission" : true,
      "signUpApproval" : true,
      "community" : true,
      "importHistory" : true,
      "manageAgents" : true,
      "portalUsers" : true,
      "managerDashboard" : true,
      "googleAnalytics" : true,
      "chat" : true,
      "telephony" : true,
      "manageMarketplace" : true
    },
    "financeInteg" : {
      "sendInvoice" : false,
      "createEstimate" : false,
      "createContact" : false,
      "viewInvoice" : false,
      "createInvoice" : false,
      "sendEstimate" : false,
      "viewEstimate" : false
    },
    "accounts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "timeEntry" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true
    },
    "contacts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "tasks" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    }
  },
  "name" : "Support Administrator",
  "description" : "Set the privileges for support administrators.",
  "id" : "4000000008464",
  "isVisible" : true,
  "type" : "Administrator"
}

Clone profile

This API replicates an existing profile.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

string

required,
max chars : 50

Name of the profile to be created

description

String

optional

Description of the profile to be created

POST /api/v1/profiles/{profile_id}/clone

OAuth Scope

Desk.settings.CREATE , Desk.basic.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/profiles/4000000008543/clone
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "name" : "Admin Advisors", "description" : "Advisors from management to assist the Support Administrators." }'

Response Example

{
  "default" : false,
  "permissions" : {
    "crmInteg" : {
      "crmContactsActivityEvents" : false,
      "crmAccountsActivityEvents" : false,
      "crmAccountsActivityTasks" : false,
      "crmAccountsInfo" : false,
      "crmContactsActivityCalls" : false,
      "crmAccountsNotes" : false,
      "crmAccountsActivityCalls" : false,
      "crmContactsInfo" : false,
      "crmContactsNotes" : false,
      "crmContactsActivityTasks" : false,
      "crmAccountsPotentials" : false,
      "crmContactsPotentials" : false
    },
    "reports" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "tickets" : {
      "mergeTickets" : true,
      "changeOwner" : true,
      "import" : true,
      "handleUnassigned" : true,
      "edit" : true,
      "closeTicket" : true,
      "revokeBlueprint" : false,
      "mailReview" : true,
      "delete" : true,
      "view" : true,
      "create" : true,
      "addFollowers" : true,
      "export" : true,
      "mailSend" : true,
      "unassignedChangeOwner" : false,
      "shareTickets" : false
    },
    "comments" : {
      "deleteOthers" : true,
      "edit" : true,
      "editOthers" : true,
      "delete" : true
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : true,
      "customMobileApps" : true,
      "deskapp" : true
    },
    "contracts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "community" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "moderate" : true
    },
    "products" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "agents" : {
      "overview" : true,
      "edit" : false,
      "create" : true,
      "delete" : true,
      "viewAllFields" : true
    },
    "kbCategory" : {
      "view" : true,
      "editAllArticles" : true,
      "import" : true,
      "manageKB" : true,
      "edit" : true,
      "create" : true,
      "admin" : true,
      "delete" : true,
      "export" : true
    },
    "setup" : {
      "localization" : false,
      "timeTracking" : false,
      "fetchAcrossDepartment" : true,
      "globalReports" : false,
      "exportPortalUsers" : true,
      "layouts" : false,
      "automation" : false,
      "featureConfig" : false,
      "customerHappiness" : false,
      "department" : false,
      "portal" : false,
      "webForm" : false,
      "rebranding" : false,
      "email" : false,
      "recycleBin" : false,
      "tabsAndFields" : false,
      "exportUsers" : true,
      "teams" : true,
      "social" : false,
      "templates" : false,
      "sandbox" : false,
      "moveRecords" : true,
      "permission" : false,
      "signUpApproval" : false,
      "community" : false,
      "importHistory" : true,
      "manageAgents" : false,
      "portalUsers" : false,
      "managerDashboard" : false,
      "googleAnalytics" : false,
      "chat" : false,
      "telephony" : false,
      "manageMarketplace" : false
    },
    "financeInteg" : {
      "sendInvoice" : false,
      "createEstimate" : false,
      "createContact" : false,
      "viewInvoice" : false,
      "createInvoice" : false,
      "sendEstimate" : false,
      "viewEstimate" : false
    },
    "accounts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "timeEntry" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true
    },
    "contacts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "tasks" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    }
  },
  "name" : "Admin Advisors",
  "description" : "Advisors from management to assist the Support Administrators.",
  "id" : "5000000046001",
  "isVisible" : true,
  "type" : "Custom"
}

Update profile

This API updates the details of an existing profile.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

string

optional,
max chars : 50

Name of the profile

description

string

optional,
max chars : 3200

Description of the profile

permissions

object

optional

Details of the permissions for the profile

PATCH /api/v1/profiles/{profile_id}

OAuth Scope

Desk.settings.UPDATE , Desk.basic.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/profiles/4000000018001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "permissions" : { "reports" : { "view" : true, "edit" : true, "create" : false, "delete" : false, "export" : false } }, "name" : "Agent Advisors", "description" : "Advisors from CRM to assist the Support Agents." }'

Response Example

{
  "default" : true,
  "permissions" : {
    "crmInteg" : {
      "crmContactsActivityEvents" : false,
      "crmAccountsActivityEvents" : false,
      "crmAccountsActivityTasks" : false,
      "crmAccountsInfo" : false,
      "crmContactsActivityCalls" : false,
      "crmAccountsNotes" : false,
      "crmAccountsActivityCalls" : false,
      "crmContactsInfo" : false,
      "crmContactsNotes" : false,
      "crmContactsActivityTasks" : false,
      "crmAccountsPotentials" : false,
      "crmContactsPotentials" : false
    },
    "reports" : {
      "view" : true,
      "edit" : true,
      "create" : false,
      "delete" : false,
      "export" : false
    },
    "tickets" : {
      "mergeTickets" : true,
      "changeOwner" : true,
      "import" : true,
      "handleUnassigned" : true,
      "edit" : true,
      "closeTicket" : true,
      "revokeBlueprint" : false,
      "mailReview" : true,
      "delete" : true,
      "view" : true,
      "create" : true,
      "addFollowers" : true,
      "export" : true,
      "mailSend" : true,
      "unassignedChangeOwner" : false,
      "shareTickets" : false
    },
    "comments" : {
      "deleteOthers" : true,
      "edit" : true,
      "editOthers" : true,
      "delete" : true
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : true,
      "customMobileApps" : true,
      "deskapp" : true
    },
    "contracts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "community" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "moderate" : false
    },
    "products" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "agents" : {
      "overview" : true,
      "import" : true,
      "edit" : false,
      "create" : false,
      "delete" : false,
      "viewAllFields" : true
    },
    "managerDashboard" : {
      "myView" : true,
      "allView" : true,
      "customize" : false
    },
    "kbCategory" : {
      "view" : true,
      "editAllArticles" : true,
      "import" : true,
      "manageKB" : true,
      "edit" : true,
      "create" : true,
      "admin" : true,
      "delete" : true,
      "export" : true
    },
    "setup" : {
      "localization" : false,
      "timeTracking" : false,
      "fetchAcrossDepartment" : true,
      "globalReports" : false,
      "exportPortalUsers" : true,
      "layouts" : false,
      "automation" : false,
      "featureConfig" : false,
      "customerHappiness" : false,
      "department" : false,
      "portal" : false,
      "webForm" : false,
      "rebranding" : false,
      "email" : false,
      "recycleBin" : false,
      "tabsAndFields" : false,
      "exportUsers" : true,
      "teams" : true,
      "social" : false,
      "templates" : false,
      "sandbox" : false,
      "moveRecords" : true,
      "permission" : false,
      "signUpApproval" : false,
      "community" : false,
      "importHistory" : true,
      "manageAgents" : false,
      "portalUsers" : false,
      "managerDashboard" : false,
      "googleAnalytics" : false,
      "chat" : false,
      "telephony" : false,
      "manageMarketplace" : false
    },
    "financeInteg" : {
      "sendInvoice" : false,
      "createEstimate" : false,
      "createContact" : false,
      "viewInvoice" : false,
      "createInvoice" : false,
      "sendEstimate" : false,
      "viewEstimate" : false
    },
    "accounts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "timeEntry" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true
    },
    "contacts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "tasks" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    }
  },
  "name" : "Agent Advisors",
  "description" : "Advisors from CRM to assist the Support Agents.",
  "id" : "4000000018001",
  "isVisible" : true,
  "type" : "Custom"
}

Delete profile

This API deletes a profile from your help desk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
transferToProfileId

long

required

The profile id to which the agents in the delete profile to be transferred to

POST /api/v1/profiles/{profile_id}/delete

OAuth Scope

Desk.settings.DELETE , Desk.basic.DELETE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/profiles/4000000018001/delete
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "transferToProfileId" : "4000000008454" }'

Response Example

204

Get my profile details

This API fetches the configuration details and permissions defined for the profile of the currently logged in user.

Credit: 1 credit/call

GET /api/v1/myProfile

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/myProfile
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "default" : true,
  "permissions" : {
    "crmInteg" : {
      "crmContactsActivityEvents" : false,
      "crmAccountsActivityEvents" : false,
      "crmAccountsActivityTasks" : false,
      "crmAccountsInfo" : false,
      "crmContactsActivityCalls" : false,
      "crmAccountsNotes" : false,
      "crmAccountsActivityCalls" : false,
      "crmContactsInfo" : false,
      "crmContactsNotes" : false,
      "crmContactsActivityTasks" : false,
      "crmAccountsPotentials" : false,
      "crmContactsPotentials" : false
    },
    "reports" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "tickets" : {
      "mergeTickets" : true,
      "changeOwner" : true,
      "import" : true,
      "handleUnassigned" : true,
      "edit" : true,
      "closeTicket" : true,
      "revokeBlueprint" : true,
      "mailReview" : true,
      "delete" : true,
      "view" : true,
      "create" : true,
      "addFollowers" : true,
      "export" : true,
      "mailSend" : true,
      "unassignedChangeOwner" : false,
      "shareTickets" : true
    },
    "comments" : {
      "deleteOthers" : true,
      "edit" : true,
      "editOthers" : true,
      "delete" : true
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : true,
      "customMobileApps" : true,
      "deskapp" : true
    },
    "contracts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "community" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "moderate" : true
    },
    "products" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "agents" : {
      "overview" : true,
      "edit" : false,
      "create" : true,
      "delete" : true,
      "viewAllFields" : true
    },
    "kbCategory" : {
      "view" : true,
      "editAllArticles" : true,
      "import" : true,
      "manageKB" : true,
      "edit" : true,
      "create" : true,
      "admin" : true,
      "delete" : true,
      "export" : true
    },
    "setup" : {
      "localization" : true,
      "timeTracking" : true,
      "fetchAcrossDepartment" : true,
      "globalReports" : true,
      "exportPortalUsers" : true,
      "layouts" : true,
      "automation" : true,
      "featureConfig" : true,
      "customerHappiness" : true,
      "department" : true,
      "portal" : true,
      "webForm" : true,
      "rebranding" : true,
      "email" : true,
      "recycleBin" : true,
      "tabsAndFields" : true,
      "exportUsers" : true,
      "teams" : true,
      "social" : true,
      "templates" : true,
      "sandbox" : true,
      "moveRecords" : true,
      "permission" : true,
      "signUpApproval" : true,
      "community" : true,
      "importHistory" : true,
      "manageAgents" : true,
      "portalUsers" : true,
      "managerDashboard" : true,
      "googleAnalytics" : true,
      "chat" : true,
      "telephony" : true,
      "manageMarketplace" : false
    },
    "financeInteg" : {
      "sendInvoice" : false,
      "createEstimate" : false,
      "createContact" : false,
      "viewInvoice" : false,
      "createInvoice" : false,
      "sendEstimate" : false,
      "viewEstimate" : false
    },
    "accounts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "timeEntry" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true
    },
    "contacts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "tasks" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    }
  },
  "name" : "Support Administrator",
  "description" : "Set the privileges for support administrators.",
  "id" : "35483000000008343",
  "isVisible" : true,
  "type" : "Administrator"
}

Get my profile permissions

This API fetches the permissions associated with the profile of the currently logged in user.

Credit: 1 credit/call

GET /api/v1/myProfilePermissions

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/myProfilePermissions
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "permissions" : {
    "crmInteg" : {
      "crmContactsActivityEvents" : false,
      "crmAccountsActivityEvents" : false,
      "crmAccountsActivityTasks" : false,
      "crmAccountsInfo" : false,
      "crmContactsActivityCalls" : false,
      "crmAccountsNotes" : false,
      "crmAccountsActivityCalls" : false,
      "crmContactsInfo" : false,
      "crmContactsNotes" : false,
      "crmContactsActivityTasks" : false,
      "crmAccountsPotentials" : false,
      "crmContactsPotentials" : false
    },
    "reports" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "tickets" : {
      "mergeTickets" : true,
      "changeOwner" : true,
      "import" : true,
      "handleUnassigned" : true,
      "edit" : true,
      "closeTicket" : true,
      "revokeBlueprint" : true,
      "mailReview" : true,
      "delete" : true,
      "view" : true,
      "create" : true,
      "addFollowers" : true,
      "export" : true,
      "mailSend" : true,
      "unassignedChangeOwner" : false,
      "shareTickets" : true
    },
    "comments" : {
      "deleteOthers" : true,
      "edit" : true,
      "editOthers" : true,
      "delete" : true
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : true,
      "customMobileApps" : true,
      "deskapp" : true
    },
    "contracts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "community" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "moderate" : true
    },
    "products" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "agents" : {
      "overview" : true,
      "edit" : false,
      "create" : true,
      "delete" : true,
      "viewAllFields" : true
    },
    "kbCategory" : {
      "view" : true,
      "editAllArticles" : true,
      "import" : true,
      "manageKB" : true,
      "edit" : true,
      "create" : true,
      "admin" : true,
      "delete" : true,
      "export" : true
    },
    "setup" : {
      "localization" : true,
      "timeTracking" : true,
      "fetchAcrossDepartment" : true,
      "globalReports" : true,
      "exportPortalUsers" : true,
      "layouts" : true,
      "automation" : true,
      "featureConfig" : true,
      "customerHappiness" : true,
      "department" : true,
      "portal" : true,
      "webForm" : true,
      "rebranding" : true,
      "email" : true,
      "recycleBin" : true,
      "tabsAndFields" : true,
      "exportUsers" : true,
      "teams" : true,
      "social" : true,
      "templates" : true,
      "sandbox" : true,
      "moveRecords" : true,
      "permission" : true,
      "signUpApproval" : true,
      "community" : true,
      "importHistory" : true,
      "manageAgents" : true,
      "portalUsers" : true,
      "managerDashboard" : true,
      "googleAnalytics" : true,
      "chat" : true,
      "telephony" : true,
      "manageMarketplace" : false
    },
    "financeInteg" : {
      "sendInvoice" : false,
      "createEstimate" : false,
      "createContact" : false,
      "viewInvoice" : false,
      "createInvoice" : false,
      "sendEstimate" : false,
      "viewEstimate" : false
    },
    "accounts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "timeEntry" : {
      "view" : true,
      "edit" : true,
      "create" : true,
      "delete" : true
    },
    "contacts" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    },
    "tasks" : {
      "view" : true,
      "import" : true,
      "edit" : true,
      "create" : true,
      "delete" : true,
      "export" : true
    }
  }
}

List agents by profile

This API lists agents mapped to a particular profile.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
active

boolean

optional

Activation status of the agents to list

confirmed

boolean

optional

Confirmation status of the agents to list

GET /api/v1/profiles/{profile_id}/agents

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/profiles/6000000011303/agents?active=true
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "agents" : [ {
    "firstName" : "",
    "lastName" : "John",
    "photoURL" : "https://contacts.zoho.com/file?t=user&ID=437793",
    "roleId" : "7000000012324",
    "profileId" : "6000000011303",
    "emailId" : "john@zylker.com",
    "id" : "7000000013328",
    "zuid" : "437793"
  }, {
    "firstName" : "Steve",
    "lastName" : "Kyle",
    "photoURL" : null,
    "roleId" : "7000000012324",
    "profileId" : "6000000011303",
    "emailId" : "kyle@zylker.com",
    "id" : "7000000012958",
    "zuid" : "5625416"
  } ]
}

Get light agent profile

This API fetches the different permissions configured for the light agent profile.

Credit: 1 credit/call

GET /api/v1/lightAgentProfile

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/lightAgentProfile
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "default" : true,
  "permissions" : {
    "crmInteg" : {
      "crmContactsActivityEvents" : false,
      "crmAccountsActivityEvents" : false,
      "crmAccountsActivityTasks" : false,
      "crmAccountsInfo" : false,
      "crmContactsActivityCalls" : false,
      "crmAccountsNotes" : false,
      "crmAccountsActivityCalls" : false,
      "crmContactsInfo" : false,
      "crmContactsNotes" : false,
      "crmContactsActivityTasks" : false,
      "crmAccountsPotentials" : false,
      "crmContactsPotentials" : false
    },
    "reports" : {
      "view" : true,
      "edit" : false,
      "create" : false,
      "delete" : false,
      "export" : true
    },
    "tickets" : {
      "mergeTickets" : false,
      "changeOwner" : false,
      "import" : false,
      "handleUnassigned" : false,
      "edit" : false,
      "closeTicket" : false,
      "revokeBlueprint" : false,
      "mailReview" : false,
      "delete" : false,
      "view" : true,
      "create" : false,
      "addFollowers" : false,
      "export" : true,
      "mailSend" : false,
      "unassignedChangeOwner" : false,
      "shareTickets" : false
    },
    "comments" : {
      "deleteOthers" : true,
      "edit" : false,
      "editOthers" : true,
      "delete" : false
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : true,
      "customMobileApps" : true,
      "deskapp" : true
    },
    "contracts" : {
      "view" : true,
      "import" : false,
      "edit" : false,
      "create" : false,
      "delete" : false,
      "export" : true
    },
    "community" : {
      "view" : false
    },
    "products" : {
      "view" : true,
      "import" : false,
      "edit" : false,
      "create" : false,
      "delete" : false,
      "export" : true
    },
    "agents" : {
      "overview" : true,
      "edit" : false,
      "create" : false,
      "delete" : false,
      "viewAllFields" : true
    },
    "kbCategory" : {
      "view" : true,
      "editAllArticles" : false,
      "import" : false,
      "manageKB" : false,
      "edit" : false,
      "create" : false,
      "admin" : false,
      "delete" : false,
      "export" : true
    },
    "setup" : {
      "localization" : false,
      "timeTracking" : false,
      "fetchAcrossDepartment" : true,
      "globalReports" : false,
      "exportPortalUsers" : false,
      "layouts" : false,
      "automation" : false,
      "featureConfig" : false,
      "customerHappiness" : false,
      "department" : false,
      "portal" : false,
      "webForm" : false,
      "rebranding" : false,
      "email" : false,
      "recycleBin" : false,
      "tabsAndFields" : false,
      "exportUsers" : false,
      "teams" : true,
      "social" : false,
      "templates" : false,
      "sandbox" : false,
      "moveRecords" : false,
      "permission" : false,
      "signUpApproval" : false,
      "community" : false,
      "importHistory" : false,
      "manageAgents" : false,
      "portalUsers" : false,
      "managerDashboard" : true,
      "googleAnalytics" : true,
      "chat" : false,
      "telephony" : false,
      "manageMarketplace" : false
    },
    "financeInteg" : {
      "sendInvoice" : false,
      "createEstimate" : false,
      "createContact" : false,
      "viewInvoice" : false,
      "createInvoice" : false,
      "sendEstimate" : false,
      "viewEstimate" : false
    },
    "accounts" : {
      "view" : true,
      "import" : false,
      "edit" : false,
      "create" : false,
      "delete" : false,
      "export" : true
    },
    "timeEntry" : {
      "view" : true,
      "edit" : false,
      "create" : false,
      "delete" : false
    },
    "contacts" : {
      "view" : true,
      "import" : false,
      "edit" : false,
      "create" : false,
      "delete" : false,
      "export" : true
    },
    "tasks" : {
      "view" : true,
      "import" : false,
      "edit" : false,
      "create" : false,
      "delete" : false,
      "export" : true
    }
  },
  "name" : "Light Agent",
  "description" : "Set the privilege for light agents",
  "id" : "15000000012421",
  "isVisible" : true,
  "type" : "Light"
}

Tickets

Tickets are organizing units using which service agents handle customer enquiries, requests, complaints, and other such interactions in Zoho Desk.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the ticket

subject

string

Subject of the ticket

departmentId
see documentation

long

ID of the department to which the ticket belongs

referred object

ID of the contact who raised the ticket. If a value is not available for this key, make sure to include the contact JSON object. If neither attribute is available, an error message regarding the unavailability of the contactId message is returned.

contact

Contact

Details of the contact who raised the ticket. This object is used for automatically creating a contact when a ticket is received. If the email ID of the contact already exists in your portal, the corresponding contactId is used for creating the ticket. Else, a contact is first created and the contactId of the new contact is mapped to the ticket. The user’s profile and field permissions are considered in the contact creation process. Either the lastName or the email attribute must be present in the object.

productId

referred object

ID of the product to which the ticket is mapped

list

File attachments in the ticket. For more information, refer to the Uploads section

email

string

Email ID in the ticket

phone

string

Phone number in the ticket

description

string

Description in the ticket

status

string

Status of the ticket. Includes the custom statuses configured in your help desk portal.

statusType

string

Type of ticket resolution status.The values supported are OPEN and ON HOLD and CLOSED.

assigneeId

long

ID of agent to whom the ticket is assigned

category

string

Category of the ticket

subCategory

string

Subcategory of the ticket

resolution

string

Resolution notes recorded in the ticket

dueDate

timestamp

Due date for resolving the ticket

priority

string

Priority of the ticket

language

string

Language preference to set for the ticket

channel

string

Channel through which the ticket originated.

channelCode

string

Code of the ticket's source channel

object

Details of the ticket source from channel

classification

string

Type of ticket. Values supported are Problem, Request, Question, and Others.

customFields

deprecated

JSONObject

Custom fields in the ticket

cf

JSONObject

Custom fields in the ticket

webUrl

string

URL to access the resource

createdTime

timestamp

Time of creating the ticket

modifiedTime

timestamp

Time of modifying the ticket

timeEntryCount

integer

Number of time entries recorded in the ticket

approvalCount

integer

Number of approvals associated with the ticket

commentCount

integer

Number of comments in the ticket

attachmentCount

integer

Number of attachments in the ticket

taskCount

integer

Number of tasks associated with the ticket

threadCount

integer

Number of threads associated in the ticket

isDeleted

boolean

Key that returns if the ticket is deleted or not

isTrashed

boolean

Field that denotes whether the ticket is in trash

product

Product

Product associated with the ticket. You obtain this information using the include:product query parameter to fetch this information.

closedTime

timestamp

Time of closing the ticket

ticketNumber

String

Index/Serial number of the ticket

customerResponseTime

timestamp

Time of receiving customer response

isRead

boolean

Key that denotes if the current user has read the ticket or not

sharedDepartments

list

List of departments to which the ticket is shared and the access privileges corresponding to each department

object

Agent assigned to resolve the ticket. Use the include:assignee query param to fetch this information.

teamId

long

ID of the team assigned to resolve the ticket

isFollowing

boolean

Key that returns if the current user follows the ticket or not

department

object

Details of the department to which the ticket belongs

object

Details of the team assigned to resolve the ticket

channelRelatedInfo

object

Secondary information related to the channel of the ticket. Currently, this key is supported only for theĀ Forums channel. Therefore, the API response will not return this information for tickets received through other channels.

secondaryContacts
see documentation

list

Secondary contacts, such as CC'ed users, associated with the ticket

entitySkills
see documentation

list

Comma-separated array of skill IDs to be mapped with a ticket. The order of IDs (with the first ID given the highest priority) will determine how assignments are calculated.

Example

{
  "entitySkills" : [ "18921000000379001", "18921000000364001", "18921000000379055", "18921000000379031" ],
  "modifiedTime" : "2016-06-21T13:16:14.000Z",
  "ticketNumber" : "101",
  "subCategory" : "Sub General",
  "statusType" : "Open",
  "subject" : "Hi. There is a sudden delay in the processing of the orders. Check this with high priority",
  "dueDate" : "2016-06-21T16:16:16.000Z",
  "departmentId" : "1892000000006907",
  "channel" : "Email",
  "onholdTime" : null,
  "description" : "Hi. There is a sudden delay in the processing of the orders. Check this with high priority",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "uuid" : null,
    "appPhotoURL" : null
  },
  "resolution" : null,
  "sharedDepartments" : [ {
    "name" : "Sample Department Name",
    "id" : "1892000000006909",
    "type" : "READ_WRITE"
  }, {
    "name" : "Sample Department Name",
    "id" : "1892000000006911",
    "type" : "READ_ONLY"
  } ],
  "closedTime" : null,
  "approvalCount" : "1",
  "timeEntryCount" : "3",
  "isOverDue" : false,
  "isTrashed" : false,
  "contact" : {
    "lastName" : "Carol",
    "firstName" : "Lucas",
    "phone" : "1 888 900 9646",
    "mobile" : "8838109870",
    "id" : "1892000000042032",
    "isSpam" : false,
    "type" : "paid",
    "email" : "carol@zylker.com",
    "account" : {
      "website" : "www.desk.com",
      "accountName" : "desk Account",
      "id" : "1892000000975382"
    }
  },
  "createdTime" : "2013-11-04T11:21:07.000Z",
  "id" : "1892000000042034",
  "department" : {
    "name" : "dasdasdasd",
    "id" : "1892000000006907"
  },
  "email" : "carol@zylker.com",
  "channelCode" : null,
  "customerResponseTime" : "2013-11-04T11:21:07.912Z",
  "product" : null,
  "cf" : {
    "cf_permanentaddress" : null,
    "cf_dateofpurchase" : null,
    "cf_phone" : null,
    "cf_numberofitems" : null,
    "cf_url" : null,
    "cf_secondaryemail" : null,
    "cf_severitypercentage" : "0.0",
    "cf_modelname" : "F3 2017"
  },
  "productId" : null,
  "contactId" : "1892000000042032",
  "threadCount" : "121",
  "secondaryContacts" : [ "1892000000042038", "1892000000042042", "1892000000042056" ],
  "team" : {
    "name" : "kjsdfjks",
    "id" : "8920000000069071",
    "logoUrl" : "https://desk.zoho.com/api/v1/teams/8920000000069071/logo?orgId=11278831"
  },
  "priority" : "High",
  "classification" : null,
  "assigneeId" : "1892000000056007",
  "commentCount" : "1",
  "taskCount" : "1",
  "phone" : "1 888 900 9646",
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
  "teamId" : "8920000000069071",
  "attachmentCount" : "1",
  "isEscalated" : false,
  "assignee" : {
    "firstName" : "dasca",
    "lastName" : "vins",
    "photoURL" : "https://desk.zoho.com/api/v1/agent/1892000000056007/photo",
    "id" : "1892000000056007",
    "email" : "jack@zylker.com"
  },
  "isSpam" : false,
  "category" : "general",
  "status" : "Open"
}


Get a ticket

This API fetches a single ticket from your helpdesk.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

string

optional,
max chars : 100

Key that fetches secondary information related to the ticket. Values allowed are: contacts, products, assignee, departments, contract, isRead, team, and skills . Multiple values can be passed, with commas for separation.

GET /api/v1/tickets/{ticket_id}

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/1892000000143237?include=contacts,products,assignee,departments,team
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2016-06-21T13:16:14.000Z",
  "subCategory" : "Sub General",
  "statusType" : "Open",
  "subject" : "Hi. There is a sudden delay in the processing of the orders. Check this with high priority",
  "dueDate" : "2016-06-21T16:16:16.000Z",
  "departmentId" : "1892000000006907",
  "channel" : "FORUMS",
  "onholdTime" : null,
  "language" : "English",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "uuid" : null,
    "appPhotoURL" : null
  },
  "resolution" : null,
  "sharedDepartments" : [ {
    "name" : "Sample Department Name",
    "id" : "1892000000006909",
    "type" : "READ_WRITE"
  }, {
    "name" : "Sample Department Name",
    "id" : "1892000000006911",
    "type" : "READ_ONLY"
  } ],
  "closedTime" : null,
  "sharedCount" : "3",
  "approvalCount" : "1",
  "isOverDue" : false,
  "isTrashed" : false,
  "contact" : {
    "lastName" : "Carol",
    "firstName" : "Lucas",
    "phone" : "1 888 900 9646",
    "mobile" : "8838486174",
    "id" : "1892000000042032",
    "isSpam" : false,
    "type" : null,
    "email" : "carol@zylker.com",
    "account" : {
      "website" : "www.desk.com",
      "accountName" : "desk Account",
      "id" : "1892000000975382"
    }
  },
  "createdTime" : "2013-11-04T11:21:07.000Z",
  "id" : "1892000000042034",
  "customerResponseTime" : "2013-11-04T11:21:07.912Z",
  "productId" : null,
  "contactId" : "1892000000042032",
  "threadCount" : "121",
  "secondaryContacts" : [ "1892000000042038", "1892000000042042", "1892000000042056" ],
  "priority" : "High",
  "classification" : null,
  "commentCount" : "1",
  "taskCount" : "1",
  "phone" : "1 888 900 9646",
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
  "isSpam" : false,
  "assignee" : {
    "firstName" : "dasca",
    "lastName" : "vins",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000056007/photo?orgId=298902",
    "id" : "1892000000056007",
    "email" : "jack@zylker.com"
  },
  "status" : "Open",
  "entitySkills" : [ "18921000000379001", "18921000000364001", "18921000000379055", "18921000000379031" ],
  "ticketNumber" : "101",
  "isRead" : false,
  "description" : "Hi. There is a sudden delay in the processing of the orders. Check this with high priority",
  "timeEntryCount" : "3",
  "channelRelatedInfo" : {
    "topicId" : "1892000000056253",
    "isTopicDeleted" : false,
    "forumStatus" : "ANALYSING",
    "sourceLink" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Community/singlepost/problem-topic-forum-ticket-18-5-2018",
    "topicType" : "PROBLEM"
  },
  "isDeleted" : "false",
  "department" : {
    "name" : "dasdasdasd",
    "id" : "1892000000006907"
  },
  "followerCount" : "5",
  "email" : "carol@zylker.com",
  "layoutDetails" : {
    "id" : "5000000013466",
    "layoutName" : "Default Ticket Layout"
  },
  "channelCode" : null,
  "product" : null,
  "cf" : {
    "cf_permanentaddress" : null,
    "cf_dateofpurchase" : null,
    "cf_phone" : null,
    "cf_numberofitems" : null,
    "cf_url" : null,
    "cf_secondaryemail" : null,
    "cf_severitypercentage" : "0.0",
    "cf_modelname" : "F3 2017"
  },
  "isFollowing" : "true",
  "team" : {
    "name" : "kjsdfjks",
    "id" : "8920000000069071",
    "logoUrl" : "https://desk.zoho.com/api/v1/teams/8920000000069071/logo?orgId=11278831"
  },
  "assigneeId" : "1892000000056007",
  "teamId" : "8920000000069071",
  "contractId" : null,
  "tagCount" : "2",
  "attachmentCount" : "1",
  "isEscalated" : false,
  "category" : "general"
}

List all tickets

This API lists a particular number of tickets, based on the limit specified.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional

Index number, starting from which the tickets must be fetched

limit

integer

optional,
range : 1-100

Number of tickets to fetch

departmentIds
see documentation

long

optional

Departments from which the tickets need to be queried. Note : For Predefined Views and All Department Views: You must specify the departmentId for which the tickets need to be fetched. Otherwise, it will fetch all tickets accessible across departments. For Single Department Custom View: You must specify the departmentId of the department for which the Custom View was created. The tickets will be fetched from that department.

string

optional,
max chars : 100

Key that filters tickets by Teams. Values allowed are Unassigned or a valid teamId. Multiple teamIds can be passed as comma-separated values.

long

optional

ID of the view to apply while fetching the resources

assignee

string

optional,
max chars : 100

assignee - Key that filters tickets by assignee. Values allowed are Unassigned or a valid assigneeId. Multiple assigneeIds can be passed as comma-separated values.

channel

string

optional,
max chars : 100

Filter by channel through which the tickets originated. You can include multiple values by separating them with a comma

status

string

optional,
max chars : 100

Filter by resolution status of the ticket. You can include multiple values by separating them with a comma

sortBy

string

optional,
max chars : 100

Sort by a specific attribute: responseDueDate or customerResponseTime or createdTime. The default sorting order is ascending. A - prefix denotes descending order of sorting.

receivedInDays

integer

optional

Fetches recent tickets, based on customer response time. Values allowed are 15, 30 , 90.

string

optional,
max chars : 100

Additional information related to the tickets. Values allowed are:Ā contacts,Ā products, departments,Ā team,Ā isRead and assignee. You can pass multiple values by separating them with commas in the API request.

fields

string

optional,
max chars : 100

Key that returns the values of mentioned fields (both pre-defined and custom) in your portal. All field types except multi-text are supported. Standard, non-editable fields are supported too. These fields include: statusType, webUrl, layoutId. Maximum of 30 fields is supported as comma separated values.

priority

string

optional,
max chars : 100

Key that filters tickets by priority. Multiple priority levels can be passed as comma-separated values.

GET /api/v1/tickets

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets?include=contacts,assignee,departments,team,isRead
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "ticketNumber" : "101",
    "subCategory" : null,
    "subject" : "Real Time analysis Requirement",
    "dueDate" : "2016-06-21T16:16:16.000Z",
    "departmentId" : "1892000000006907",
    "channel" : "Email",
    "isRead" : false,
    "onholdTime" : null,
    "language" : "English",
    "source" : {
      "appName" : null,
      "extId" : null,
      "type" : "SYSTEM",
      "permalink" : null,
      "appPhotoURL" : null
    },
    "closedTime" : null,
    "sharedCount" : "0",
    "responseDueDate" : "2017-09-05T11:21:07.000Z",
    "contact" : {
      "firstName" : "Lucas",
      "lastName" : "Carol",
      "phone" : "1 888 900 9646",
      "mobile" : "9876543210",
      "id" : "1892000000042032",
      "type" : null,
      "email" : "carol@zylker.com",
      "account" : {
        "website" : null,
        "accountName" : "desk Account",
        "id" : "1892000000975382"
      }
    },
    "createdTime" : "2013-11-04T11:21:07.000Z",
    "id" : "1892000000042034",
    "department" : {
      "name" : "dasdasdasd",
      "id" : "1892000000006907"
    },
    "email" : "carol@zylker.com",
    "channelCode" : null,
    "customerResponseTime" : "2013-11-04T11:21:07.912Z",
    "productId" : null,
    "contactId" : "1892000000042032",
    "threadCount" : "121",
    "team" : {
      "name" : "kjsdfjks",
      "id" : "8920000000069071",
      "logoUrl" : "https://desk.zoho.com/api/v1/teams/8920000000069071/logo?orgId=11278831"
    },
    "priority" : "High",
    "assigneeId" : "1892000000056007",
    "commentCount" : "1",
    "accountId" : "189200000005345",
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "teamId" : "8920000000069071",
    "assignee" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000056007/photo?orgId=298902",
      "id" : "1892000000056007",
      "email" : "jack@zylker.com"
    },
    "isSpam" : false,
    "category" : null,
    "status" : "Open"
  }, {
    "ticketNumber" : "176",
    "subCategory" : null,
    "statusType" : "Closed",
    "subject" : "Hi. There is a sudden delay in the processing of the orders. Check this with high priority",
    "dueDate" : "2016-06-01T14:04:07.000Z",
    "departmentId" : "1892000000006907",
    "channel" : "Forums",
    "isRead" : false,
    "onholdTime" : null,
    "source" : {
      "appName" : null,
      "extId" : null,
      "type" : "SYSTEM",
      "permalink" : null,
      "appPhotoURL" : null
    },
    "closedTime" : null,
    "sharedCount" : "0",
    "responseDueDate" : null,
    "contact" : {
      "firstName" : "Jonathan",
      "lastName" : "Casie",
      "phone" : null,
      "mobile" : "9876543211",
      "id" : "1892000000045028",
      "type" : null,
      "email" : "casie@zylker.com",
      "account" : {
        "website" : "www.zylker.com",
        "accountName" : "Zylker sAccount",
        "id" : "1892000000980421"
      }
    },
    "createdTime" : "2014-03-06T09:49:50.000Z",
    "id" : "1892000000094004",
    "department" : {
      "name" : "dasdasdasd",
      "id" : "1892000000006907"
    },
    "email" : "casie@zylker.com",
    "channelCode" : null,
    "customerResponseTime" : "2014-03-22T05:05:08.471Z",
    "productId" : null,
    "contactId" : "1892000000045028",
    "threadCount" : "72",
    "team" : {
      "name" : "kjsdfjks",
      "id" : "8920000000069071",
      "logoUrl" : "https://desk.zoho.com/api/v1/teams/8920000000069071/logo?orgId=11278831"
    },
    "priority" : "High",
    "assigneeId" : "1892000000056007",
    "commentCount" : "0",
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b02214oc203b38",
    "teamId" : "8920000000069071",
    "isSpam" : false,
    "assignee" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000056007/photo?orgId=298902",
      "id" : "1892000000056007",
      "email" : "jack@zylker.com"
    },
    "category" : null,
    "status" : "Closed"
  }, {
    "ticketNumber" : "191",
    "subCategory" : null,
    "statusType" : "On Hold",
    "subject" : "Real Time analysis Requirement",
    "dueDate" : null,
    "departmentId" : "1892000000006907",
    "channel" : "Chat",
    "isRead" : true,
    "onholdTime" : "2014-03-28T12:09:10.736Z",
    "source" : {
      "appName" : null,
      "extId" : null,
      "type" : "SYSTEM",
      "permalink" : null,
      "appPhotoURL" : null
    },
    "closedTime" : null,
    "sharedCount" : "0",
    "responseDueDate" : "2017-10-05T11:21:07.000Z",
    "contact" : {
      "firstName" : "Jonathan",
      "lastName" : "Casie",
      "phone" : null,
      "mobile" : null,
      "id" : "1892000000045028",
      "type" : null,
      "email" : "casie@zylker.com",
      "account" : {
        "website" : "www.zylker.com",
        "accountName" : "Zylker Account",
        "id" : "1892000000980421"
      }
    },
    "createdTime" : "2014-03-21T09:16:03.000Z",
    "id" : "1892000000137057",
    "department" : {
      "name" : "dasdasdasd",
      "id" : "1892000000006907"
    },
    "email" : "casie@zylker.com",
    "channelCode" : null,
    "customerResponseTime" : "2014-03-21T10:54:21.802Z",
    "productId" : null,
    "contactId" : "1892000000045028",
    "threadCount" : "19",
    "team" : {
      "name" : "kjsdfjks",
      "id" : "8920000000069071",
      "logoUrl" : "https://desk.zoho.com/api/v1/teams/8920000000069071/logo?orgId=11278831"
    },
    "priority" : "High",
    "assigneeId" : "1892000000042001",
    "commentCount" : "0",
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d11bcdfb061247d9edbacb9d93ba74750b0284bc703b38",
    "teamId" : "8920000000069071",
    "isSpam" : false,
    "assignee" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=298902",
      "id" : "1892000000042001",
      "email" : "jack@zylker.com"
    },
    "category" : null,
    "status" : "Custom On Hold"
  } ]
}

Get Archived Ticket List

This API gets the archived tickets list in given department.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional,
range : 0-4999

Index number, starting from which the tickets must be fetched

limit

integer

optional,
range : 1-100

Number of tickets to fetch

departmentId
see documentation

long

required

ID of the department from which the tickets must be fetched

viewType

int

optional

View Type - Supported Values 1 for Compact view , 2 for Classic view ,4 for Table View. If view type is not specified, Classic View will be the default view

string

optional,
max chars : 100

Key that returns additional information related to a ticket. Values allowed are: contacts, products,departments,team,isRead and assignee. All six values can be passed by separating them with a comma in the API request.

GET /api/v1/tickets/archivedTickets

OAuth Scope

Desk.search.READ , Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/archivedTickets?from=1&limit=50&departmentId=5853000000006907&viewType=1
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "ticketNumber" : "836",
    "sentiment" : null,
    "subCategory" : null,
    "statusType" : "Closed",
    "subject" : "Subject updated by bulk update",
    "isArchived" : true,
    "dueDate" : "2017-02-16T05:04:01.000Z",
    "departmentId" : "5853000000006907",
    "channel" : "Email",
    "onholdTime" : null,
    "source" : {
      "appName" : null,
      "extId" : null,
      "permalink" : null,
      "type" : "SYSTEM",
      "appPhotoURL" : null
    },
    "closedTime" : "2017-02-20T10:21:02.000Z",
    "responseDueDate" : null,
    "createdTime" : "2017-02-15T08:23:11.000Z",
    "id" : "5853000001102037",
    "email" : "carol@zylker.com",
    "channelCode" : null,
    "customerResponseTime" : "2017-02-15T08:23:11.000Z",
    "productId" : null,
    "contactId" : "5853000000273060",
    "threadCount" : "6",
    "lastThread" : {
      "channel" : "EMAIL",
      "isDraft" : true,
      "isForward" : false,
      "direction" : "out"
    },
    "priority" : null,
    "layoutId" : "5853000001987014",
    "assigneeId" : "5853000000281047",
    "commentCount" : "1",
    "accountId" : "189200000005345",
    "phone" : "123421412125",
    "webUrl" : "https://desk.zoho.com/support/arunasales/ShowHomePage.do#Cases/dv/5853000001102037",
    "teamId" : null,
    "isSpam" : false,
    "category" : null,
    "status" : "Closed"
  } ]
}

List all associated tickets

This API lists a particular number of tickets that are associated to you from your help desk, based on the limit specified.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional

Index number, starting from which the tickets must be listed

limit

integer

optional,
range : 1-100

Number of tickets to fetch

departmentId
see documentation

long

optional

ID of the department from which the tickets must be fetched

assignee

string

optional,
max chars : 100

assignee - Key that filters tickets by assignee. Values allowed areĀ Unassigned or a validĀ assigneeId. MultipleĀ assigneeIds can be passed as comma-separated values.

status

string

optional,
max chars : 100

Filter by resolution status of the ticket. You can include multiple values by separating them with a comma

follower

string

optional,
max chars : 100

Filter by followers of the ticket. Values allowed : a validĀ agentId.

commenter

string

optional,
max chars : 100

Filter by commenters of the ticket. Values allowed : a validĀ agentId. As of now, either follower or commenter is supported. If both params are given, commenter will be ignored.

sharedDepartmentId

long

optional

Fetches only the tickets shared fromĀ departmentId to sharedDepartmentId. If departmentId is not provided, fetches all the tickets shared toĀ sharedDepartmentId. sharedDepartmentId is given precedence only when isShared is false/not given.

isShared

boolean

optional

Filter all shared tickets actually belonging to departmentId if isShared is true. If departmentId is not provided and if isShared is true, shared tickets from all permitted departments will be listed. If departmentId is provided and isShared is true, tickets belonging to departmentId, but shared to any other department will be fetched. If departmentId and sharedDepartmentId is provided and isShared is true, then tickets belonging to departmentId, but shared to sharedDepartmentId will be fetched(Here permission checks are done on departmentId). If departmentId and sharedDepartmentId is provided and isShared is false/not given, then tickets shared to sharedDepartmentId, but belonging to departmentId will be fetched(Here permission checks are done on sharedDepartmentId).

receivedInDays

integer

optional

Fetches recent tickets, based on customer response time. Values allowed are 15, 30 , 90.

string

optional,
max chars : 100

Key that returns additional information related to a ticket. Values allowed are:Ā contacts,Ā products, andĀ assignee. All three values can be passed by separating them with a comma in the API request.

GET /api/v1/associatedTickets

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/associatedTickets?include=contacts
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "ticketNumber" : "101",
    "subCategory" : null,
    "subject" : "Real Time analysis Requirement",
    "dueDate" : "2016-06-21T16:16:16.000Z",
    "departmentId" : "1892000000006907",
    "channel" : "Email",
    "onholdTime" : null,
    "source" : {
      "appName" : null,
      "extId" : null,
      "type" : "SYSTEM",
      "permalink" : null,
      "appPhotoURL" : null
    },
    "closedTime" : null,
    "sharedCount" : "0",
    "responseDueDate" : "2017-09-05T11:21:07.000Z",
    "contact" : {
      "firstName" : "Lucas",
      "lastName" : "Carol",
      "phone" : "1 888 900 9646",
      "mobile" : "9876543212",
      "id" : "1892000000042032",
      "type" : null,
      "email" : "carol@zylker.com",
      "account" : {
        "website" : null,
        "accountName" : "desk Account",
        "id" : "1892000000975382"
      }
    },
    "createdTime" : "2013-11-04T11:21:07.000Z",
    "id" : "1892000000042034",
    "email" : "carol@zylker.com",
    "channelCode" : null,
    "customerResponseTime" : "2013-11-04T11:21:07.912Z",
    "productId" : null,
    "contactId" : "1892000000042032",
    "threadCount" : "121",
    "priority" : "High",
    "assigneeId" : "1892000000056007",
    "commentCount" : "1",
    "accountId" : "189200000005345",
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "isSpam" : false,
    "assignee" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000056007/photo?orgId=298902",
      "id" : "1892000000056007",
      "email" : "jack@zylker.com"
    },
    "category" : null,
    "status" : "Open"
  }, {
    "ticketNumber" : "176",
    "subCategory" : null,
    "statusType" : "Closed",
    "subject" : "Hi. There is a sudden delay in the processing of the orders. Check this with high priority",
    "dueDate" : "2016-06-01T14:04:07.000Z",
    "departmentId" : "1892000000006907",
    "channel" : "Forums",
    "onholdTime" : null,
    "source" : {
      "appName" : null,
      "extId" : null,
      "type" : "SYSTEM",
      "permalink" : null,
      "appPhotoURL" : null
    },
    "closedTime" : null,
    "sharedCount" : "0",
    "responseDueDate" : null,
    "contact" : {
      "firstName" : "Jonathan",
      "lastName" : "Casie",
      "phone" : null,
      "mobile" : null,
      "id" : "1892000000045028",
      "type" : null,
      "email" : "casie@zylker.com",
      "account" : {
        "website" : "www.zylker.com",
        "accountName" : "Zylker sAccount",
        "id" : "1892000000980421"
      }
    },
    "createdTime" : "2014-03-06T09:49:50.000Z",
    "id" : "1892000000094004",
    "email" : "casie@zylker.com",
    "channelCode" : null,
    "customerResponseTime" : "2014-03-22T05:05:08.471Z",
    "productId" : null,
    "contactId" : "1892000000045028",
    "threadCount" : "72",
    "priority" : "High",
    "assigneeId" : "1892000000056007",
    "commentCount" : "0",
    "accountId" : "189200000005345",
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b02214oc203b38",
    "isSpam" : false,
    "assignee" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000056007/photo?orgId=298902",
      "id" : "1892000000056007",
      "email" : "jack@zylker.com"
    },
    "category" : null,
    "status" : "Closed"
  }, {
    "ticketNumber" : "191",
    "subCategory" : null,
    "statusType" : "Open",
    "subject" : "Real Time analysis Requirement",
    "dueDate" : null,
    "departmentId" : "1892000000006907",
    "channel" : "Chat",
    "onholdTime" : "2014-03-28T12:09:10.736Z",
    "source" : {
      "appName" : null,
      "extId" : null,
      "type" : "SYSTEM",
      "permalink" : null,
      "appPhotoURL" : null
    },
    "closedTime" : null,
    "sharedCount" : "0",
    "responseDueDate" : "2017-10-05T11:21:07.000Z",
    "contact" : {
      "firstName" : "Jonathan",
      "lastName" : "Casie",
      "phone" : null,
      "mobile" : "9876543212",
      "id" : "1892000000045028",
      "type" : null,
      "email" : "casie@zylker.com",
      "account" : {
        "website" : "www.zylker.com",
        "accountName" : "Zylker Account",
        "id" : "1892000000980421"
      }
    },
    "createdTime" : "2014-03-21T09:16:03.000Z",
    "id" : "1892000000137057",
    "email" : "casie@zylker.com",
    "channelCode" : null,
    "customerResponseTime" : "2014-03-21T10:54:21.802Z",
    "productId" : null,
    "contactId" : "1892000000045028",
    "threadCount" : "19",
    "priority" : "High",
    "assigneeId" : "1892000000042001",
    "commentCount" : "0",
    "accountId" : "189200000005345",
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d11bcdfb061247d9edbacb9d93ba74750b0284bc703b38",
    "isSpam" : false,
    "assignee" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=298902",
      "id" : "1892000000042001",
      "email" : "jack@zylker.com"
    },
    "category" : null,
    "status" : "Open"
  } ]
}

Create a ticket

This API creates a ticket in your helpdesk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
subject

string

required,
max chars : 255

Subject of the ticket

departmentId
see documentation

long

required,
range : >0

ID of the department to which the ticket belongs

referred object

optional

ID of the contact who raised the ticket. If a value is not available for this key, make sure to include the contact JSON object. If neither attribute is available, an error message regarding the unavailability of the contactId message is returned.

contact

Contact

optional

Details of the contact who raised the ticket. This object is used for automatically creating a contact when a ticket is received. If the email ID of the contact already exists in your portal, the corresponding contactId is used for creating the ticket. Else, a contact is first created and the contactId of the new contact is mapped to the ticket. The user’s profile and field permissions are considered in the contact creation process. Either the lastName or the email attribute must be present in the object.

productId

referred object

optional

ID of the product to which the ticket is mapped

list

optional

File attachments in the ticket. For more information, refer to the Uploads section

email

string

optional,
max chars : 150

Email ID in the ticket

phone

string

optional,
max chars : 120

Phone number in the ticket

description

string

optional,
max chars : 65535

Description in the ticket

status

string

optional,
max chars : 120

Status of the ticket. Includes the custom statuses configured in your help desk portal.

assigneeId

long

optional

ID of agent to whom the ticket is assigned

category

string

optional,
max chars : 300

Category of the ticket

subCategory

string

optional,
max chars : 300

Subcategory of the ticket

resolution

string

optional,
max chars : 65535

Resolution notes recorded in the ticket

dueDate

timestamp

optional

Due date for resolving the ticket

priority

string

optional,
max chars : 120

Priority of the ticket

language

string

optional,
max chars : 255

Language preference to set for the ticket

channel

string

optional,
max chars : 120

Channel through which the ticket originated.

classification

string

optional,
max chars : 120

Type of ticket. Values supported are Problem, Request, Question, and Others.

customFields
deprecated

JSONObject

optional

Custom fields in the ticket

cf

JSONObject

optional

Custom fields in the ticket

webUrl

string

optional,
max chars : 5000

URL to access the resource

sharedDepartments

list

optional

List of departments to which the ticket is shared and the access privileges corresponding to each department

teamId

long

optional

ID of the team assigned to resolve the ticket

secondaryContacts
see documentation

list

optional

Secondary contacts, such as CC'ed users, associated with the ticket

entitySkills
see documentation

list

optional

Comma-separated array of skill IDs to be mapped with a ticket. The order of IDs (with the first ID given the highest priority) will determine how assignments are calculated.

POST /api/v1/tickets

OAuth Scope

Desk.tickets.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "entitySkills" : [ "18921000000379001", "18921000000364001", "18921000000379055", "18921000000379031" ], "subCategory" : "Sub General", "cf" : { "cf_permanentaddress" : null, "cf_dateofpurchase" : null, "cf_phone" : null, "cf_numberofitems" : null, "cf_url" : null, "cf_secondaryemail" : null, "cf_severitypercentage" : "0.0", "cf_modelname" : "F3 2017" }, "productId" : "", "contactId" : "1892000000042032", "subject" : "Real Time analysis Requirement", "dueDate" : "2016-06-21T16:16:16.000Z", "departmentId" : "1892000000006907", "channel" : "Email", "description" : "Hai This is Description", "language" : "English", "priority" : "High", "classification" : "", "assigneeId" : "1892000000056007", "phone" : "1 888 900 9646", "category" : "general", "email" : "carol@zylker.com", "status" : "Open" }'

Response Example

{
  "entitySkills" : [ "18921000000379001", "18921000000364001", "18921000000379055", "18921000000379031" ],
  "modifiedTime" : "2016-06-21T12:50:04.000Z",
  "ticketNumber" : "773",
  "subCategory" : "Sub General",
  "statusType" : "Open",
  "subject" : "Real Time analysis Requirement",
  "dueDate" : "2016-06-21T18:50:04.573Z",
  "departmentId" : "1892000000006907",
  "channel" : "Email",
  "onholdTime" : null,
  "description" : "Hai This is description",
  "language" : "English",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "uuid" : null,
    "appPhotoURL" : null
  },
  "resolution" : null,
  "sharedDepartments" : [ ],
  "closedTime" : null,
  "sharedCount" : "0",
  "approvalCount" : "0",
  "timeEntryCount" : "0",
  "isOverDue" : false,
  "channelRelatedInfo" : null,
  "isDeleted" : "false",
  "isTrashed" : false,
  "createdTime" : "2016-06-21T12:50:04.000Z",
  "id" : "1892000001054003",
  "email" : "carol@zylker.com",
  "layoutDetails" : {
    "id" : "5000000013466",
    "layoutName" : "Default Ticket Layout"
  },
  "channelCode" : null,
  "customerResponseTime" : "2013-11-04T11:21:07.912Z",
  "cf" : {
    "cf_permanentaddress" : null,
    "cf_dateofpurchase" : null,
    "cf_phone" : null,
    "cf_numberofitems" : null,
    "cf_url" : null,
    "cf_secondaryemail" : null,
    "cf_severitypercentage" : "0.0",
    "cf_modelname" : "F3 2017"
  },
  "productId" : null,
  "contactId" : "1892000000042032",
  "threadCount" : "1",
  "priority" : "High",
  "classification" : null,
  "assigneeId" : "1892000000056007",
  "commentCount" : "0",
  "taskCount" : "0",
  "phone" : "1 888 900 9646",
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
  "attachmentCount" : "0",
  "isEscalated" : false,
  "isSpam" : false,
  "category" : "general",
  "status" : "Open"
}

Update a ticket

This API updates an existing ticket.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
disableClosureNotification

boolean

optional

Key that enables or disables sending notifications to the corresponding contact when a ticket is closed

Attributes

Param Name
Data Type
Description
subject

string

optional,
max chars : 255

Subject of the ticket

departmentId
see documentation

long

optional,
range : >0

ID of the department to which the ticket belongs

referred object

optional

ID of the contact who raised the ticket. If a value is not available for this key, make sure to include the contact JSON object. If neither attribute is available, an error message regarding the unavailability of the contactId message is returned.

contact

Contact

optional

Details of the contact who raised the ticket. This object is used for automatically creating a contact when a ticket is received. If the email ID of the contact already exists in your portal, the corresponding contactId is used for creating the ticket. Else, a contact is first created and the contactId of the new contact is mapped to the ticket. The user’s profile and field permissions are considered in the contact creation process. Either the lastName or the email attribute must be present in the object.

productId

referred object

optional

ID of the product to which the ticket is mapped

list

optional

File attachments in the ticket. For more information, refer to the Uploads section

email

string

optional,
max chars : 150

Email ID in the ticket

phone

string

optional,
max chars : 120

Phone number in the ticket

description

string

optional,
max chars : 65535

Description in the ticket

status

string

optional,
max chars : 120

Status of the ticket. Includes the custom statuses configured in your help desk portal.

assigneeId

long

optional

ID of agent to whom the ticket is assigned

category

string

optional,
max chars : 300

Category of the ticket

subCategory

string

optional,
max chars : 300

Subcategory of the ticket

resolution

string

optional,
max chars : 65535

Resolution notes recorded in the ticket

dueDate

timestamp

optional

Due date for resolving the ticket

priority

string

optional,
max chars : 120

Priority of the ticket

language

string

optional,
max chars : 255

Language preference to set for the ticket

channel

string

optional,
max chars : 120

Channel through which the ticket originated.

classification

string

optional,
max chars : 120

Type of ticket. Values supported are Problem, Request, Question, and Others.

customFields
deprecated

JSONObject

optional

Custom fields in the ticket

cf

JSONObject

optional

Custom fields in the ticket

webUrl

string

optional,
max chars : 5000

URL to access the resource

sharedDepartments

list

optional

List of departments to which the ticket is shared and the access privileges corresponding to each department

teamId

long

optional

ID of the team assigned to resolve the ticket

secondaryContacts
see documentation

list

optional

Secondary contacts, such as CC'ed users, associated with the ticket

entitySkills
see documentation

list

optional

Comma-separated array of skill IDs to be mapped with a ticket. The order of IDs (with the first ID given the highest priority) will determine how assignments are calculated.

PATCH /api/v1/tickets/{ticket_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/tickets/3000000024409
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "entitySkills" : [ "18921000000379001", "18921000000364001", "18921000000379055", "18921000000379031" ], "subCategory" : "Sub General", "cf" : { "cf_permanentaddress" : null, "cf_dateofpurchase" : null, "cf_phone" : null, "cf_numberofitems" : null, "cf_url" : null, "cf_secondaryemail" : null, "cf_severitypercentage" : "0.0", "cf_modelname" : "F3 2017" }, "productId" : "", "contactId" : "1892000000042032", "subject" : "Real Time analysis Requirement", "dueDate" : "2016-06-21T16:16:16.000Z", "channel" : "FORUMS", "description" : "Sample Ticket", "language" : "English", "priority" : "Low", "classification" : "", "assigneeId" : "1892000000056007", "phone" : "1 888 900 9646", "category" : "general", "email" : "carol@zylker.com", "status" : "Open" }'

Response Example

{
  "entitySkills" : [ "18921000000379001", "18921000000364001", "18921000000379055", "18921000000379031" ],
  "modifiedTime" : "2016-06-21T12:58:09.122Z",
  "ticketNumber" : "773",
  "subCategory" : "Sub General",
  "statusType" : "Open",
  "subject" : "Real Time analysis Requirement",
  "dueDate" : "2016-06-23T12:58:09.211Z",
  "departmentId" : "1892000000006907",
  "channel" : "FORUMS",
  "onholdTime" : null,
  "description" : "Sample Ticket",
  "language" : "English",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "uuid" : null,
    "appPhotoURL" : null
  },
  "resolution" : null,
  "sharedDepartments" : [ ],
  "closedTime" : null,
  "sharedCount" : "0",
  "approvalCount" : "0",
  "timeEntryCount" : "0",
  "isOverDue" : false,
  "channelRelatedInfo" : {
    "isTopicDeleted" : false,
    "forumStatus" : "ANALYSING",
    "sourceLink" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Community/singlepost/problem-topic-forum-ticket-18-5-2018",
    "topicType" : "PROBLEM"
  },
  "isDeleted" : "false",
  "isTrashed" : false,
  "createdTime" : "2016-06-21T12:50:04.000Z",
  "id" : "1892000001054003",
  "email" : "carol@zylker.com",
  "layoutDetails" : {
    "id" : "5000000013466",
    "layoutName" : "Default Ticket Layout"
  },
  "channelCode" : null,
  "customerResponseTime" : "2013-11-04T11:21:07.912Z",
  "cf" : {
    "cf_permanentaddress" : null,
    "cf_dateofpurchase" : null,
    "cf_phone" : null,
    "cf_numberofitems" : null,
    "cf_url" : null,
    "cf_secondaryemail" : null,
    "cf_severitypercentage" : "0.0",
    "cf_modelname" : "F3 2017"
  },
  "productId" : null,
  "contactId" : "1892000000042032",
  "threadCount" : "1",
  "priority" : "Low",
  "classification" : null,
  "assigneeId" : "1892000000056007",
  "commentCount" : "0",
  "taskCount" : "0",
  "phone" : "1 888 900 9646",
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
  "attachmentCount" : "0",
  "isEscalated" : false,
  "isSpam" : false,
  "category" : "general",
  "status" : "Open"
}

Move Tickets to trash

This API moves tickets to the Recycle Bin

Credit: 6 credits/record

Attributes

Param Name
Data Type
Description
ticketIds

list

required

IDs of the tickets to move to the Recycle Bin

POST /api/v1/tickets/moveToTrash

OAuth Scope

Desk.tickets.DELETE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/moveToTrash
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "ticketIds" : [ "2000032002032" ] }'

Response Example

204

Delete spam tickets

This API deletes the given spam tickets

Credit: 6 credits/record

Attributes

Param Name
Data Type
Description
ticketIds

list

required

IDs of the spam tickets. The maximum allowed number of IDs is 50.

POST /api/v1/tickets/deleteSpam

OAuth Scope

Desk.tickets.DELETE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/deleteSpam
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "ticketIds" : [ "1892000000006907", "1892000000006908" ] }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "1892000000006907",
    "errors" : null
  }, {
    "success" : false,
    "id" : "1892000000006908",
    "errors" : {
      "errorMessage" : null,
      "errorCode" : "UNPROCESSABLE_ENTITY",
      "httpCode" : "422",
      "errorJson" : { }
    }
  } ]
}

Merge two tickets

This API merges two different tickets.

Credit: 30 credits/call

Attributes

Param Name
Data Type
Description
ids

list

required

IDs of the tickets to merge

object

optional

JSON object of the tickets to merge

POST /api/v1/tickets/{ticket_id}/merge

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/4000000008749/merge
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "ids" : [ "4000000018011" ], "source" : { "contactId" : "4000000018011", "subject" : "4000000018011", "priority" : "4000000018011", "status" : "4000000018011" } }'

Response Example

{
  "entitySkills" : [ "42000000000364001", "42000000000379001", "42000000000379031" ],
  "modifiedTime" : "2016-06-21T10:16:15.000Z",
  "ticketNumber" : "101",
  "subCategory" : "Sub General",
  "statusType" : "Open",
  "subject" : "Real Time analysis Requirement",
  "dueDate" : "2016-06-21T16:16:16.000Z",
  "departmentId" : "42000000006907",
  "channel" : "Email",
  "onholdTime" : null,
  "description" : "Real Time analysis Requirement",
  "language" : "English",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "uuid" : null,
    "appPhotoURL" : null
  },
  "resolution" : null,
  "sharedDepartments" : [ ],
  "closedTime" : null,
  "sharedCount" : "0",
  "approvalCount" : "0",
  "timeEntryCount" : "3",
  "isOverDue" : false,
  "channelRelatedInfo" : null,
  "createdTime" : "2013-11-04T11:21:07.000Z",
  "id" : "4000000008749",
  "email" : "carol@zylker.com",
  "layoutDetails" : {
    "id" : "5000000013466",
    "layoutName" : "Default Ticket Layout"
  },
  "channelCode" : null,
  "customerResponseTime" : "2013-11-04T11:21:07.912Z",
  "cf" : {
    "cf_permanentaddress" : null,
    "cf_dateofpurchase" : null,
    "cf_phone" : null,
    "cf_numberofitems" : null,
    "cf_url" : null,
    "cf_secondaryemail" : null,
    "cf_severitypercentage" : "0.0",
    "cf_modelname" : "F3 2017"
  },
  "productId" : null,
  "contactId" : "42000000042032",
  "threadCount" : "121",
  "priority" : "High",
  "classification" : null,
  "assigneeId" : "42000000056007",
  "commentCount" : "1",
  "taskCount" : "1",
  "phone" : "1 888 900 9646",
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
  "isEscalated" : false,
  "attachmentCount" : "1",
  "isSpam" : false,
  "category" : "general",
  "status" : "Open"
}

Move ticket

This API helps move a ticket from one department to another. Note: The departmentId query parameter will be deprecated soon. Therefore, going forward, the departmentId attribute must be passed in the body of the API request.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
departmentId
see documentation

long

optional

ID of the department to which you want to move the ticket

Attributes

Param Name
Data Type
Description
departmentId

long

optional

ID of the department in which the ticket exists

forumId

long

optional

ID of the community sub-category to which the forum ticket (forum topic converted into a ticket) must be moved

POST /api/v1/tickets/{ticket_id}/move

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000093303/move
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "departmentId" : "1892000000082069", "forumId" : "1892000000052355" }'

Response Example

200

Split tickets

This API splits an incoming ticket thread into a new ticket.

Credit: 2 credits/call

Query Params

Param Name
Data Type
Description
POST /api/v1/tickets/{ticket_id}/threads/{thread_id}/split

OAuth Scope

Desk.tickets.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000047005/threads/1892000000133023/split
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2016-06-21T10:16:15.000Z",
  "ticketNumber" : "101",
  "subCategory" : "Sub General",
  "statusType" : "Open",
  "subject" : "Real Time analysis Requirement",
  "dueDate" : "2016-06-21T16:16:16.000Z",
  "departmentId" : "1892000000006907",
  "channel" : "Email",
  "onholdTime" : null,
  "description" : "Real Time analysis Requirement",
  "language" : "English",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "uuid" : null,
    "appPhotoURL" : null
  },
  "resolution" : null,
  "sharedDepartments" : [ ],
  "closedTime" : null,
  "sharedCount" : "0",
  "approvalCount" : "0",
  "timeEntryCount" : "3",
  "isOverDue" : false,
  "channelRelatedInfo" : null,
  "createdTime" : "2013-11-04T11:21:07.000Z",
  "id" : "1892000000042034",
  "email" : "carol@zylker.com",
  "channelCode" : null,
  "customerResponseTime" : "2013-11-04T11:21:07.912Z",
  "cf" : {
    "cf_permanentaddress" : null,
    "cf_dateofpurchase" : null,
    "cf_phone" : null,
    "cf_numberofitems" : null,
    "cf_url" : null,
    "cf_secondaryemail" : null,
    "cf_severitypercentage" : "0.0",
    "cf_modelname" : "F3 2017"
  },
  "productId" : null,
  "contactId" : "1892000000042032",
  "threadCount" : "121",
  "priority" : "High",
  "classification" : null,
  "assigneeId" : "1892000000056007",
  "commentCount" : "1",
  "taskCount" : "1",
  "phone" : "1 888 900 9646",
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
  "attachmentCount" : "1",
  "isEscalated" : false,
  "isSpam" : false,
  "category" : "general",
  "status" : "Open"
}

Bulk update tickets

This API updates multiple tickets at once.

Credit: 1 credit/2 records

Attributes

Param Name
Data Type
Description
ids

list

required

Array containing the IDs of the entities to update. The maximum number of IDs allowed is 50.

fieldName

string

required,
max chars : 320

Name of the fieldĀ to update

fieldValue

string

optional,
max chars : 32000

Value in the field

isCustomField

boolean

optional

Key that denotes if the field is a user-defined field or not

POST /api/v1/tickets/updateMany

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/updateMany
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "fieldName" : "subject", "isCustomField" : false, "ids" : [ "1892000000093303", "1892000000085009", "1892000000050003" ], "fieldValue" : "Ticket for support" }'

Response Example

200

Closed many tickets

This API closes multiple tickets at once.

Credit: 1 credit/2 records

Attributes

Param Name
Data Type
Description
ids

list

required

IDs of tickets to close. Note : A maximum of 50 tickets can be closed in a single API request.

POST /api/v1/closeTickets

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/closeTickets
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "ids" : [ "1892000000093303", "1892000000085009", "1892000000050003" ] }'

Response Example

200

Mark as read

This API marks a ticket as read by the user.

Credit: 1 credit/call

POST api/v1/tickets/{ticket_id}/markAsRead

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000988091/markAsRead
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Mark as unread

This API marks a ticket as unread by the user.

Credit: 1 credit/call

POST api/v1/tickets/{ticket_id}/markAsUnRead

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000988091/markAsUnRead
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Mark ticket as spam

This API marks tickets as spam.

Credit: 1 credit/2 records

Attributes

Param Name
Data Type
Description
isSpam

boolean

required

Key that marks or unmarks a single ticket or multiple tickets as spam

ids

list

required

ID(s) of the ticket(s) that must be marked or unmarked as spam

contactSpam

boolean

optional

Key that marks or unmarks the associated contact as spam

handleExistingTickets

boolean

optional

Key that marks or unmarks the other tickets from the contact(s) as spam

POST /api/v1/tickets/markSpam

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/markSpam
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "contactSpam" : "true", "handleExistingTickets" : "true", "ids" : [ "1000000121176", "1000000016435", "1000000016435" ], "isSpam" : "true" }'

Response Example

200

List all ticketQueueView count

This API returns the number of tickets in a particular view.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
viewId

long

required

ID of the view whose ticket count must be fetched

departmentId
see documentation

String

required

ID of the department from which the ticket count must be fetched

agentId

long

optional

ID of the agent assigned to resolve the tickets

GET api/v1/ticketQueueView/count

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/ticketQueueView/count?viewId=40000000004567&departmentId=allDepartment
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "count" : "10"
}

List all agentsTicketsCount

This API returns the number of tickets assigned to multiple agents.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
departmentId
see documentation

String

optional

ID of the department from which the ticket count must be fetched. To fetch ticket count of agents from all departments, pass the value allDepartments.

agentIds

long

optional

IDs of the agents whose ticket count must be fetched

GET api/v1/agentsTicketsCount

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/agentsTicketsCount?agentIds=4000000008734,4000000056010
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "onholdCount" : 1,
    "agentId" : "4000000008734",
    "dueIn1HrCount" : 0,
    "overDueCount" : 2,
    "channel" : [ "Mail", "Phone" ],
    "isOnline" : true,
    "openCount" : 18
  }, {
    "onholdCount" : 1,
    "agentId" : "4000000056010",
    "dueIn1HrCount" : 0,
    "overDueCount" : 0,
    "isOnline" : false,
    "openCount" : 0
  } ]
}

Get ticket history

This API fetches details of all actions — called events — performed on a ticket and in the sub-tabs on the ticket detail page. To view a detailed documentation for this API, visit this page.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional,
default : 0

Index number, starting from which the events must be fetched

limit

int

optional,
range : 1-50

Number of events to list

eventFilter

string

optional,
max chars : 100

Key that filters events, based on their type. Values allowed are: CommentHistory, TimeEntryHistory, TaskHistory, CallHistory, EventHistory, AttachmentHistory, ApprovalHistory, SuperviseHistory, WorkflowHistory, MacroHistory, AssignmentRuleHistory, NotificationRuleHistory, SLAHistory, BlueprintHistory and SkillRelatedHistory

agentId

long

optional

Key that filters details of actions performed by a particular agent. Value allowed is the agent's ID in Zoho Desk.

fieldName

string

optional,
max chars : 100

Key that filters the history of a particular field. The value for this key must be the apiName of the field.

GET api/v1/tickets/{ticket_id}/History

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/7000000025045/History?eventFilter=CommentHistory
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "actor" : {
      "name" : "Aadavan",
      "id" : "7000000025001",
      "type" : "Contact"
    },
    "eventInfo" : [ {
      "propertyName" : "Department",
      "propertyType" : "Entity",
      "systemProperty" : true,
      "propertyValue" : {
        "name" : "Zylker Primary",
        "id" : "7000000013224",
        "type" : "Department"
      }
    }, {
      "propertyName" : "Account Name",
      "propertyType" : "Text",
      "systemProperty" : true,
      "propertyValue" : "Primary Account"
    }, {
      "propertyName" : "Contact Name",
      "propertyType" : "Text",
      "systemProperty" : true,
      "propertyValue" : "Aadavan"
    }, {
      "propertyName" : "Email",
      "propertyType" : "Text",
      "systemProperty" : true,
      "propertyValue" : "aathavan@zylker.com"
    }, {
      "propertyName" : "Subject",
      "propertyType" : "Text",
      "systemProperty" : true,
      "propertyValue" : "Ticket Subject"
    }, {
      "propertyName" : "Description",
      "propertyType" : "Text",
      "systemProperty" : true,
      "propertyValue" : "<div>Description.<br /></div>"
    }, {
      "propertyName" : "Status",
      "propertyType" : "Text",
      "systemProperty" : true,
      "propertyValue" : "Open"
    }, {
      "propertyName" : "Case Owner",
      "propertyType" : "Entity",
      "systemProperty" : true,
      "propertyValue" : {
        "name" : "Imman",
        "id" : "7000000000059",
        "type" : "Agent"
      }
    }, {
      "propertyName" : "Channel",
      "propertyType" : "Text",
      "systemProperty" : true,
      "propertyValue" : "Email"
    }, {
      "propertyName" : "Is Escalated",
      "propertyType" : "Boolean",
      "systemProperty" : true,
      "propertyValue" : false
    } ],
    "eventTime" : "2020-06-03T11:14:52.000Z",
    "eventName" : "TicketCreated",
    "source" : "Email",
    "actorInfo" : [ ]
  } ]
}

Get ticket resolution

This API fetches details related to the resolution of a ticket.

Credit: 1 credit/call

GET api/v1/tickets/{ticket_id}/resolution

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/4000000190069/resolution
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2015-12-12T00:00:00Z",
  "author" : {
    "firstName" : "saran",
    "lastName" : "raj",
    "photoURL" : "https://desk.zoho.com/api/v1/agent/160200000000068005/photo",
    "id" : 160200000000068000,
    "email" : "carol@zylker.com"
  },
  "content" : "test resolution API"
}

Get resolution history

This API fetches the resolution history of a ticket

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional

Index number starting from which records must be fetched

limit

int

optional,
range : 1-100

Number of records to fetch

GET api/v1/tickets/{ticket_id}/resolutionHistory

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/4000000190069/resolutionHistory
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2015-12-12T00:00:00Z",
    "author" : {
      "firstName" : "saran",
      "lastName" : "raj",
      "photoURL" : "https://desk.zoho.com/api/v1/agent/160200000000068005/photo",
      "id" : 160200000000068000,
      "email" : "carol@zylker.com"
    },
    "content" : "update ticket resolution"
  }, {
    "modifiedTime" : "2015-11-12T00:00:00Z",
    "author" : {
      "firstName" : "saran",
      "lastName" : "raj",
      "photoURL" : "https://desk.zoho.com/api/v1/agent/160200000000068005/photo",
      "id" : 160200000000068000,
      "email" : "carol@zylker.com"
    },
    "content" : "add ticket resolution"
  } ]
}

Update ticket resolution

This API updates the resolution field of a ticket.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
content

string

optional,
max chars : 65535

Content to add in the field

isNotifyContact

boolean

optional

Key that specifies if the contact associated must be notified about the resolution

PATCH api/v1/tickets/{ticket_id}/resolution

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/tickets/4000000190069/resolution
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "isNotifyContact" : false, "content" : "test resolution API" }'

Response Example

{
  "modifiedTime" : "2015-12-12T00:00:00Z",
  "author" : {
    "firstName" : "pandi",
    "lastName" : "raj",
    "photoURL" : "https://desk.zoho.com/api/v1/agent/160200000000068005/photo",
    "id" : 160200000000068000,
    "email" : "pandeeswaran@zylker.com"
  },
  "content" : "test resolution API"
}

Delete ticket resolution

This API deletes a resolution added to a ticket.

Credit: 1 credit/call

DELETE api/v1/tickets/{ticket_id}/resolution

OAuth Scope

Desk.tickets.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/tickets/4000000190069/resolution
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Get ticket metrics

This API fetches details related to the response and resolution times of a ticket.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/tickets/([0-9]+)/metrics

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/1892000000085990/metrics
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "firstResponseTime" : "01:50 hrs",
  "reassignCount" : 1,
  "outgoingCount" : 2,
  "threadCount" : 2,
  "totalResponseTime" : "02:50 hrs",
  "responseCount" : 1,
  "agentsHandled" : [ {
    "handlingTime" : "00:50 hrs",
    "agentId" : 4000000012629,
    "agentName" : "XXX"
  }, {
    "handlingTime" : "01:50 hrs",
    "agentId" : 4000000080003,
    "agentName" : "YYY"
  } ],
  "resolutionTime" : "02:50 hrs",
  "stagingData" : [ {
    "handledTime" : "01:50 hrs",
    "status" : "Open"
  }, {
    "handledTime" : "00:50 hrs",
    "status" : "onhold"
  } ],
  "reopenCount" : 0
}

Empty spam tickets

This API deletes all spam tickets.

Credit: 500 credits/call

Attributes

Param Name
Data Type
Description
departmentId
see documentation

long

required

ID of the department to which the tickets belong

POST /api/v1/tickets/emptySpam

OAuth Scope

Desk.tickets.DELETE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/emptySpam
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "departmentId" : "1892000000006907" }'

Response Example

202

Execute Skill Based Assignment

This API assigns tickets to agents according to their designated skills and routing preferences.

Credit: 1 credit/call

POST /api/v1/tickets/{ticket_id}/executeSkillbasedAssignment

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1000000159323/executeSkillbasedAssignment?orgId=15157826
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "isAssigned" : true,
  "newAssignee" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1000000000059/photo?orgId=111111",
    "firstName" : "Alex",
    "lastName" : "John",
    "name" : "Alex",
    "roleName" : null,
    "externalId" : null,
    "emailId" : "alex@zylker.com",
    "id" : "1000000000059",
    "type" : "AGENT",
    "email" : "alex@zylker.com",
    "zuid" : "1231232"
  },
  "team" : {
    "name" : "Automation Team",
    "id" : "1000000000089"
  }
}

Recalculate Skills

This API removes existing skills and reapplies the required ones based on the ticket's current circumstances.

Credit: 1 credit/call

POST /api/v1/tickets/{ticket_id}/recalculateSkills

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1000000159323/recalculateSkills
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2020-07-24T07:36:33.000Z",
  "skillsInfo" : [ {
    "weightage" : "10",
    "skillName" : "Middle East",
    "skillId" : "1000000174138",
    "skillTypeId" : "1000000173007",
    "mappingType" : "SYSTEM",
    "skillTypeName" : "Region"
  }, {
    "weightage" : "9",
    "skillName" : "Asia",
    "skillId" : "1000000174140",
    "skillTypeId" : "1000000173007",
    "mappingType" : "SYSTEM",
    "skillTypeName" : "Region"
  } ],
  "modifiedBy" : "1000000032001",
  "id" : "1000000170017"
}

Suggest relevant articles for ticket

This API suggests help articles that could be relevant to resolving a ticket.

Credit: 3 credits/call, 1 credit (with unique ID)

Query Params

Param Name
Data Type
Description
from

int

optional,
range : >=0

Index number, starting from which the articles must be fetched

limit

int

optional,
range : 1-50

Number of articles to list

departmentId

long

optional

ID of the department to which the help article belongs. If you want to include help articles from all departments, pass 0 as the value of this key

GET /api/v1/tickets/{ticket_id}/articleSuggestion

OAuth Scope

Desk.articles.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/22372000000103001/articleSuggestion?departmentId=40000000012359orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2020-06-24T11:46:43.000Z",
    "creatorId" : "4000000000059",
    "dislikeCount" : "0",
    "modifierId" : "4000000000059",
    "templateLastUpdatedTime" : "2018-05-21T05:55:00.000Z",
    "likeCount" : "0",
    "locale" : "en",
    "latestVersionModifierId" : "4000000000060",
    "ownerId" : "4000000000059",
    "title" : "Answering your first ticket.",
    "isTrashed" : false,
    "createdTime" : "2020-06-24T11:46:43.000Z",
    "modifiedBy" : {
      "photoURL" : null,
      "name" : "Hill",
      "id" : "4000000000059",
      "status" : "ACTIVE",
      "zuid" : "234543"
    },
    "id" : "4000000019059",
    "viewCount" : "0",
    "templateUsedUsersCount" : "2",
    "owner" : {
      "photoURL" : null,
      "name" : "Hill",
      "id" : "4000000000059",
      "status" : "ACTIVE",
      "zuid" : "234543"
    },
    "summary" : "Zoho Desk packs a bunch of features that are expressly there to help you respond to tickets smartly. The first of these, you've already discovered: Auto-Suggest Articles. Zoho Desk pulls up relevant articles on the ticket's content—so you can save ...",
    "latestVersionStatus" : "Published",
    "author" : {
      "photoURL" : null,
      "name" : "Hill",
      "id" : "4000000000059",
      "status" : "ACTIVE",
      "zuid" : "234543"
    },
    "permission" : "AGENTS",
    "authorId" : "4000000000059",
    "usageCount" : "0",
    "commentCount" : "0",
    "rootCategoryId" : "4000000017276",
    "templateUsageCount" : "0",
    "translationId" : "4000000017294",
    "createdBy" : {
      "photoURL" : null,
      "name" : "Hill",
      "id" : "4000000000059",
      "status" : "ACTIVE",
      "zuid" : "234543"
    },
    "latestVersion" : "1.0",
    "isTemplate" : false,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Solutions/dv/4000000019059/en",
    "feedbackCount" : "0",
    "portalUrl" : "https://desk.zoho.com/portal/zylker/en/kb/articles/answering-your-first-ticket",
    "attachmentCount" : "0",
    "latestPublishedVersion" : "1.0",
    "category" : {
      "name" : "General",
      "id" : "4000000017287",
      "locale" : "en"
    },
    "permalink" : "answering-your-first-ticket",
    "categoryId" : "4000000017287",
    "latestVersionModifiedBy" : {
      "photoURL" : null,
      "name" : "will smith",
      "id" : "4000000000060",
      "status" : "ACTIVE",
      "zuid" : "234544"
    },
    "status" : "Published"
  } ]
}

Threads

Threads are conversations that occur between agents and customers. A thread can originate from multiple channels, such as FACEBOOK, TWITTER, EMAIL, TWITTER_DM, WEB, ONLINE_CHAT, OFFLINE_CHAT, FORUMS, TWILIO, ZTI, CUSTOMERPORTAL, FEEDBACK, FEEDBACK_WIDGET.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the thread

channel

string

Channel through which the thread originated. Values supported are FACEBOOK, TWITTER, EMAIL and FORUMS .

status

string

Status of the thread.Values supported are SUCCESS,PENDING,FAILED,DRAFT

content

string

Content of the thread

contentType

string

Formatting type of the content. Applicable only for the EMAIL channel. Values supported are html and plainText (default).

isForward

boolean

Key that returns if the thread was sent as a forward. Applicable only for the EMAIL channel.

isPrivate

boolean

Specifies whether the thread is Private or Public. Forwarded threads are always private.

inReplyToThreadId

long

ID of the thread to which current thread is a reply, applicable only for EMAIL channel

attachmentIds
see documentation

list

List of attachment IDs, applicable only for EMAIL channel. For information on how to retrieve attachment IDs, refer to the Uploads section.

createdTime

timestamp

Time of creating the thread

direction

string

Key that returns whether the thread is incoming or outgoing

object

Details of the user who created the thread

fromEmailAddress
see documentation

string

Mandatory parameter for creating an email thread. Applicable for EMAIL, ONLINE_CHAT, OFFLINE_CHAT, CUSTOMERPORTAL, and FORUMS channels.

to

string

To email ID in the thread, applicable only for EMAIL channel

cc

string

Email ID to be CC-ed. Applicable only for EMAIL channel

bcc

string

Email ID to be BCC-ed., if any exist. Applicable only for EMAIL channel

phoneno

string

Phone number through which the thread originated, applicable only for the ZTI and TWILIO

summary

string

Summary of the thread

attachments

object

Attachments in the thread

hasAttach

boolean

States whether the thread has attachments

isDescriptionThread

boolean

Key that denotes if the thread is the description of the ticket

channelRelatedInfo

object

Secondary information related to the channel of the thread. Currently, this key is supported only for the Forums channel. Therefore, the API response will not return this information for threads generated through other channels

actions

list

Actions available from the present state which will be included based on present status.It is a collection of all actions and each action has a rel,href and method.The respective links and methods to be invoked will be available under the 'href' and 'method' key for each action.

respondedIn

string

Time taken by the agent to respond to the customer

canReply

boolean

Specifies whether replies can be added be added to this thread.

object

Details of the thread source from channel

ticketStatus

string

Status of the ticket. Includes the custom statuses configured in your help desk portal.

Example

{
  "summary" : "How was our Customer Service",
  "attachments" : [ {
    "size" : "1913",
    "name" : "ScreenShot",
    "id" : "1892000001083005",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000093205/threads/1892000001083008/attachments/1892000001083005/content"
  } ],
  "canReply" : true,
  "visibility" : "public",
  "author" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/176276372673/photo?orgId=3983939",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade@zylker.com"
  },
  "channel" : "FORUMS",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "appPhotoURL" : null
  },
  "content" : "How was our Customer Service ?",
  "hasAttach" : true,
  "createdTime" : "2016-03-21T08:46:48.248Z",
  "id" : "1892000000135387",
  "actions" : [ ],
  "contentType" : "text/html",
  "status" : "SUCCESS",
  "direction" : "out"
}


Get a thread

This API fetches a single thread from your help desk portal.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

string

optional,
max chars : 100

Content of the thread in plain text format. Value allowed is plainText.

GET /api/v1/tickets/{ticket_id}/threads/{thread_id}

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/1892000000094004/threads/1892000000135387?include=plainText
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "isDescriptionThread" : true,
  "attachments" : [ {
    "size" : "1913",
    "name" : "ScreenShot",
    "id" : "1892000001083005",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000093205/threads/1892000001083008/attachments/1892000001083005/content"
  } ],
  "bcc" : "",
  "isContentTruncated" : true,
  "canReply" : true,
  "channel" : "EMAIL",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "appPhotoURL" : null
  },
  "content" : "<div>Please provide us with a valid solution within the suggested time frame so that we can proceed with the implementation</div>",
  "channelRelatedInfo" : null,
  "createdTime" : "2016-06-02T18:17:55.000Z",
  "plainText" : "Please provide us with a valid solution within the suggested time frame so that we can proceed with the implementation",
  "id" : "1892000000135387",
  "contentType" : "text/html",
  "direction" : "in",
  "cc" : "",
  "summary" : "Please provide us with a valid solution within the suggested time frame so that we can proceed with the implementation",
  "visibility" : "public",
  "author" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : null,
    "name" : "Jade Tywin",
    "type" : "END_USER",
    "email" : "jade12tywin@zylker.com"
  },
  "fullContentURL" : "https://desk.zoho.com/api/v1/tickets/1892000000093205/threads/1892000001083008/fullContent",
  "isForward" : false,
  "hasAttach" : true,
  "replyTo" : "jhonwin@zylker.com",
  "attachmentCount" : "1",
  "to" : "techsupport@zylker.com",
  "fromEmailAddress" : "jade12tywin@zylker.com",
  "actions" : [ ],
  "status" : "SUCCESS"
}

Get Original Mail Content

This API get the orginal mail content including mail headers

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
inline

boolean

optional

set this param as true if attachment is to be rendered

GET /api/v1/tickets/{ticket_id}/threads/{thread_id}/originalContent

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET /api/v1/tickets/1892000000094004/threads/1892000011194123/originalContent
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "date" : "Tue, 30 Mar 2021 16:53:12 +0530",
  "returnPath" : "<abc@zylker.com>",
  "subject" : "Testing Mail Service",
  "messageId" : "<17882df63bf.b181c6c3583.8110594270247400030@zylker.com>",
  "from" : "ReplyTo <abc@zylker.com>",
  "to" : "\"support\" <support@zylker.com>",
  "content" : "Delivered-To: support@zylker.com\nReturn-Path: <abc@zylker.com>\nDomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; \n  s=zoho; d=zoho.com; \n  h=date:from:reply-to:to:message-id:subject:mime-version:content-type:user-agent; \n  b=E6QQb4TtZN7WU1zmeUJx3hjj9BL0l/m6NhQU/3Oi+YlvXXhxSL6BFK0+CsAqJ/BJY/Y9hmdGNOM2\n    I62RiQ5y8r9bUrVnGZH+Z9HvO3lPXZ4wM9kXypm9xmOo+gf0Dc2DxJKfPCvGrLT1QDzxeO+3tlPZ\n    Xeqt6AsiCjXsXLcNUwc=  \nReceived: from mail.zoho.com by zohomail.com.in\n\twith SMTP id 1617103392140118.88266397173629; Tue, 30 Mar 2021 16:53:12 +0530 (IST)\nDate: Tue, 30 Mar 2021 16:53:12 +0530\nFrom: ReplyTo <abc@zylker.com>\nReply-To: abc@zylker.com\nTo: \"support\" <support@zylker.com>\nMessage-Id: <17882df63bf.b181c6c3583.8110594270247400030@zylker.com>\nSubject: Testing Mail Service\nMIME-Version: 1.0\nContent-Type: multipart/alternative; \n\tboundary=\"----=_Part_1259_1074835283.1617103381439\"\nImportance: Medium\nUser-Agent: Zoho Mail\nX-Mailer: Zoho Mail\nX-ZohoMail-Owner: <17882df63bf.b181c6c3583.8110594270247400030@zylker.com>+zmo_0_abc@zylker.com\n\n------=_Part_1259_1074835283.1617103381439\nContent-Type: text/plain; charset=\"UTF-8\"\nContent-Transfer-Encoding: 7bit\n\nAldjfh Giri\n\n\n\n\n\nReplyTo\n------=_Part_1259_1074835283.1617103381439\nContent-Type: text/html; charset=\"UTF-8\"\nContent-Transfer-Encoding: 7bit\n\n<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"><html><head><meta content=\"text/html;charset=UTF-8\" http-equiv=\"Content-Type\" /></head><body><div style=\"font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;\"><div><br /></div><div><br />Aldjfh Giri<br /></div><div id=\"\"><div><br /></div><div><br /></div><div>ReplyTo<br /></div><div><br /></div></div></div><br /></body></html>\n------=_Part_1259_1074835283.1617103381439--\n\n"
}

Get Latest thread

This API fetches the most recent thread of a ticket.

Note:
The API response for 'Get Latest Thread' will be dynamic, based on the channel from which the latest thread is received. For example, if the latest thread is received via the Email channel, the API will return the keys cc, to, and bcc, along with other details. These keys will not be included in the response for threads received via other channels.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
needPublic

boolean

optional,
default : false

Key that denotes if the thread must be a public thread

needIncomingThread

boolean

optional,
default : false

Key that denotes if the thread must be an incoming threads only

string

optional,
max chars : 100

Content of the thread in plain text format. Value allowed is plainText.

threadStatus

string

optional,
max chars : 100

Receipt status of the thread. Values allowed are success and failed

GET /api/v1/tickets/{ticket_id}/latestThread

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/1892000000094004/latestThread
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "cc" : "",
  "summary" : "Please provide us with a valid solution within the suggested time frame so that we can proceed with the implementation",
  "attachments" : [ {
    "size" : "1913",
    "name" : "ScreenShot",
    "id" : "1892000001083005",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/threads/1892000001083008/attachments/1892000001083005/content"
  } ],
  "bcc" : "",
  "canReply" : true,
  "visibility" : "public",
  "author" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : null,
    "name" : "Jade Tywin",
    "type" : "END_USER",
    "email" : "jade12tywin@zylker.com"
  },
  "channel" : "EMAIL",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "appPhotoURL" : null
  },
  "content" : "Please provide us with a valid solution within the suggested time frame so that we can proceed with the implementation",
  "isForward" : false,
  "hasAttach" : true,
  "replyTo" : "jhonwin@zylker.com",
  "createdTime" : "2016-06-02T18:17:55.000Z",
  "to" : "techsupport@zylker.com",
  "id" : "1892000001083008",
  "fromEmailAddress" : "jade12tywin@zylker.com",
  "actions" : [ ],
  "contentType" : "text/html",
  "status" : "SUCCESS",
  "direction" : "in"
}

Send For Review

This API saves drafts of agent's responses to customers and sends them to a manager/senior agent for review.

Credit: 1 credit/call

POST /api/v1/tickets/{ticket_id}/threads/{thread_id}/sendForReview

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000094004/threads/1892000000012313/sendForReview
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

List all threads

This API lists all threads in your helpdesk.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional,
range : >=0

Index number, starting from which the threads must be fetched

limit

integer

required,
default : 100,
range : 1-200

Number of threads to fetch

sortBy

string

optional,
max chars : 100

Key that sorts the threads by sendDateTime.
If the value of sortBy key is:

  • "sendDateTime" - sorting will be done in ascending order
  • "-sendDateTime " - (prefix the value with a "-") sorting will be done in descending order

Note: If this sortBy key is not specified, the sorting will be done in descending order by default based on sendDateTime.

GET /api/v1/tickets/{ticket_id}/threads

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/1892000000042034/threads
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "isDescriptionThread" : true,
    "canReply" : true,
    "visibility" : "public",
    "author" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/user/176276372673/photo",
      "name" : "Jade Tywin",
      "type" : "END_USER",
      "email" : "jade12tywin@zylker.com"
    },
    "channel" : "FORUMS",
    "source" : {
      "appName" : null,
      "extId" : null,
      "type" : "SYSTEM",
      "permalink" : null,
      "appPhotoURL" : null
    },
    "lastRatingIconURL" : null,
    "hasAttach" : false,
    "channelRelatedInfo" : {
      "isDeleted" : "false",
      "isBestSolution" : "true",
      "externalLink" : null
    },
    "respondedIn" : null,
    "createdTime" : "2015-03-25T13:40:23.031Z",
    "attachmentCount" : "7",
    "id" : "1892000000413186",
    "fromEmailAddress" : "jade12tywin@zylker.com",
    "actions" : [ ],
    "contentType" : "text/html",
    "status" : "SUCCESS",
    "direction" : "in"
  }, {
    "summary" : "Customer Rating",
    "cc" : "",
    "isDescriptionThread" : false,
    "bcc" : "",
    "canReply" : true,
    "visibility" : "public",
    "author" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=3983939",
      "name" : "Jade Tywin",
      "type" : "AGENT",
      "email" : "jade12tywin@zylker.com"
    },
    "channel" : "EMAIL",
    "source" : {
      "appName" : null,
      "extId" : null,
      "type" : "SYSTEM",
      "permalink" : null,
      "appPhotoURL" : null
    },
    "isForward" : false,
    "hasAttach" : true,
    "responderId" : "1892000000042001",
    "channelRelatedInfo" : null,
    "respondedIn" : "00:05:14",
    "createdTime" : "2016-05-25T10:06:09.686Z",
    "attachmentCount" : "4",
    "id" : "1892000001004072",
    "to" : "carol@zylker.com",
    "fromEmailAddress" : "techsupport@zylker.com",
    "actions" : [ {
      "method" : "POST",
      "rel" : "send",
      "href" : "https://desk.zoho.com/api/v1/tickets/1892000000093205/resendFailedThread?threadId=1892000001083008"
    } ],
    "contentType" : "text/html",
    "status" : "FAILED",
    "direction" : "out"
  }, {
    "summary" : "Please fix this problem, since it is urgent posted the issue on Facebook ",
    "isDescriptionThread" : false,
    "canReply" : true,
    "visibility" : "public",
    "author" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/2150000000043591/photo?orgId=3983939",
      "name" : "Jade Tywin",
      "type" : "AGENT",
      "email" : "jade12tywin@zylker.com"
    },
    "channel" : "FACEBOOK",
    "source" : {
      "appName" : null,
      "extId" : null,
      "type" : "SYSTEM",
      "permalink" : null,
      "appPhotoURL" : null
    },
    "lastRatingIconURL" : "https://desk.zoho.com/api/v1/ratingOptions/31138000005998227/logo?orgId=54983163",
    "hasAttach" : false,
    "responderId" : "2150000000043591",
    "channelRelatedInfo" : null,
    "respondedIn" : "00:04:09",
    "createdTime" : "2016-07-25T10:04:43.739Z",
    "attachmentCount" : "6",
    "id" : "2150000002498038",
    "actions" : [ {
      "method" : "POST",
      "rel" : "send",
      "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/sendDraft?draftThreadId=1892000001004072"
    }, {
      "method" : "DELETE",
      "rel" : "delete",
      "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/draftReply/1892000001004072"
    } ],
    "contentType" : "text/html",
    "status" : "DRAFT",
    "direction" : "out"
  }, {
    "isDescriptionThread" : false,
    "canReply" : true,
    "visibility" : "public",
    "author" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/user/176276372673/photo",
      "name" : "Jade Tywin",
      "type" : "END_USER",
      "email" : "jade12tywin@zylker.com"
    },
    "channel" : "FEEDBACK",
    "source" : {
      "appName" : null,
      "extId" : null,
      "type" : "SYSTEM",
      "permalink" : null,
      "appPhotoURL" : null
    },
    "lastRatingIconURL" : null,
    "hasAttach" : false,
    "channelRelatedInfo" : null,
    "respondedIn" : null,
    "createdTime" : "2015-03-25T13:40:23.031Z",
    "attachmentCount" : "5",
    "id" : "1892000000413189",
    "fromEmailAddress" : "jade12tywin@zylker.com",
    "actions" : [ ],
    "contentType" : "text/html",
    "status" : "SUCCESS",
    "direction" : "in"
  } ]
}

List conversations

This API lists a particular number of threads and comments recorded on a ticket, based on the limit specified.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional,
range : >=0

Starting index from which the conversations should be fetched.

limit

integer

required,
default : 100,
range : 1-200

Number of conversations to fetch

GET /api/v1/tickets/{ticket_id}/conversations

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/1892000000321001/conversations
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "summary" : "We have found the root cause for the issue and fixed it. How would you rate our customer service? Good Okey Bad",
    "isDescriptionThread" : true,
    "canReply" : true,
    "visibility" : "public",
    "author" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=3983939",
      "name" : "Jade Tywin",
      "type" : "AGENT",
      "email" : "jade12tywin@zylker.com"
    },
    "channel" : "FORUMS",
    "source" : {
      "appName" : null,
      "extId" : null,
      "type" : "SYSTEM",
      "permalink" : null,
      "appPhotoURL" : null
    },
    "type" : "thread",
    "lastRatingIconURL" : "https://desk.zoho.com/api/v1/ratingOptions/31138000005998227/logo?orgId=54983163",
    "isForward" : false,
    "hasAttach" : false,
    "responderId" : "1892000000042001",
    "channelRelatedInfo" : {
      "isDeleted" : "false",
      "isBestSolution" : "true",
      "externalLink" : null
    },
    "respondedIn" : "00:05:14",
    "createdTime" : "2016-07-07T10:12:04.177Z",
    "attachmentCount" : "7",
    "id" : "1892000001080014",
    "fromEmailAddress" : "techsupport@zylker.com",
    "actions" : [ ],
    "contentType" : "text/html",
    "status" : "SUCCESS",
    "direction" : "out"
  }, {
    "summary" : "Any update regarding the issue",
    "cc" : "productmanagement@zylker.com",
    "isDescriptionThread" : false,
    "bcc" : "",
    "canReply" : true,
    "visibility" : "public",
    "author" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : null,
      "name" : "Jade Tywin",
      "type" : "END_USER",
      "email" : "jade12tywin@zylker.com"
    },
    "channel" : "EMAIL",
    "source" : {
      "appName" : null,
      "extId" : null,
      "type" : "SYSTEM",
      "permalink" : null,
      "appPhotoURL" : null
    },
    "type" : "thread",
    "lastRatingIconURL" : null,
    "isForward" : false,
    "hasAttach" : false,
    "channelRelatedInfo" : null,
    "respondedIn" : null,
    "createdTime" : "2016-07-07T10:02:04.663Z",
    "attachmentCount" : "6",
    "id" : "1892000001080004",
    "to" : "techsupport@zylker.com",
    "fromEmailAddress" : "jade12tywin@zylker.com",
    "actions" : [ ],
    "contentType" : "text/html",
    "status" : "SUCCESS",
    "direction" : "in"
  }, {
    "modifiedTime" : "2016-02-16T14:12:20.000Z",
    "commentedTime" : "2016-02-16T09:21:58.000Z",
    "isPublic" : true,
    "id" : "1892000000886025",
    "type" : "comment",
    "content" : "There is a major issue with the real time dashboard feature . Kindly look into it",
    "commenterId" : "1892000000042001",
    "commenter" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000008692/photo?orgId=3983939",
      "name" : "Jade Tywin",
      "roleName" : "LightAgent",
      "type" : "AGENT",
      "email" : "jade12tywin@zylker.com"
    }
  } ]
}

Send Reply via Integrated Custom Channels

This API sends a reply to any of the configured non-system channels. The channel must be able to handle the reply otherwise the reply will fail. Available channels to be used in this API can be fetched using Get Channels API.

POST /api/v1/tickets/{ticket_id}/sendReply

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000094004/sendReply
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "channel" : "YOUTUBE", "content" : "Thank you for your valueable comment." }'

Response Example

{
  "summary" : "Thank you for your valueable comment.",
  "isDescriptionThread" : false,
  "canReply" : true,
  "visibility" : "public",
  "author" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/176276372673/photo?orgId=3983939",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  },
  "channel" : "YOUTUBE",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "appPhotoURL" : null
  },
  "content" : "Thank you for your valueable comment.",
  "isForward" : false,
  "hasAttach" : false,
  "responderId" : "1892000000042001",
  "channelRelatedInfo" : null,
  "respondedIn" : "00:05:14",
  "createdTime" : "2016-05-25T10:06:09.686Z",
  "id" : "1892000001004072",
  "to" : "Zylker Vlogs",
  "actions" : [ ],
  "contentType" : "text/html",
  "status" : "PENDING",
  "direction" : "out"
}

Send Email Reply

This API sends an email reply. The from address in the email must be a from address configured in your help desk portal.

Credit: 1 credit/5 recipients

Query Params

Param Name
Data Type
Description
isPrivate

boolean

optional,
default : false

Specify whether the thread is Private

sendImmediately

boolean

optional,
default : false

Specify whether the reply has to sent immediately

Attributes

Param Name
Data Type
Description
channel

string

optional,
max chars : 100

Channel through which the thread originated. Values supported are FACEBOOK, TWITTER, EMAIL and FORUMS .

content

string

required,
max chars : 16000000

Content of the thread

contentType

string

optional,
max chars : 100

Formatting type of the content. Applicable only for the EMAIL channel. Values supported are html and plainText (default).

isForward

boolean

optional

Key that returns if the thread was sent as a forward. Applicable only for the EMAIL channel.

isPrivate

boolean

optional

Specifies whether the thread is Private or Public. Forwarded threads are always private.

inReplyToThreadId

long

optional

ID of the thread to which current thread is a reply, applicable only for EMAIL channel

attachmentIds
see documentation

list

optional

List of attachment IDs, applicable only for EMAIL channel. For information on how to retrieve attachment IDs, refer to the Uploads section.

direction

string

optional,
max chars : 100

Key that returns whether the thread is incoming or outgoing

fromEmailAddress
see documentation

string

optional,
max chars : 300

Mandatory parameter for creating an email thread. Applicable for EMAIL, ONLINE_CHAT, OFFLINE_CHAT, CUSTOMERPORTAL, and FORUMS channels.

to

string

optional,
max chars : 13000

To email ID in the thread, applicable only for EMAIL channel

cc

string

optional,
max chars : 13000

Email ID to be CC-ed. Applicable only for EMAIL channel

bcc

string

optional,
max chars : 13000

Email ID to be BCC-ed., if any exist. Applicable only for EMAIL channel

hasAttach

boolean

optional

States whether the thread has attachments

ticketStatus

string

optional,
max chars : 120

Status of the ticket. Includes the custom statuses configured in your help desk portal.

POST /api/v1/tickets/{ticket_id}/sendReply

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000094004/sendReply
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "ticketStatus" : "Closed", "channel" : "EMAIL", "attachmentIds" : [ "1312123141313" ], "to" : "carol@zylker.com", "fromEmailAddress" : "techsupport@zylker.com", "contentType" : "plainText", "content" : "We have identified the root cause and fixed it.", "isForward" : "true" }'

Response Example

{
  "summary" : "We have identified the root cause and fixed it.",
  "cc" : "",
  "isDescriptionThread" : true,
  "bcc" : "",
  "attachments" : [ {
    "size" : "818",
    "name" : "atach.png",
    "id" : "1892000000042043",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000093205/threads/1892000001083008/attachments/1892000001083005/content"
  } ],
  "canReply" : true,
  "visibility" : "public",
  "author" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/176276372673/photo?orgId=3983939",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  },
  "channel" : "EMAIL",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "appPhotoURL" : null
  },
  "content" : "We have identified the root cause and fixed it.",
  "isForward" : true,
  "hasAttach" : true,
  "responderId" : "1892000000042001",
  "channelRelatedInfo" : null,
  "respondedIn" : "00:03:10",
  "createdTime" : "2016-05-25T10:06:09.686Z",
  "id" : "1892000001004072",
  "to" : "carol@zylker.com",
  "fromEmailAddress" : "techsupport@zylker.com",
  "actions" : [ ],
  "contentType" : "text/html",
  "status" : "PENDING",
  "direction" : "out"
}

Send Facebook Reply

This API adds a reply to a Facebook post

POST /api/v1/tickets/{ticket_id}/sendReply

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000094004/sendReply
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "channel" : "FACEBOOK", "content" : "We are looking into the issue." }'

Response Example

{
  "summary" : "We are looking into the issue.",
  "isDescriptionThread" : false,
  "canReply" : true,
  "visibility" : "public",
  "author" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/2150000000043591/photo?orgId=3983939",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  },
  "channel" : "FACEBOOK",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "appPhotoURL" : null
  },
  "content" : "We are looking into the issue.",
  "hasAttach" : false,
  "responderId" : "2150000000043591",
  "channelRelatedInfo" : null,
  "respondedIn" : "00:07:07",
  "createdTime" : "2016-07-25T10:04:43.739Z",
  "id" : "2150000002498038",
  "actions" : [ ],
  "contentType" : "text/html",
  "status" : "SUCCESS",
  "direction" : "out"
}

Send Twitter Reply

This API sends a reply to a tweet.

POST /api/v1/tickets/{ticket_id}/sendReply

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000094004/sendReply
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "channel" : "TWITTER", "content" : "The problem has been fixed. Sorry for the inconvenience caused." }'

Response Example

{
  "summary" : "The problem has been fixed. Sorry for the inconvenience caused.",
  "isDescriptionThread" : false,
  "canReply" : true,
  "visibility" : "public",
  "author" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=3983939",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  },
  "channel" : "TWITTER",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "appPhotoURL" : null
  },
  "hasAttach" : false,
  "responderId" : "1892000000042001",
  "channelRelatedInfo" : null,
  "respondedIn" : "00:10:24",
  "createdTime" : "2016-07-25T10:01:14.536Z",
  "id" : "2150000002498018",
  "actions" : [ ],
  "contentType" : "text/html",
  "status" : "SUCCESS",
  "direction" : "out"
}

Send Forum Reply

This API sends a reply to a comment on a forum post. While using this API, make sure to add the _ZohoDiscussions.basic.ALL_ scope in the request.

POST /api/v1/tickets/{ticket_id}/sendReply

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000094004/sendReply
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "channel" : "FORUMS", "content" : "Thanks for your feedback" }'

Response Example

{
  "summary" : "Thanks for your feedback",
  "isDescriptionThread" : false,
  "canReply" : true,
  "visibility" : "public",
  "author" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=3983939",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  },
  "channel" : "FORUMS",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "appPhotoURL" : null
  },
  "content" : "Thanks for your feedback",
  "hasAttach" : false,
  "responderId" : "1892000000042001",
  "channelRelatedInfo" : {
    "isDeleted" : "false",
    "isBestSolution" : "true",
    "externalLink" : null
  },
  "respondedIn" : "00:06:54",
  "createdTime" : "2016-07-25T09:50:03.578Z",
  "id" : "1892000001121138",
  "actions" : [ ],
  "contentType" : "text/html",
  "status" : "SUCCESS",
  "direction" : "out"
}

Draft Email Reply

This API drafts an email reply. The from address in the email must be a from address configured in your help desk portal.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

Attributes

Param Name
Data Type
Description
channel

string

optional,
max chars : 100

Channel through which the thread originated. Values supported are FACEBOOK, TWITTER, EMAIL and FORUMS .

content

string

required,
max chars : 16000000

Content of the thread

contentType

string

optional,
max chars : 100

Formatting type of the content. Applicable only for the EMAIL channel. Values supported are html and plainText (default).

isForward

boolean

optional

Key that returns if the thread was sent as a forward. Applicable only for the EMAIL channel.

isPrivate

boolean

optional

Specifies whether the thread is Private or Public. Forwarded threads are always private.

inReplyToThreadId

long

optional

ID of the thread to which current thread is a reply, applicable only for EMAIL channel

attachmentIds
see documentation

list

optional

List of attachment IDs, applicable only for EMAIL channel. For information on how to retrieve attachment IDs, refer to the Uploads section.

direction

string

optional,
max chars : 100

Key that returns whether the thread is incoming or outgoing

fromEmailAddress
see documentation

string

optional,
max chars : 300

Mandatory parameter for creating an email thread. Applicable for EMAIL, ONLINE_CHAT, OFFLINE_CHAT, CUSTOMERPORTAL, and FORUMS channels.

to

string

optional,
max chars : 13000

To email ID in the thread, applicable only for EMAIL channel

cc

string

optional,
max chars : 13000

Email ID to be CC-ed. Applicable only for EMAIL channel

bcc

string

optional,
max chars : 13000

Email ID to be BCC-ed., if any exist. Applicable only for EMAIL channel

hasAttach

boolean

optional

States whether the thread has attachments

ticketStatus

string

optional,
max chars : 120

Status of the ticket. Includes the custom statuses configured in your help desk portal.

POST /api/v1/tickets/{ticket_id}/draftReply

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000094004/draftReply
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "channel" : "EMAIL", "attachmentIds" : [ "1312123141313" ], "to" : "carol@zylker.com", "fromEmailAddress" : "techsupport@zylker.com", "contentType" : "plainText", "content" : "We have escaled the issue. Will update you regarding the progress.", "isForward" : "true" }'

Response Example

{
  "summary" : "We have escaled the issue. Will update you regarding the progress.",
  "cc" : "",
  "isDescriptionThread" : false,
  "bcc" : "",
  "attachments" : [ {
    "size" : "324",
    "name" : "atach.png",
    "id" : "1892000000042043",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000093205/threads/1892000001083008/attachments/1892000001083005/content"
  } ],
  "canReply" : true,
  "visibility" : "public",
  "author" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=3983939",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  },
  "channel" : "EMAIL",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "appPhotoURL" : null
  },
  "content" : "We have escaled the issue. Will update you regarding the progress.",
  "isForward" : false,
  "hasAttach" : true,
  "responderId" : "1892000000042001",
  "channelRelatedInfo" : null,
  "createdTime" : "2016-05-25T10:06:09.686Z",
  "id" : "1892000001004072",
  "to" : "carol@zylker.com",
  "fromEmailAddress" : "techsupport@zylker.com",
  "actions" : [ {
    "method" : "POST",
    "rel" : "send",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/sendDraft?draftThreadId=1892000001004072"
  }, {
    "method" : "DELETE",
    "rel" : "delete",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/draftReply/1892000001004072"
  } ],
  "contentType" : "text/html",
  "status" : "DRAFT",
  "direction" : "out"
}

Draft Facebook Reply

This API drafts a reply to a Facebook post.

POST /api/v1/tickets/{ticket_id}/draftReply

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000094004/draftReply
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "channel" : "FACEBOOK", "content" : "The issue has been fixed" }'

Response Example

{
  "summary" : "The issue has been fixed",
  "isDescriptionThread" : false,
  "canReply" : true,
  "visibility" : "public",
  "author" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/2150000000043591/photo?orgId=3983939",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  },
  "channel" : "FACEBOOK",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "appPhotoURL" : null
  },
  "content" : "The issue has been fixed",
  "hasAttach" : false,
  "responderId" : "2150000000043591",
  "channelRelatedInfo" : null,
  "createdTime" : "2016-07-25T10:04:43.739Z",
  "id" : "2150000002498038",
  "actions" : [ {
    "method" : "POST",
    "rel" : "send",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/sendDraft?draftThreadId=1892000001004072"
  }, {
    "method" : "DELETE",
    "rel" : "delete",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/draftReply/1892000001004072"
  } ],
  "contentType" : "text/html",
  "status" : "DRAFT",
  "direction" : "out"
}

Draft Forum Reply

This API drafts a reply to a forum post.

POST /api/v1/tickets/{ticket_id}/draftReply

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000094004/draftReply
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "channel" : "FORUMS", "content" : "Thanks for your feedback" }'

Response Example

{
  "summary" : "Thanks for your feedback",
  "isDescriptionThread" : false,
  "canReply" : true,
  "visibility" : "public",
  "author" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=3983939",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  },
  "channel" : "FORUMS",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "appPhotoURL" : null
  },
  "content" : "Thanks for your feedback",
  "hasAttach" : false,
  "responderId" : "1892000000042001",
  "channelRelatedInfo" : {
    "isDeleted" : "false",
    "isBestSolution" : "true",
    "externalLink" : null
  },
  "createdTime" : "2016-07-25T09:50:03.578Z",
  "id" : "1892000001121138",
  "actions" : [ {
    "method" : "POST",
    "rel" : "send",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/sendDraft?draftThreadId=1892000001004072"
  }, {
    "method" : "DELETE",
    "rel" : "delete",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/draftReply/1892000001004072"
  } ],
  "contentType" : "text/html",
  "status" : "DRAFT",
  "direction" : "out"
}

Update Draft

This API updates a draft thread created via the EMAIL, FACEBOOK, or FORUM channel.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
channel

string

optional,
max chars : 100

Channel through which the thread originated. Values supported are FACEBOOK, TWITTER, EMAIL and FORUMS .

content

string

optional,
max chars : 16000000

Content of the thread

contentType

string

optional,
max chars : 100

Formatting type of the content. Applicable only for the EMAIL channel. Values supported are html and plainText (default).

isForward

boolean

optional

Key that returns if the thread was sent as a forward. Applicable only for the EMAIL channel.

isPrivate

boolean

optional

Specifies whether the thread is Private or Public. Forwarded threads are always private.

inReplyToThreadId

long

optional

ID of the thread to which current thread is a reply, applicable only for EMAIL channel

attachmentIds
see documentation

list

optional

List of attachment IDs, applicable only for EMAIL channel. For information on how to retrieve attachment IDs, refer to the Uploads section.

direction

string

optional,
max chars : 100

Key that returns whether the thread is incoming or outgoing

fromEmailAddress
see documentation

string

optional,
max chars : 300

Mandatory parameter for creating an email thread. Applicable for EMAIL, ONLINE_CHAT, OFFLINE_CHAT, CUSTOMERPORTAL, and FORUMS channels.

to

string

optional,
max chars : 13000

To email ID in the thread, applicable only for EMAIL channel

cc

string

optional,
max chars : 13000

Email ID to be CC-ed. Applicable only for EMAIL channel

bcc

string

optional,
max chars : 13000

Email ID to be BCC-ed., if any exist. Applicable only for EMAIL channel

hasAttach

boolean

optional

States whether the thread has attachments

ticketStatus

string

optional,
max chars : 120

Status of the ticket. Includes the custom statuses configured in your help desk portal.

PATCH /api/v1/tickets/{ticket_id}/draftReply/{thread_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/tickets/1892000000094004/draftReply/1892000001004072
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "channel" : "EMAIL", "to" : "carol@zylker.com", "fromEmailAddress" : "techsupport@zylker.com", "contentType" : "plainText", "content" : "We are analysing the issue currently , will update you with a solution as early as possible" }'

Response Example

{
  "summary" : "We are analysing the issue currently , will update you with a solution as early as possible",
  "cc" : "",
  "isDescriptionThread" : false,
  "bcc" : "",
  "canReply" : true,
  "visibility" : "public",
  "author" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=3983939",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  },
  "channel" : "EMAIL",
  "source" : {
    "appName" : null,
    "extId" : null,
    "type" : "SYSTEM",
    "permalink" : null,
    "appPhotoURL" : null
  },
  "content" : "We are analysing the issue currently , will update you with a solution as early as possible",
  "isForward" : false,
  "hasAttach" : false,
  "responderId" : "1892000000042001",
  "channelRelatedInfo" : null,
  "createdTime" : "2016-05-25T10:06:09.686Z",
  "id" : "1892000001004072",
  "to" : "carol@zylker.com",
  "fromEmailAddress" : "techsupport@zylker.com",
  "actions" : [ {
    "method" : "POST",
    "rel" : "send",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/sendDraft?draftThreadId=1892000001004072"
  }, {
    "method" : "DELETE",
    "rel" : "delete",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/draftReply/1892000001004072"
  } ],
  "contentType" : "text/html",
  "status" : "DRAFT",
  "direction" : "out"
}

Delete attachment

This API deletes an attachment from a draft thread.

Credit: 1 credit/call

DELETE /api/v1/tickets/{ticket_id}/threads/{thread_id}/attachments/{attachment_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/tickets/1892000000093205/threads/1892000001083008/attachments/1892000001083005
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Tickets Comments

Ticket comments are discussions related to a ticket, primarily between agents in your help desk portal. Private comments are visible only to agents, while public comments are displayed on the customer portal.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the comment

content

string

The comment content.
To mention an agent:
zsu[@user:{zuid}]zsu
To mention a team:
zsu[@team:{teamId}_{teamName}]zsu

Note: This format can also be used to retrieve agent information.

isPublic

boolean

Specifies the comment is public or private.

Note: This key's value can only be set when adding a comment.

commenterId

long

ID of the user who added the comment.

commentedTime

timestamp

Time at which the comment was added.

modifiedTime

timestamp

Time at which the comment was last modified.

commenter

object

Details of the user who added the comment.

attachmentIds

list

List of file attachments included in the comment.

Note: For more details on attachments, refer to the Uploads section.

contentType

string

Specifies the type of the content whether html or plainText. The default value is html.

Example

{
  "commentedTime" : "2014-11-28T10:25:13.000Z",
  "isPublic" : false,
  "id" : "1892000000366001",
  "contentType" : "html",
  "content" : "Sample zsu[@user:55616589]zsu and zsu[@team:31138000001254025_new team]zsu testing",
  "commenterId" : "1892000000042001",
  "mention" : [ {
    "firstName" : "",
    "lastName" : "pandees",
    "photoURL" : null,
    "offSet" : "7",
    "length" : "28",
    "id" : "31138000000573164",
    "type" : "AGENT",
    "email" : "carol@zylker.com",
    "zuid" : "55616589"
  }, {
    "offSet" : "39",
    "length" : "46",
    "name" : "new team",
    "id" : "31138000001254025",
    "type" : "TEAM"
  }, {
    "offSet" : "59",
    "departmentId" : "3113800000634345",
    "entityNumber" : "1342",
    "length" : "26",
    "name" : "",
    "id" : "3113800000143134",
    "type" : "TICKET"
  } ],
  "commenter" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/portalUser/4000000008692/photo?orgId=292828",
    "name" : "Jade Tywin",
    "roleName" : "PortalUser",
    "type" : "END_USER",
    "email" : "jade12tywin@zylker.com"
  }
}


Create ticket comment

This API allows you to add a comment to a ticket. To mention an agent or team, use the below format:

  • To mention an agent: zsu[@user:{zuid}]zsu
  • To mention a team: zsu[@team:{teamId}_{teamName}]zsu

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

Attributes

Param Name
Data Type
Description
content

string

optional,
max chars : 32000

The comment content.
To mention an agent:
zsu[@user:{zuid}]zsu
To mention a team:
zsu[@team:{teamId}_{teamName}]zsu

Note: This format can also be used to retrieve agent information.

isPublic

boolean

optional

Specifies the comment is public or private.

Note: This key's value can only be set when adding a comment.

attachmentIds

list

optional

List of file attachments included in the comment.

Note: For more details on attachments, refer to the Uploads section.

contentType

string

optional,
max chars : 100

Specifies the type of the content whether html or plainText. The default value is html.

POST api/v1/tickets/{ticket_id}/comments

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/4000000528005/comments
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "isPublic" : "true", "attachmentIds" : [ "4000000008892" ], "contentType" : "html", "content" : "zsu[@user:11550965]zsu Please fix this ASAP" }'

Response Example

{
  "modifiedTime" : null,
  "attachments" : [ {
    "size" : "12734",
    "name" : "Attachment.png",
    "id" : "4000000008892",
    "href" : "https://desk.zoho.com/api/v1/tickets/4000000528005/comments/4000000529001/attachments/4000000008892/content"
  } ],
  "commentedTime" : "2017-01-24T14:06:58.193Z",
  "isPublic" : true,
  "id" : "4000000529001",
  "contentType" : "html",
  "content" : "zsu[@user:11550965]zsu Please fix this ASAP",
  "commenterId" : "4000000008692",
  "commenter" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000008692/photo?orgId=292828",
    "name" : "Jade Tywin",
    "roleName" : "LightAgent",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  }
}

Update ticket comment

This API allows you to update a comment to a ticket. To mention an agent or team, use the below format:

  • To mention an agent: zsu[@user:{zuid}]zsu
  • To mention a team: zsu[@team:{teamId}_{teamName}]zsu

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
content

string

optional,
max chars : 32000

The comment content.
To mention an agent:
zsu[@user:{zuid}]zsu
To mention a team:
zsu[@team:{teamId}_{teamName}]zsu

Note: This format can also be used to retrieve agent information.

isPublic

boolean

optional

Specifies the comment is public or private.

Note: This key's value can only be set when adding a comment.

attachmentIds

list

optional

List of file attachments included in the comment.

Note: For more details on attachments, refer to the Uploads section.

contentType

string

optional,
max chars : 100

Specifies the type of the content whether html or plainText. The default value is html.

PATCH api/v1/tickets/{ticket_id}/comments/{comment_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/tickets/4000000528005/comments/4000000529001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "attachmentIds" : [ "4000000008994" ], "content" : "Edited comment." }'

Response Example

{
  "modifiedTime" : "2017-01-24T14:12:45.163Z",
  "attachments" : [ {
    "size" : "12734",
    "name" : "Attachment_edited.png",
    "id" : "4000000008994",
    "href" : "https://desk.zoho.com/api/v1/tickets/4000000528005/comments/4000000529001/attachments/4000000008994/content"
  } ],
  "commentedTime" : "2017-01-24T14:06:58.000Z",
  "isPublic" : true,
  "id" : "4000000529001",
  "contentType" : "plainText",
  "commenterId" : "4000000008692",
  "content" : "Fixed the issue.",
  "commenter" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/portalUser/4000000008692/photo?orgId=292828",
    "name" : "Jade Tywin",
    "roleName" : "PortalUser",
    "type" : "END_USER",
    "email" : "jade12tywin@zylker.com"
  }
}

Delete ticket comment

This API deletes a comment.

Credit: 1 credit/call

DELETE api/v1/tickets/{ticket_id}/comments/{comment_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/tickets/4000000528005/comments/4000000529001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Get ticket comment

This API fetches a ticket comment from your help desk portal.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

String

optional

Secondary information related to the comments The allowed values are mentions and plainText. In the API request, you can pass mention, plainText, or both by using commas to separate them.

GET api/v1/tickets/{ticket_id}/comments/{comment_id}

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/4000000528005/comments/4000000529001?include=mentions
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2017-01-24T14:12:45.000Z",
  "attachments" : [ {
    "size" : "12734",
    "name" : "Attachment_edited.png",
    "id" : "4000000008994",
    "href" : "https://desk.zoho.com/api/v1/tickets/4000000528005/comments/4000000529001/attachments/4000000008994/content"
  } ],
  "commentedTime" : "2017-01-24T14:06:58.000Z",
  "isPublic" : true,
  "plainText" : "Sample zsu[@user:55616589]zsu and zsu[@team:31138000001254025_new team]zsu testing",
  "id" : "4000000529001",
  "contentType" : "plainText",
  "commenterId" : "4000000008692",
  "content" : "<div>Sample zsu[@user:55616589]zsu and zsu[@team:31138000001254025_new team]zsu testing</div>",
  "mention" : [ {
    "firstName" : "",
    "lastName" : "pandees",
    "photoURL" : null,
    "offSet" : "7",
    "length" : "28",
    "id" : "31138000000573164",
    "type" : "AGENT",
    "email" : "carol@zylker.com",
    "zuid" : "55616589"
  }, {
    "offSet" : "39",
    "length" : "46",
    "name" : "new team",
    "id" : "31138000001254025",
    "type" : "TEAM"
  } ],
  "commenter" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000008692/photo?orgId=292828",
    "name" : "Jade Tywin",
    "roleName" : "LightAgent",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  }
}

List all ticket comments

This API lists a particular number of comments recorded on a ticket, based on the limit specified.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional,
range : >=0

Index number starting from which the comments must be fetched

limit

integer

required,
default : 50,
range : 1-100

Number of comments to fetch

sortBy

string

optional,
max chars : 100

Sort by the commentedTime attribute. The default sorting order is ascending. A - prefix denotes descending order of sorting.

String

optional

Secondary information related to the comments The allowed values are mentions and plainText. In the API request, you can pass mention, plainText, or both by using commas to separate them.

GET api/v1/tickets/{ticket_id}/comments

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/4000000528005/comments?include=mentions
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2017-01-24T14:12:45.000Z",
    "attachments" : [ {
      "size" : "12734",
      "name" : "Attachment_edited.png",
      "id" : "4000000008994",
      "href" : "https://desk.zoho.com/api/v1/tickets/4000000528005/comments/4000000529001/attachments/4000000008994/content"
    } ],
    "commentedTime" : "2017-01-24T14:06:58.000Z",
    "isPublic" : true,
    "plainText" : "Sample zsu[@user:55616589]zsu and zsu[@team:31138000001254025_new team]zsu testing",
    "id" : "4000000529001",
    "contentType" : "html",
    "content" : "<div>Sample zsu[@user:55616589]zsu and zsu[@team:31138000001254025_new team]zsu testing</div>",
    "commenterId" : "4000000008692",
    "mention" : [ {
      "firstName" : "",
      "lastName" : "pandees",
      "photoURL" : null,
      "offSet" : "7",
      "length" : "28",
      "id" : "31138000000573164",
      "type" : "AGENT",
      "email" : "carol@zylker.com",
      "zuid" : "55616589"
    }, {
      "offSet" : "39",
      "length" : "46",
      "name" : "new team",
      "id" : "31138000001254025",
      "type" : "TEAM"
    } ],
    "commenter" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000008692/photo?orgId=292828",
      "name" : "Jade Tywin",
      "roleName" : "LightAgent",
      "type" : "AGENT",
      "email" : "jade12tywin@zylker.com"
    }
  }, {
    "modifiedTime" : null,
    "commentedTime" : "2017-01-24T14:14:37.000Z",
    "isPublic" : false,
    "plainText" : "zsu[@user:55616589]zsu Please fix this ASAP",
    "id" : "4000000529007",
    "contentType" : "html",
    "content" : "<div>zsu[@user:55616589]zsu Please fix this ASAP</div>",
    "commenterId" : "4000000008692",
    "mention" : [ {
      "firstName" : "",
      "lastName" : "pandees",
      "photoURL" : null,
      "offSet" : "0",
      "length" : "28",
      "id" : "31138000000573164",
      "type" : "AGENT",
      "email" : "carol@zylker.com",
      "zuid" : "55616589"
    } ],
    "commenter" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/portalUser/4000000008692/photo?orgId=292828",
      "name" : "Jade Tywin",
      "roleName" : "PortalUser",
      "type" : "END_USER",
      "email" : "jade12tywin@zylker.com"
    }
  } ]
}

Get a ticket comment history

This API fetches the history of comments recorded on a ticket, including instances of adding and editing the comments.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional,
range : >=0

Index number, starting from which the comment activities must be fetched

String

optional

Secondary information related to the comments The allowed values are mentions and plainText. In the API request, you can pass mention, plainText, or both by using commas to separate them.

limit

integer

required,
default : 50,
range : 1-100

Number of comment activities to fetch

GET api/v1/tickets/{ticket_id}/comments/{comment_id}/history

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/4000000528005/comments/4000000529001/history
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "attachments" : [ "sample.png", "sam.txt" ],
    "commentedTime" : "2013-11-04T11:21:07.912Z",
    "isPublic" : false,
    "commenterId" : 13231241244,
    "content" : "hello comment",
    "commenter" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/2000000012629/photo?orgId=292828",
      "name" : "Jade Tywin",
      "roleName" : "CEO",
      "type" : "AGENT",
      "email" : "hagdsag@zylker.com"
    }
  }, {
    "attachments" : [ "sample.png", "sam.txt" ],
    "commentedTime" : "2013-11-04T11:21:07.912Z",
    "isPublic" : true,
    "commenterId" : 13231241244,
    "content" : "hello comment",
    "commenter" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/2000000012629/photo?orgId=292828",
      "name" : "Jade Tywin",
      "roleName" : "LightAgent",
      "type" : "AGENT",
      "email" : "hagdsag@zylker.com"
    }
  } ]
}

Ticket TimeEntry

Ticket time entry refers to the time taken by an agent to resolve a ticket.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the time entry

ticketId

long

ID of the ticket

requestChargeType

string

Type of request in the ticket. Values supported are Customer Service, Upgrade Request, Product Consultation, and Support and Maintenance.

ownerId

long

ID of the user associated with the time entry

object

Module to which the time entry is associated.

executedTime

timestamp

Time when work related to the time entry was started.

hoursSpent

integer

Number of hours in the time entry.

minutesSpent

integer

Number of minutes in the time entry.

secondsSpent

integer

Number of seconds in the time entry.

agentCostPerHour

double

Per hour cost of an agent.

additionalCost

double

Additional cost incurred

totalCost

double

Total cost incurred

fixedCost

double

Fixed cost

description

string

Description of the time entry

customFields

deprecated

list

User-defined fields related to the time entry.

cf

JSONObject

User-defined fields related to the time entry.

createdTime

timestamp

Time of creating the ticket time entry

modifiedTime

timestamp

Time of modifying the ticket time entry

createdBy

string

User who created the time entry.

modifiedBy

string

User who modified the time entry.

mode

String

Mode configured in time tracking. Supported values are Manual and Auto

isBillable

boolean

Billing Preference

billingType

String

Billing type configured in the time tracking. Possible values are FIXED_COST_FOR_TICKETS FIXED_COST_FOR_AGENTS SPECIFIC_COST_PER_AGENT and SPECIFIC_COST_PER_PROFILE

invoiceId

long

ID of the invoice related to the time entry

Example

{
  "owner" : {
    "firstName" : "Eswer",
    "lastName" : "KM",
    "photoURL" : "https://contacts.zoho.com/file?t=user&ID=4851669",
    "name" : "Eswer KM",
    "id" : "4000000008688129"
  },
  "secondsSpent" : "0",
  "parent" : {
    "ticketNumber" : "1004",
    "subject" : "Ticket subject",
    "id" : "4000000031007",
    "type" : "TICKETS"
  },
  "cf" : { },
  "executedTime" : null,
  "departmentId" : "4000000008694",
  "fixedCost" : null,
  "minutesSpent" : "0",
  "creatorId" : "4000000008688",
  "agentCostPerHour" : null,
  "description" : "Time Entry description",
  "hoursSpent" : "2",
  "ownerId" : "4000000008688",
  "isBillable" : true,
  "mode" : "MANUAL",
  "isTrashed" : "false",
  "billingType" : "FIXED_COST_FOR_TICKETS",
  "createdTime" : "2016-05-30T09:58:08.149Z",
  "invoiceId" : "4000000008688123",
  "id" : "4000000033010",
  "requestChargeType" : "Product Consultation",
  "additionalCost" : null,
  "totalCost" : null
}


Get Ticket Time Entry

This API fetches a time entry recorded for a ticket.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

string

optional,
max chars : 100

Secondary information related to the time entry. Value supported is owner.

GET /api/v1/tickets/{ticket_id}/timeEntry/{timeEntry_id}

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/4000000031007/timeEntry/4000000033010?include=owner
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "owner" : {
    "firstName" : "Eswer",
    "lastName" : "KM",
    "photoURL" : "https://contacts.zoho.com/file?t=user&ID=4851669",
    "name" : "Eswer KM",
    "id" : "4000000008688129"
  },
  "parent" : {
    "ticketNumber" : "1004",
    "subject" : "Ticket subject",
    "id" : "4000000031007",
    "type" : "TICKETS"
  },
  "secondsSpent" : "21",
  "cf" : {
    "cf_timeentryname" : "time1"
  },
  "executedTime" : "2016-06-22T20:30:00.000Z",
  "departmentId" : "4000000008694",
  "fixedCost" : null,
  "minutesSpent" : "23",
  "creatorId" : "4000000008692",
  "agentCostPerHour" : "3.0",
  "description" : "Time Entry description",
  "hoursSpent" : "3",
  "ownerId" : "4000000008692",
  "isBillable" : true,
  "mode" : "MANUAL",
  "isTrashed" : "false",
  "billingType" : "FIXED_COST_FOR_TICKETS",
  "createdTime" : "2016-06-16T07:24:44.000Z",
  "invoiceId" : "4000000008688123",
  "id" : "4000000033001",
  "requestChargeType" : "Customer Service",
  "additionalCost" : "10.0",
  "totalCost" : "20.17"
}

List Ticket Time Entries

This API lists the time entries associated with a ticket.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
module

string

optional,
max chars : 100

Module from which the time entries must be fetched. Values allowed are tickets and tasks.

from

integer

optional

Index number, starting from which the time entries must be fetched

limit

integer

optional,
range : 1-100

Number of time entries to fetch

orderBy

String

optional

Key that sorts the time entries in ascending or descending order, based on the executedTime attribute. Values allowed are ASC (default) and DESC.

string

optional,
max chars : 100

Secondary information related to the time entry. Value supported is owner.

billStatus

String

optional

Key that filters time entries, based on their billing status: nonBillable , billable or billed

createdTimeRange

timestamp

optional

Key that filters time entries created in a particular period of time. Enter the from and to dates in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ; for example, createdTimeRange=2017-11-05T00:00:00.000Z,2018-09-05T23:59:00.000Z.

modifiedTimeRange

timestamp

optional

Key that filters time entries whose details were modified in a particular period of time. Enter the from and to dates in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ; for example, modifiedTimeRange=2017-11-05T00:00:00.000Z,2018-09-05T23:59:00.000Z.

GET /api/v1/tickets/{ticket_id}/timeEntry

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/4000000031007/timeEntry?from=0&limit=10&include=owner&billStatus=billed&createdTimeRange=2016-06-16T06:00:00.000Z,2016-06-16T20:00:00.000Z&modifiedTimeRange=2016-06-16T06:00:00.000Z,2016-06-16T20:00:00.000Z
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "owner" : {
      "firstName" : "Eswer",
      "lastName" : "KM",
      "photoURL" : "https://contacts.zoho.com/file?t=user&ID=4851669",
      "name" : "Eswer KM",
      "id" : "4000000008688129"
    },
    "secondsSpent" : "21",
    "parent" : {
      "ticketNumber" : "1004",
      "subject" : "Ticket subject",
      "id" : "4000000031007",
      "type" : "TICKETS"
    },
    "cf" : {
      "cf_timeentryname" : "time1"
    },
    "executedTime" : "2016-06-22T20:30:00.000Z",
    "fixedCost" : null,
    "departmentId" : "4000000008694",
    "minutesSpent" : "23",
    "creatorId" : "4000000008692",
    "agentCostPerHour" : "3.0",
    "description" : "Time Entry description",
    "hoursSpent" : "3",
    "ownerId" : "4000000008692",
    "isBillable" : true,
    "mode" : "MANUAL",
    "isTrashed" : "false",
    "billingType" : "FIXED_COST_FOR_TICKETS",
    "createdTime" : "2016-06-16T07:24:44.000Z",
    "invoiceId" : "4000000008688123",
    "id" : "4000000033001",
    "requestChargeType" : "Customer Service",
    "additionalCost" : "10.0",
    "totalCost" : "20.17"
  }, {
    "owner" : {
      "firstName" : "Eswer",
      "lastName" : "KM",
      "photoURL" : "https://contacts.zoho.com/file?t=user&ID=4851669",
      "name" : "Eswer KM",
      "id" : "4000000008688129"
    },
    "secondsSpent" : "21",
    "parent" : {
      "ticketNumber" : "1004",
      "subject" : "Ticket subject",
      "id" : "4000000031007",
      "type" : "TICKETS"
    },
    "cf" : {
      "cf_timeentryname" : "time2"
    },
    "executedTime" : "2016-06-24T19:30:00.000Z",
    "departmentId" : "4000000008694",
    "fixedCost" : null,
    "minutesSpent" : "34",
    "creatorId" : "4000000008692",
    "agentCostPerHour" : "10.0",
    "description" : "Time Entry description",
    "hoursSpent" : "3",
    "ownerId" : "4000000012090",
    "isBillable" : true,
    "mode" : "MANUAL",
    "isTrashed" : "false",
    "billingType" : "FIXED_COST_FOR_TICKETS",
    "createdTime" : "2016-06-16T07:46:39.000Z",
    "invoiceId" : "4000000008688123",
    "id" : "4000000033006",
    "requestChargeType" : "Product Consultation",
    "additionalCost" : "10.0",
    "totalCost" : "45.72"
  }, {
    "owner" : {
      "firstName" : "Eswer",
      "lastName" : "KM",
      "photoURL" : "https://contacts.zoho.com/file?t=user&ID=4851669",
      "name" : "Eswer KM",
      "id" : "4000000008688129"
    },
    "secondsSpent" : "22",
    "parent" : {
      "ticketNumber" : "1004",
      "subject" : "Ticket subject",
      "id" : "4000000031007",
      "type" : "TICKETS"
    },
    "cf" : {
      "cf_timeentryname" : "time3"
    },
    "executedTime" : "2016-06-13T19:30:00.000Z",
    "fixedCost" : null,
    "departmentId" : "4000000008694",
    "minutesSpent" : "22",
    "creatorId" : "4000000008692",
    "agentCostPerHour" : "20.0",
    "description" : "Time Entry description",
    "hoursSpent" : "32",
    "ownerId" : "4000000008692",
    "isBillable" : true,
    "mode" : "MANUAL",
    "isTrashed" : "false",
    "billingType" : "FIXED_COST_FOR_TICKETS",
    "createdTime" : "2016-06-16T07:49:52.000Z",
    "invoiceId" : "4000000008688123",
    "id" : "4000000033011",
    "requestChargeType" : "Customer Service",
    "additionalCost" : "10.0",
    "totalCost" : "657.46"
  } ]
}

Add Ticket Time Entry

This API adds a time entry in your help desk

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
requestChargeType

string

optional,
max chars : 120

Type of request in the ticket. Values supported are Customer Service, Upgrade Request, Product Consultation, and Support and Maintenance.

ownerId

long

optional

ID of the user associated with the time entry

executedTime

timestamp

required

Time when work related to the time entry was started.

hoursSpent

integer

optional,
range : 0-999

Number of hours in the time entry.

minutesSpent

integer

optional

Number of minutes in the time entry.

secondsSpent

integer

optional

Number of seconds in the time entry.

agentCostPerHour

double

optional

Per hour cost of an agent.

additionalCost

double

optional

Additional cost incurred

fixedCost

double

optional

Fixed cost

description

string

optional,
max chars : 65535

Description of the time entry

customFields
deprecated

list

optional

User-defined fields related to the time entry.

cf

JSONObject

optional

User-defined fields related to the time entry.

mode

String

optional

Mode configured in time tracking. Supported values are Manual and Auto

isBillable

boolean

optional

Billing Preference

invoiceId

long

optional

ID of the invoice related to the time entry

POST /api/v1/tickets/{ticket_id}/timeEntry

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/4000000031007/timeEntry
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "secondsSpent" : "21", "cf" : { "cf_timeentryname" : "time2" }, "executedTime" : "2016-06-22T20:30:00.000Z", "minutesSpent" : "23", "agentCostPerHour" : "3.0", "description" : "Time Entry description", "hoursSpent" : "3", "invoiceId" : "4000000008688123", "ownerId" : "4000000008692", "requestChargeType" : "Customer Service", "additionalCost" : "10.0", "totalCost" : "20.17" }'

Response Example

{
  "secondsSpent" : "21",
  "parent" : {
    "ticketNumber" : "1004",
    "subject" : "Ticket subject",
    "id" : "4000000031007",
    "type" : "TICKETS"
  },
  "cf" : {
    "cf_timeentryname" : "time2"
  },
  "executedTime" : "2016-06-22T20:30:00.000Z",
  "fixedCost" : null,
  "departmentId" : "4000000008694",
  "minutesSpent" : "23",
  "creatorId" : "4000000008692",
  "agentCostPerHour" : "3.0",
  "description" : "Time Entry description",
  "hoursSpent" : "3",
  "ownerId" : "4000000008692",
  "isBillable" : true,
  "mode" : "MANUAL",
  "isTrashed" : "false",
  "billingType" : "FIXED_COST_FOR_TICKETS",
  "createdTime" : "2016-06-21T05:52:00.828Z",
  "invoiceId" : "4000000008688123",
  "id" : "4000000045001",
  "requestChargeType" : "Customer Service",
  "additionalCost" : "10.0",
  "totalCost" : "20.17"
}

Update Ticket Time Entry

This API updates an existing ticket time entry

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
requestChargeType

string

optional,
max chars : 120

Type of request in the ticket. Values supported are Customer Service, Upgrade Request, Product Consultation, and Support and Maintenance.

ownerId

long

optional

ID of the user associated with the time entry

executedTime

timestamp

optional

Time when work related to the time entry was started.

hoursSpent

integer

optional,
range : 0-999

Number of hours in the time entry.

minutesSpent

integer

optional

Number of minutes in the time entry.

secondsSpent

integer

optional

Number of seconds in the time entry.

agentCostPerHour

double

optional

Per hour cost of an agent.

additionalCost

double

optional

Additional cost incurred

fixedCost

double

optional

Fixed cost

description

string

optional,
max chars : 65535

Description of the time entry

customFields
deprecated

list

optional

User-defined fields related to the time entry.

cf

JSONObject

optional

User-defined fields related to the time entry.

mode

String

optional

Mode configured in time tracking. Supported values are Manual and Auto

isBillable

boolean

optional

Billing Preference

invoiceId

long

optional

ID of the invoice related to the time entry

PATCH /api/v1/tickets/{ticket_id}/timeEntry/{timeEntry_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/tickets/4000000031007/timeEntry/4000000034008
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "description" : "Time Entry description", "requestChargeType" : "Customer Service" }'

Response Example

{
  "secondsSpent" : "21",
  "parent" : {
    "ticketNumber" : "1004",
    "associatedTicketId" : "4000000031007",
    "subject" : "Task subject",
    "id" : "4000000031008",
    "type" : "TASKS"
  },
  "cf" : {
    "cf_timeentryname" : "time1"
  },
  "executedTime" : "2016-06-22T20:30:00.000Z",
  "fixedCost" : null,
  "departmentId" : "4000000008694",
  "minutesSpent" : "23",
  "creatorId" : "4000000008692",
  "agentCostPerHour" : "3.0",
  "description" : "Time Entry description",
  "hoursSpent" : "3",
  "ownerId" : "4000000008692",
  "isBillable" : true,
  "mode" : "MANUAL",
  "isTrashed" : "false",
  "billingType" : "FIXED_COST_FOR_TICKETS",
  "createdTime" : "2016-06-21T05:52:00.000Z",
  "invoiceId" : "4000000008688123",
  "id" : "4000000045001",
  "requestChargeType" : "Customer Service",
  "additionalCost" : "10.0",
  "totalCost" : "20.17"
}

Delete Ticket Time Entry

This API deletes a time entry recorded for a ticket

Credit: 1 credit/call

DELETE /api/v1/tickets/{ticket_id}/timeEntry/{timeEntry_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/tickets/4000000031007/timeEntry/4000000034008
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Get summation of Ticket Time Entries

This API fetches the sum of time entries associated with a ticket.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
module

string

optional,
max chars : 100

Module from which the time entries must be fetched. Values allowed are tickets and tasks.

billStatus

String

optional

Key that filters time entries, based on their billing status: nonBillable , billable or billed

GET /api/v1/tickets/{ticket_id}/timeEntrySummation

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/4000000031007/timeEntrySummation?billStatus=billed
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "totalMins" : 5,
  "totalHours" : 12,
  "totalCosts" : 1000,
  "totalSeconds" : 24
}

Get Ticket Time Entries by Billing Type

This API fetches time entries for a ticket created after recently modified time of the given billing type from your help desk

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
billingType

String

required

Allowed values are FIXED_COST_FOR_TICKETS FIXED_COST_FOR_AGENTS SPECIFIC_COST_PER_AGENT SPECIFIC_COST_PER_PROFILE

string

optional,
max chars : 100

Allowed value is : owner

from

integer

optional

Index number, starting from which the time entries must be fetched

limit

integer

optional,
range : 1-100

Number of time entries to fetch

GET /api/v1/tickets/{ticket_id}/timeEntryByBillingType

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/4000000031007/timeEntryByBillingType?billingType=FIXED_COST_FOR_TICKETS&include=owner&from=0&limit=10
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "owner" : {
      "firstName" : "Eswer",
      "lastName" : "KM",
      "photoURL" : "https://contacts.zoho.com/file?t=user&ID=4851669",
      "name" : "Eswer KM",
      "id" : "4000000008688129"
    },
    "secondsSpent" : "0",
    "parent" : {
      "ticketNumber" : "1004",
      "subject" : "Ticket subject",
      "id" : "4000000031007",
      "type" : "TICKETS"
    },
    "cf" : { },
    "executedTime" : null,
    "fixedCost" : null,
    "departmentId" : "4000000008694",
    "minutesSpent" : "0",
    "agentCostPerHour" : null,
    "description" : null,
    "hoursSpent" : "0",
    "ownerId" : "15000000009148",
    "isBillable" : true,
    "mode" : "MANUAL",
    "isTrashed" : "false",
    "createdBy" : "15000000009148",
    "billingType" : "FIXED_COST_FOR_TICKETS",
    "createdTime" : "2018-01-10T18:45:17.000Z",
    "invoiceId" : "4000000008688123",
    "id" : "15000000031007",
    "requestChargeType" : "Customer Service",
    "additionalCost" : null,
    "totalCost" : "0.0"
  }, {
    "owner" : {
      "firstName" : "Eswer",
      "lastName" : "KM",
      "photoURL" : "https://contacts.zoho.com/file?t=user&ID=4851669",
      "name" : "Eswer KM",
      "id" : "4000000008688129"
    },
    "secondsSpent" : "0",
    "parent" : {
      "ticketNumber" : "1004",
      "subject" : "Ticket subject",
      "id" : "4000000031007",
      "type" : "TICKETS"
    },
    "cf" : { },
    "executedTime" : "2017-12-20T18:09:20.000Z",
    "departmentId" : "4000000008694",
    "fixedCost" : null,
    "minutesSpent" : "0",
    "agentCostPerHour" : null,
    "description" : "Dummy#2",
    "hoursSpent" : "1",
    "ownerId" : "15000000009148",
    "isBillable" : true,
    "mode" : "MANUAL",
    "isTrashed" : "false",
    "createdBy" : "15000000009148",
    "billingType" : "FIXED_COST_FOR_TICKETS",
    "createdTime" : "2018-01-10T15:20:47.000Z",
    "invoiceId" : "4000000008688123",
    "id" : "15000000029314",
    "requestChargeType" : "Upgrade Request",
    "additionalCost" : null,
    "totalCost" : "0.0"
  } ]
}

Ticket Timer

Ticket timer is aĀ feature that records the time an agent spends on resolving a ticket.

ATTRIBUTES

Attribute Name
Data Type
Description
hours

integer

No. of hours spent

minutes

integer

No. of minutes spent

seconds

integer

No. of seconds spent

state

integer

State of the timer. States can be RUNNING, PAUSED, INIT

Example

{
  "hours" : 0,
  "seconds" : 26,
  "minutes" : 5,
  "state" : "RUNNING"
}


Get Ticket Timer

This API fetches the time elapsed in the ticket timer, along with the current state

Credit: 1 credit/call

GET /api/v1/tickets/{ticket_id}/timer

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET http://desk.zoho.com/api/v1/tickets/13000000021183/timer
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "hours" : 0,
  "seconds" : 26,
  "minutes" : 5,
  "state" : "RUNNING"
}

Performs Ticket Timer actions

This API performs timer-related actions, such as START, STOP, PAUSE and RESUMEĀ 

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
action

String

required

Action of the timer.Supported actions are START, STOP, PAUSE and RESUME

POST /api/v1/tickets/{ticket_id}/timer

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST http://desk.zoho.com/api/v1/tickets/13000000021183/timer?action=START
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "hours" : 0,
  "seconds" : 0,
  "minutes" : 0,
  "state" : "RUNNING"
}

Ticket Attachments

Ticket attachments are files you attach to a ticket to aid quick resolution.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the attachment Note : This ID can be used only by the user who uploaded the attachment. If another user tries to use the attachment ID in other APIs such as sendEmailReply, draftEmailReply, etc an error will be thrown.

creatorId

long

ID of user who attached the file

createdTime

timestamp

Time of attaching the file

name

string

Name of the attachment

isPublic

boolean

Key that returns if the attachment is public or not

size

long

Size of the attachment

Example

{
  "creator" : {
    "firstName" : "Jade",
    "lastName" : "Tywin",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000047001/photo?orgId=298902",
    "id" : "1892000000047001",
    "email" : "jade@zylker.com"
  },
  "size" : "1079",
  "creatorId" : "1892000000047001",
  "name" : "ScreenShot",
  "createdTime" : "2013-11-06T10:25:03.000Z",
  "isPublic" : true,
  "id" : "1892000000047041",
  "href" : "https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments/1892000000047041/content"
}


List ticket attachments

This API lists the files attached to a ticket.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
sortBy

string

optional,
max chars : 100

Sort by the createdTime attribute. The default sorting order is ascending. A - prefix denotes descending order of sorting.

from

integer

optional

Index number, starting from which the attachments must be fetched

limit

integer

optional,
range : 1-100

Number of attachments to fetch

isPublic

Boolean

optional

Key that returns if the attachment is public or no

string

optional,
max chars : 100

Secondary information related to the attachments. Value allowed is creator, which returns the details of users who added the attachments.

GET /api/v1/tickets/{ticket_id}/attachments

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL
  • Java

$ curl -X GET https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments?include=creator
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AttachmentAPI attachment = ZDesk.getAttachmentAPIInstance(mailId); <br/> GetTicketAttachmentsFilter filter = new GetTicketAttachmentsFilter.Builder().setIsPublic(isPublic).build(); <br/> List&lt;Attachment&gt; response = attachment.getTicketAttachments( ticketId, from, limit, sortBy, isAscending, include, filter );

Response Example

{
  "data" : [ {
    "creator" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000047001/photo?orgId=298902",
      "id" : "1892000000047001",
      "email" : "jade@zylker.com"
    },
    "size" : "1079",
    "creatorId" : "1892000000047001",
    "name" : "issues.txt",
    "createdTime" : "2013-11-06T10:25:03.000Z",
    "isPublic" : true,
    "id" : "1892000000047041",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments/1892000000047041/content"
  }, {
    "creator" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000047001/photo?orgId=298902",
      "id" : "1892000000047001",
      "email" : "jade@zylker.com"
    },
    "size" : "135222",
    "creatorId" : "1892000000047001",
    "name" : "guidelines.pdf",
    "createdTime" : "2014-03-05T06:16:15.000Z",
    "isPublic" : true,
    "id" : "1892000000089041",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments/1892000000089041/content"
  }, {
    "creator" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000047001/photo?orgId=298902",
      "id" : "1892000000047001",
      "email" : "jade@zylker.com"
    },
    "size" : "97951",
    "creatorId" : "1892000000042001",
    "name" : "CreditHistory.pdf",
    "createdTime" : "2016-06-21T10:15:34.000Z",
    "isPublic" : false,
    "id" : "1892000001052021",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments/1892000001052021/content"
  }, {
    "creator" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000047001/photo?orgId=298902",
      "id" : "1892000000047001",
      "email" : "jade@zylker.com"
    },
    "size" : "97951",
    "creatorId" : "1892000000042001",
    "name" : "values.txt",
    "createdTime" : "2016-06-21T10:15:49.000Z",
    "isPublic" : false,
    "id" : "1892000001052025",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments/1892000001052025/content"
  } ]
}

Create Ticket attachment

This API attaches a file to a ticket.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
isPublic

Boolean

optional

Field that determines whether the attachment is public or private

File Params

file

Content-Type:multipart/form-data

File to attach to the ticket

POST /api/v1/tickets/{ticket_id}/attachments

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL
  • Java

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AttachmentAPI attachment = ZDesk.getAttachmentAPIInstance(mailId); <br/> Attachment response = attachment.createTicketAttachment( file, ticketId, filter );

Response Example

{
  "size" : "32",
  "creatorId" : "1892000000042001",
  "name" : "issues.txt",
  "createdTime" : "2016-05-30T08:32:51.338Z",
  "isPublic" : false,
  "id" : "1892000001010001",
  "href" : "https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments/1892000001010001/content"
}

Update Ticket attachment

This API updates an existing attachment.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
isPublic

boolean

optional

Whether to Show

PATCH /api/v1/tickets/{ticket_id}/attachments/{attachment_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL
  • Java

$ curl -X PATCH https://desk .zoho.com/api/v1/tickets/1892000001004024/attachments/1892000001010001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "isPublic" : true }'

AttachmentAPI attachment = ZDesk.getAttachmentAPIInstance(mailId); <br/> Attachment response = attachment.updateTicketAttachment( attachmentId, ticketId, attachmentObj );

Response Example

200

Delete Ticket attachment

This API deletes an attachment from a ticket.

Credit: 1 credit/call

DELETE /api/v1/tickets/{ticket_id}/attachments/{attachment_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL
  • Java

$ curl -X DELETE https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments/1892000001010001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AttachmentAPI attachment = ZDesk.getAttachmentAPIInstance(mailId); <br/> boolean response = attachment.deleteTicketAttachment( attachmentId, ticketId );

Response Example

200

Ticket Approvals

Often, customer support agents do not have the authority to make decisions related to ticket resolution. When the intervention of a support manager or any other higher authority is required in the decision-making process, the agent can submit the ticket for approval.

ATTRIBUTES

Attribute Name
Data Type
Description
approverIds

list

IDs of users to whom the approval must be submitted

subject

string

Subject of the approval

status

string

Status of the approval

description

String

Description of the approval

requestedTime

timestamp

Time when the approval was requested

processedTime

timestamp

Time when the approval was processed

id

long

ID of the approval

requester

object

Details of user who requested for the approval

object

Details of user who processed the approval

Example

{
  "approver" : {
    "firstName" : "",
    "lastName" : "Saranraj",
    "photoURL" : "https://desk.zoho.com/api/v1/agent/5000000013292/photo",
    "id" : "5000000013292",
    "email" : null
  },
  "requester" : {
    "firstName" : "",
    "lastName" : "Smith",
    "photoURL" : "https://desk.zoho.com/api/v1/agent/5000000012902/photo",
    "id" : "5000000012902",
    "email" : null
  },
  "requestedTime" : "2018-06-18T14:22:21.871Z",
  "subject" : "saran test approval",
  "description" : "",
  "id" : "5000000026001",
  "status" : "Pending",
  "processedTime" : null
}


List approvals

This API lists the approvals submitted in your help desk.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional

Index number starting from which the approvals must be fetched

limit

integer

optional,
range : 1-100

Number of approvals to fetch

status

string

optional,
max chars : 100

Key that filters the approvals by status

GET /api/v1/tickets/{ticket_id}/approvals

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/1892000000094004/approvals
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "approver" : {
      "firstName" : "",
      "lastName" : "raj",
      "photoUrl" : "https://desk.zoho.com/api/v1/agent/4000000015001/photo",
      "id" : "4000000015001",
      "email" : "carol@zylker.com"
    },
    "requester" : {
      "firstName" : "",
      "lastName" : "saran",
      "photoUrl" : "https://desk.zoho.com/api/v1/agent/4000000012629/photo",
      "id" : "4000000012629",
      "email" : "carol@zylker.com"
    },
    "requestedTime" : "2016-06-21T13:16:14.000Z",
    "subject" : "Testing",
    "description" : "testing",
    "id" : "1892000001054081",
    "status" : "Approved",
    "processedTime" : "2018-02-07T10:12:35.000Z"
  } ]
}

Get approval

This API fetches the details of an approval.

Credit: 1 credit/call

GET /api/v1/tickets/{ticket_id}/approvals/{approval_id}

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/1892000000094004/approvals/1892000001054081
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "approver" : {
    "firstName" : "saran",
    "lastName" : "raj",
    "photoUrl" : "https://desk.zoho.com/api/v1/agent/4000000015001/photo",
    "id" : "4000000015001",
    "email" : null
  },
  "requester" : {
    "firstName" : "aravind",
    "lastName" : "a",
    "photoUrl" : "https://desk.zoho.com/api/v1/agent/4000000012629/photo",
    "id" : "4000000012629",
    "email" : null
  },
  "requestedTime" : "2016-06-21T13:16:14.000Z",
  "subject" : "Testing",
  "processedTime " : "2018-02-07T10:12:35.000Z",
  "description" : "testing",
  "id" : "1892000001054081",
  "status" : "Rejected"
}

Create approval

This API creates an approval in your help desk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
approverIds

list

required

IDs of users to whom the approval must be submitted

subject

string

required,
max chars : 1000

Subject of the approval

status

string

optional,
max chars : 100

Status of the approval

description

String

optional

Description of the approval

POST /api/v1/tickets/{ticket_id}/approvals

OAuth Scope

Desk.tickets.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1892000000094004/approvals
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "approverIds" : [ "1892000000042001" ], "subject" : "New approval", "description" : "new app desc" }'

Response Example

{
  "approvals" : [ {
    "approver" : {
      "firstName" : "saran",
      "lastName" : "raj",
      "photoUrl" : "https://desk.zoho.com/api/v1/agent/4000000015001/photo",
      "id" : "4000000015001",
      "email" : null
    },
    "requester" : {
      "firstName" : "aravind",
      "lastName" : "a",
      "photoUrl" : "https://desk.zoho.com/api/v1/agent/4000000012629/photo",
      "id" : "4000000012629",
      "email" : null
    },
    "requestedTime" : "2016-06-21T13:16:14.000Z",
    "subject" : "Testing",
    "description" : "testing",
    "id" : "1892000001054081",
    "status" : "PENDING",
    "processedTime" : null
  } ]
}

Update approval

This API updates the details of an existing ticket approval.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
approverIds

list

optional

IDs of users to whom the approval must be submitted

subject

string

optional,
max chars : 1000

Subject of the approval

status

string

optional,
max chars : 100

Status of the approval

description

String

optional

Description of the approval

PATCH /api/v1/tickets/{ticket_id}/approvals/{approval_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/tickets/1892000000094004/approvals/1892000001054081
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "status" : "Approved/Rejected" }'

Response Example

{
  "approver" : {
    "firstName" : "saran",
    "lastName" : "raj",
    "photoUrl" : "https://desk.zoho.com/api/v1/agent/4000000015001/photo",
    "id" : "4000000015001",
    "email" : null
  },
  "requester" : {
    "firstName" : "aravind",
    "lastName" : "a",
    "photoUrl" : "https://desk.zoho.com/api/v1/agent/4000000012629/photo",
    "id" : "4000000012629",
    "email" : null
  },
  "requesterId" : "1892000000042001",
  "requestedTime" : "2016-06-21T13:16:14.000Z",
  "approverId" : "1892000000042001",
  "subject" : "Testing",
  "description" : "testing",
  "id" : "1892000001054081",
  "status" : "Approved",
  "processedTime" : "2018-02-07T10:12:35.000Z"
}

Ticket Followers

Ticket followers are users who follow a ticket to track the progress made in resolving it.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the user

firstName

string

Name of the user

lastName

string

Name of the user

email

string

Email ID of the user

photoURL

string

URL to access the photo of the user You need ZohoContacts.userphoto.READ OAuth Scope to access this API.

following

string

Key that returns the module being followed. Values allowed are
tickets,

contacts,
or
accounts

Example

{
  "firstName" : "",
  "lastName" : "deskagent",
  "photoURL" : "https://desk.zoho.com/api/v1/agent/5000000012902/photo",
  "following" : "ticket",
  "id" : "5000000012902",
  "email" : "deskagent@zylker.com"
}


Add ticket followers

This API adds one or more users to the followers list of a ticket.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
followerIds

list

required

the list of ids to be added as follower

POST api/v1/tickets/{ticket_id}/addFollowers

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/4000000190069/addFollowers
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "followerIds" : [ 5000000013292 ] }'

Response Example

204

Remove ticket followers

This API removes one or more users from the followers list of a ticket.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
followerIds

list

required

the list of ids to be added as follower

POST api/v1/tickets/{ticket_id}/removeFollowers

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/4000000190069/removeFollowers
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "followerIds" : [ 5000000013292 ] }'

Response Example

204

Get ticket followers

This API fetches the list of users following a ticket.

Note:
Sometimes, followers of a contact/account indirectly end up as ticket followers if the ticket is associated with the contact/account they follow. In that case, the following key returns the value of the original module the user follows--*contact* or account.

Even in a case where the user first followed the ticket and then followed the contact/account associated with it, the following key returns the value contact or account. This is because the contact/account is the parent resource of the ticket.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET api/v1/tickets/{ticket_id}/followers

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/4000000190069/followers
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "firstName" : "",
    "lastName" : "agent",
    "photoURL" : "https://desk.zoho.com/api/v1/agent/5000000012903/photo",
    "following" : "ticket",
    "id" : "5000000012903",
    "email" : "agent@zylker.com"
  }, {
    "firstName" : "",
    "lastName" : "deskagent",
    "photoURL" : "https://desk.zoho.com/api/v1/agent/5000000012902/photo",
    "following" : "contact",
    "id" : "5000000012902",
    "email" : "deskagent@zylker.com"
  } ]
}

Ticket Tags

Ticket tags refer to the keywords added to tickets to ensure quick grouping, filtering, and reference.

Search tags

This API searches for tags added in your help desk portal.

Credit: 3 credits/call, 1 credit (with unique ID)

Query Params

Param Name
Data Type
Description
from

int

optional

Index number, starting from which the tags must be fetched

limit

int

optional,
range : 1-100

Number of tags to fetch

departmentId
see documentation

long

required

ID of the department from which the tags must be fetched.

searchVal

String

optional

Search keyword related to the tag.

GET api/v1/tags/search

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tags/search
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "name" : "sample",
    "tagType" : "MANUAL",
    "id" : 123234324
  }, {
    "name" : "sample",
    "tagType" : "SYSTEM",
    "id" : 123234324
  } ]
}

List ticket tags

This API lists the ticket tags added in your help desk portal.ļæ½

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId
see documentation

long

required

ID of the department from which the tags must be fetched

sortBy

string

optional,
max chars : 100

Key that sorts tags by a specific attribute: createdTime or count. The default sorting order is descending.

from

int

optional

Index number, starting from which the tags must be fetched

limit

int

optional,
range : 1-100

Number of tags to fetch

GET api/v1/ticketTags

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/ticketTags
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "ticketCount" : "10",
    "name" : "sample",
    "tagType" : "MANUAL",
    "id" : "12312312312"
  }, {
    "ticketCount" : "0",
    "name" : "sample",
    "tagType" : "MANUAL",
    "id" : "12312312312"
  } ]
}

List tickets by tag

This API lists tickets containing the tag specified.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional

Index number, starting from which tickets must be fetched.

limit

int

optional,
range : 1-100

Number of tickets to list

assignee

string

optional,
max chars : 100

User assigned to resolve the ticket. Values allowed are Unassigned or a valid assigneeId. You can pass multiple assigneeIds as comma-separated values.

channel

string

optional,
max chars : 100

Channel through which the tickets were received. You can pass multiple values by separating them with commas.

status

string

optional,
max chars : 100

Resolution status of the tickets. You can pass multiple values by separating them with commas.

receivedInDays

integer

optional

Number of days since the tickets were received. Values allowed are 15, 30 , 90.

priority

string

optional,
max chars : 100

Priority of the tickets. You can pass multiple values by separating them with commas.

sortBy

string

optional,
max chars : 100

Key that sorts the tickets by a specific attribute: dueDate, recentThread, createdTime, or ticketNumber. The default sorting order is ascending. A - prefix denotes a descending order of sorting.

string

optional,
max chars : 100

Additional information related to the tickets. Values allowed are: contacts, products, departments, team, isRead and assignee. You can pass multiple values by separating them with commas.

GET api/v1/tags/{tag_id}/tickets

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tags/1892000001010007/tickets?include=assignee,contacts,departments,team,isRead
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "ticketNumber" : "101",
    "statusType" : "Open",
    "subject" : "Real Time analysis Requirement",
    "dueDate" : "2016-06-21T16:16:16.000Z",
    "departmentId" : "1892000000006907",
    "channel" : "Email",
    "isRead" : true,
    "language" : "English",
    "closedTime" : null,
    "contact" : {
      "lastName" : "Carol",
      "firstName" : "Lucas",
      "phone" : "1 888 900 9646",
      "mobile" : "8838109870",
      "id" : "1892000000042032",
      "isSpam" : false,
      "type" : "paid",
      "email" : "carol@zylker.com",
      "account" : {
        "website" : "www.desk.com",
        "accountName" : "desk Account",
        "id" : "1892000000975382"
      }
    },
    "createdTime" : "2013-11-04T11:21:07.000Z",
    "id" : "1892000000042034",
    "department" : {
      "name" : "dasdasdasd",
      "id" : "1892000000006907"
    },
    "email" : "carol@zylker.com",
    "customerResponseTime" : "2013-11-04T11:21:07.912Z",
    "productId" : null,
    "contactId" : "1892000000042032",
    "threadCount" : "121",
    "team" : {
      "name" : "kjsdfjks",
      "id" : "8920000000069071",
      "logoUrl" : "https://desk.zoho.com/api/v1/teams/8920000000069071/logo?orgId=11278831"
    },
    "priority" : "High",
    "assigneeId" : "1892000000056007",
    "commentCount" : "1",
    "accountId" : "189200000005345",
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "teamId" : "8920000000069071",
    "assignee" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000056007/photo?orgId=298902",
      "id" : "1892000000056007",
      "email" : "jack@zylker.com"
    },
    "isSpam" : false,
    "status" : "Open"
  }, {
    "ticketNumber" : "169",
    "statusType" : "Open",
    "subject" : "Hi. There is a sudden delay in the processing of the orders. Check this with high priority",
    "dueDate" : null,
    "departmentId" : "1892000000006907",
    "channel" : "Facebook",
    "isRead" : true,
    "closedTime" : null,
    "contact" : {
      "lastName" : "Richard",
      "firstName" : "Lucas",
      "phone" : "1 888 900 9646",
      "mobile" : "8838109870",
      "id" : "1892000000093203",
      "isSpam" : false,
      "type" : "paid",
      "email" : "richard@zylker.com",
      "account" : {
        "website" : "www.desk.com",
        "accountName" : "desk Account",
        "id" : "1892000000975382"
      }
    },
    "createdTime" : "2014-03-06T09:34:53.000Z",
    "id" : "1892000000093205",
    "department" : {
      "name" : "dasdasdasd",
      "id" : "1892000000006907"
    },
    "email" : "carol@zylker.com",
    "customerResponseTime" : "2014-03-11T07:51:29.618Z",
    "productId" : null,
    "contactId" : "1892000000093203",
    "threadCount" : "43",
    "team" : {
      "name" : "kjsdfjks",
      "id" : "8920000000069071",
      "logoUrl" : "https://desk.zoho.com/api/v1/teams/8920000000069071/logo?orgId=11278831"
    },
    "priority" : null,
    "assigneeId" : "1892000000042001",
    "commentCount" : "0",
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "teamId" : "8920000000069071",
    "assignee" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=298902",
      "id" : "1892000000042001",
      "email" : "jack@zylker.com"
    },
    "isSpam" : false,
    "status" : "Open"
  } ]
}

Associate Tag

This API adds a single tag or multiple tags to a ticket.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
tags

list

required

Names of the tags

POST /api/v1/tickets/{ticket_id}/associateTag

OAuth Scope

Desk.tickets.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/4000000528005/associateTag
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "tags" : [ "sample", "ticket", "tag" ] }'

Response Example

{
  "data" : [ {
    "name" : "sample",
    "tagType" : "MANUAL",
    "id" : 123234324
  }, {
    "name" : "ticket",
    "tagType" : "MANUAL",
    "id" : 1232343244
  }, {
    "name" : "tag",
    "tagType" : "SYSTEM",
    "id" : 12323432434
  } ]
}

Dissociate Tag

This API removes a single tag or multiple tags from a ticket.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
tags

list

required

Names of the tags

POST /api/v1/tickets/{ticket_id}/dissociateTag

OAuth Scope

Desk.tickets.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/4000000528005/dissociateTag
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "tags" : [ "sample", "ticket", "tag" ] }'

Response Example

200

List tags in a ticket

This API lists tags associated with a ticket.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET api/v1/tickets/{ticket_id}/tags

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/4000000528005/tags
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "tags" : [ {
    "name" : "sample",
    "tagType" : "MANUAL",
    "id" : 123234324
  }, {
    "name" : "sample",
    "tagType" : "MANUAL",
    "id" : 123234324
  } ]
}

List recent tags

This API lists the five most recent tags associated with tickets.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId
see documentation

long

required

ID of the department from which the tags must be fetched

GET api/v1/recentTicketTags

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/recentTicketTags
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "ticketCount" : "10",
    "name" : "sample",
    "tagType" : "MANUAL",
    "id" : "12312312312"
  }, {
    "ticketCount" : "0",
    "name" : "sample",
    "tagType" : "MANUAL",
    "id" : "12312312312"
  } ]
}

Update recent tags

This API adds a tag to the list of recently viewed tags. tag_id is a mandatory parameter in the API request.

Credit: 1 credit/call

POST /api/v1/recentTicketTags/{tag_id}

OAuth Scope

Desk.tickets.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/recentTicketTags/42312412421
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Replace the specified tags

This API replaces a tag to the specified tag. tag_id is a mandatory parameter in the API request.

Credit: 500 credits/call

Attributes

Param Name
Data Type
Description
id

long

optional

Tag ID of the Replacing Tag

PATCH /api/v1/tags/{tag_id}/replace

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/tags/12312312312/replace
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "id" : "12312312312" }'

Response Example

204

Ticket Templates

Ticket templates are provisions that automatically populate predefined values in ticket fields, thereby helping users save time and effort while adding new tickets.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the ticket template

ticketTemplateName

string

Name of the ticket template

showInCustomerPortal

boolean

Key that specifies if the template must be displayed in the help center or not

layoutId

long

ID of the ticket layout from which the template is derived

ticketTemplateValues

list

Values to auto-populate in the different fields in the template

Example

{
  "showInCustomerPortal" : true,
  "ticketTemplateName" : "temp1",
  "id" : "4000000020001",
  "layoutId" : "4000000020012",
  "ticketTemplateValues" : {
    "subCategory" : null,
    "cf" : {
      "cf_severity_percentage" : "0.0"
    },
    "productId" : null,
    "contactId" : null,
    "subject" : null,
    "departmentId" : "4000000007073",
    "dueDate" : null,
    "channel" : null,
    "description" : null,
    "secondaryContacts" : [ "4000000009076", "4000000009062" ],
    "priority" : null,
    "classification" : null,
    "assigneeId" : null,
    "accountId" : null,
    "phone" : "9876545645",
    "category" : null,
    "email" : "jacks@zylker.com",
    "status" : null
  }
}


Create ticket template

This API helps create a ticket template in your help desk portal.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
ticketTemplateName

string

required,
max chars : 200

Name of the ticket template

showInCustomerPortal

boolean

optional

Key that specifies if the template must be displayed in the help center or not

ticketTemplateValues

list

required

Values to auto-populate in the different fields in the template

POST api/v1/ticketTemplates

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/ticketTemplates
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "showInCustomerPortal" : true, "ticketTemplateName" : "temp1", "ticketTemplateValues" : { "cf" : { "cf_severity_percentage" : "0.0" }, "phone" : "9876545645", "departmentId" : "4000000007073", "email" : "jacks@zylker.com" }, "layoutId" : "4000000020012" }'

Response Example

{
  "showInCustomerPortal" : true,
  "ticketTemplateName" : "temp1",
  "id" : "4000000020001",
  "layoutId" : "4000000020012",
  "ticketTemplateValues" : {
    "subCategory" : null,
    "cf" : {
      "cf_severity_percentage" : "0.0"
    },
    "productId" : null,
    "contactId" : null,
    "subject" : null,
    "departmentId" : "4000000007073",
    "dueDate" : null,
    "channel" : null,
    "description" : null,
    "secondaryContacts" : [ "4000000009076", "4000000009062" ],
    "priority" : null,
    "classification" : null,
    "assigneeId" : null,
    "accountId" : null,
    "phone" : "9876545645",
    "category" : null,
    "email" : "jacks@zylker.com",
    "status" : null
  }
}

Get ticket template

This API fetches the details of a particular ticket template.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

string

optional,
max chars : 100

Additional information related to the template. Values allowed are:Ā contacts,Ā products, departments,Ā team, andĀ assignee. You can pass multiple values by separating them using commas in the API request.

GET api/v1/ticketTemplates/{ticketTemplates_id}

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/ticketTemplates/4000000020001?include=departments,assignee,contacts,team,products
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "showInCustomerPortal" : true,
  "ticketTemplateName" : "temp1",
  "id" : "4000000020001",
  "layoutId" : "4000000020012",
  "ticketTemplateValues" : {
    "subCategory" : null,
    "product" : null,
    "cf" : {
      "cf_severity_percentage" : "0.0"
    },
    "productId" : null,
    "contactId" : null,
    "subject" : null,
    "departmentId" : "4000000007073",
    "dueDate" : null,
    "channel" : null,
    "description" : null,
    "secondaryContacts" : [ "4000000009076", "4000000009062" ],
    "priority" : null,
    "classification" : null,
    "assigneeId" : null,
    "accountId" : null,
    "phone" : "9876545645",
    "contact" : null,
    "assignee" : null,
    "department" : {
      "name" : "testing department",
      "id" : "4000000007073"
    },
    "category" : null,
    "account" : null,
    "email" : "jacks@zylker.com",
    "status" : null
  }
}

List ticket templates

This API lists a particular number of ticket templates, based on the limit specified.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional,
range : >=0

Index number, starting from which the templates must be fetched

departmentId
see documentation

long

optional

ID of the department from which templates must be fetched

layoutId

long

optional

ID of the layout from which templated must be fetched for the given department ID

limit

integer

required,
default : 10,
range : 1-100

Number of templates to list. The default value is 10 and the maximum value supported is 100

showInCustomerPortal

boolean

optional

Visibility of the templates in the help center

templateName
deprecated

String

optional

Name of the template

searchStr

String

optional

String to search for ticket templates by ticket template name

GET api/v1/ticketTemplates

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/ticketTemplates
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "showInCustomerPortal" : true,
    "ticketTemplateName" : "Template1",
    "id" : "4000000020001",
    "layoutId" : "4000000020121"
  }, {
    "showInCustomerPortal" : false,
    "ticketTemplateName" : "Template2",
    "id" : "4000000020063",
    "layoutId" : "4000000020431"
  } ]
}

Update ticket template

This API helps update the details of a particular ticket template.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
ticketTemplateName

string

optional,
max chars : 200

Name of the ticket template

showInCustomerPortal

boolean

optional

Key that specifies if the template must be displayed in the help center or not

ticketTemplateValues

list

optional

Values to auto-populate in the different fields in the template

PATCH api/v1/ticketTemplates/{ticketTemplates_id}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/ticketTemplates/4000000020001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "showInCustomerPortal" : false, "ticketTemplateName" : "temptest", "ticketTemplateValues" : { "cf" : { "cf_severity_percentage" : "60" }, "productId" : "4000000009012", "subject" : "UrgentProblem", "departmentId" : "4000000007073", "email" : "jacks@zylker.com" } }'

Response Example

{
  "showInCustomerPortal" : true,
  "ticketTemplateName" : "temptest",
  "id" : "4000000020001",
  "layoutId" : "4000000020012",
  "ticketTemplateValues" : {
    "subCategory" : null,
    "cf" : {
      "cf_severity_percentage" : "0.0"
    },
    "productId" : "4000000009012",
    "contactId" : null,
    "subject" : "UrgentProblem",
    "departmentId" : "4000000007073",
    "dueDate" : null,
    "channel" : null,
    "description" : null,
    "secondaryContacts" : [ "4000000009076", "4000000009062" ],
    "priority" : null,
    "classification" : null,
    "assigneeId" : null,
    "accountId" : null,
    "phone" : "9876545645",
    "category" : null,
    "email" : "jacks@zylker.com",
    "status" : null
  }
}

Delete ticket template

This API deletes a ticket template from your help desk portal.

Credit: 6 credits/record

Attributes

Param Name
Data Type
Description
ids

list

required

Array of Entity id to be deleted

POST api/v1/ticketTemplates/deleteMany

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/ticketTemplates/deleteMany
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "ids" : [ "4000000083313", "4000000082105" ] }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "2000000021011",
    "errors" : null
  }, {
    "success" : false,
    "id" : "4000000082105",
    "errors" : {
      "errorCode" : "UNPROCESSABLE_ENTITY",
      "httpCode" : "422"
    }
  } ]
}

Pinned Conversations

A ticket in a support system often includes multiple conversations. As a result, crucial information might not be easily accessible.This feature allows users to pin threads or comments, ensuring they are prominently displayed whenever the ticket is viewed.

ATTRIBUTES

Attribute Name
Data Type
Description
type

string

The type of entity to pin. The allowed values are COMMENTS and THREADS

isPublic

boolean

The visibility of the pin.

entityId

long

ID of the entity to pin.

ids

list

IDs of the pins to delete.

Example

{
  "pinnedTime" : "2024-05-07T05:24:34Z",
  "isPublic" : true,
  "id" : "1235000000013295",
  "pinnedBy" : {
    "firstName" : "Nirmal",
    "lastName" : "Kumar",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1235000000010078/photo?orgId=61815772",
    "id" : "1235000000010078",
    "email" : "nirmalkumar.rs@zylker.com"
  },
  "type" : "comments",
  "pinnedEntity" : {
    "modifiedTime" : "2024-05-06T13:05:50.000Z",
    "attachments" : [ ],
    "encodedContent" : "&lt;div style&#x3d;&quot;font-size&#x3a; 13px&#x3b; font-family&#x3a; Arial, Helvetica, sans-serif&quot;&gt;&lt;div&gt;zsu&#x5b;&#x40;user&#x3a;76260187&#x5d;zsu a comment.&lt;br&gt;&lt;&#x2f;div&gt;&lt;&#x2f;div&gt;",
    "commentedTime" : "2024-05-06T13:05:50.000Z",
    "isPublic" : false,
    "id" : "1235000000013468",
    "contentType" : "html",
    "content" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, sans-serif\"><div>zsu[@user:76260187]zsu a comment.<br></div></div>",
    "commenterId" : "1235000000010078",
    "commenter" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1235000000010078/photo?orgId=61815772",
      "firstName" : "Immanuel",
      "lastName" : "T",
      "id" : "1235000000010078",
      "type" : "AGENT",
      "email" : "immanuel.t@zylker.com"
    },
    "impersonatedUser" : null,
    "mention" : [ {
      "firstName" : "Kamalesh",
      "lastName" : "SN",
      "photoURL" : "https://deskt.zoho.com/api/v1/agents/1235000000034048/photo?orgId=61815772",
      "offSet" : "77",
      "length" : "22",
      "id" : "1235000000034048",
      "type" : "AGENT",
      "email" : "kamalesh.sn@zylker.com",
      "zuid" : "76260187"
    } ]
  }
}


Create a pin on the ticket

This API creates a new pin on the ticket.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
type

string

required,
max chars : 100

The type of entity to pin. The allowed values are COMMENTS and THREADS

isPublic

boolean

optional

The visibility of the pin.

entityId

long

required

ID of the entity to pin.

POST api/v1/tickets/{ticket_id}/pins

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1235000000013359/pins
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "isPublic" : false, "entityId" : "1235000000013468", "type" : "comments" }'

Response Example

{
  "pinnedTime" : "2024-05-07T05:24:34Z",
  "isPublic" : false,
  "id" : "1235000000013295",
  "pinnedBy" : {
    "firstName" : "Nirmal",
    "lastName" : "Kumar",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1235000000010078/photo?orgId=61815772",
    "id" : "1235000000010078",
    "email" : "nirmalkumar@zylker.com"
  },
  "type" : "comments",
  "pinnedEntity" : {
    "modifiedTime" : "2024-05-06T13:05:50.000Z",
    "attachments" : [ ],
    "encodedContent" : "&lt;div style&#x3d;&quot;font-size&#x3a; 13px&#x3b; font-family&#x3a; Arial, Helvetica, sans-serif&quot;&gt;&lt;div&gt;zsu&#x5b;&#x40;user&#x3a;76260187&#x5d;zsu a comment.&lt;br&gt;&lt;&#x2f;div&gt;&lt;&#x2f;div&gt;",
    "commentedTime" : "2024-05-06T13:05:50.000Z",
    "isPublic" : false,
    "id" : "1235000000013468",
    "contentType" : "html",
    "content" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, sans-serif\"><div>zsu[@user:76260187]zsu a comment.<br></div></div>",
    "commenterId" : "1235000000010078",
    "commenter" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1235000000010078/photo?orgId=61815772",
      "firstName" : "Immanuel",
      "lastName" : "T",
      "id" : "1235000000010078",
      "type" : "AGENT",
      "email" : "immanuel.t@zylker.com"
    },
    "impersonatedUser" : null,
    "mention" : [ {
      "firstName" : "Kamalesh",
      "lastName" : "SN",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1235000000034048/photo?orgId=61815772",
      "offSet" : "77",
      "length" : "22",
      "id" : "1235000000034048",
      "type" : "AGENT",
      "email" : "kamalesh.sn@zylker.com",
      "zuid" : "76260187"
    } ]
  }
}

Get pins of a ticket

This API fetches the list of pins of a particular ticket.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
types

string

optional,
max chars : 100

The type of pins to fetch as a comma separated list. The allowed values are comments and threads

string

optional,
max chars : 100

Secondary information related to the pinned conversations. Values allowed are pinnedBy, and mentions.

GET api/v1/tickets/{ticket_id}/pins

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/tickets/1235000000013359/pins?types=comments,threads
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "pinnedTime" : "2024-05-07T05:24:34Z",
    "isPublic" : true,
    "id" : "1235000000013295",
    "pinnedBy" : {
      "firstName" : "Nirmal",
      "lastName" : "Kumar",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1235000000010078/photo?orgId=61815772",
      "id" : "1235000000010078",
      "email" : "nirmalkumar@zylker.com"
    },
    "type" : "comments",
    "pinnedEntity" : {
      "modifiedTime" : "2024-05-06T13:05:50.000Z",
      "attachments" : [ ],
      "encodedContent" : "&lt;div style&#x3d;&quot;font-size&#x3a; 13px&#x3b; font-family&#x3a; Arial, Helvetica, sans-serif&quot;&gt;&lt;div&gt;zsu&#x5b;&#x40;user&#x3a;76260187&#x5d;zsu a comment.&lt;br&gt;&lt;&#x2f;div&gt;&lt;&#x2f;div&gt;",
      "commentedTime" : "2024-05-06T13:05:50.000Z",
      "isPublic" : false,
      "id" : "1235000000013468",
      "contentType" : "html",
      "content" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, sans-serif\"><div>zsu[@user:76260187]zsu a comment.<br></div></div>",
      "commenterId" : "1235000000010078",
      "commenter" : {
        "photoURL" : "https://desk.zoho.com/api/v1/agents/1235000000010078/photo?orgId=61815772",
        "firstName" : "Immanuel",
        "lastName" : "T",
        "id" : "1235000000010078",
        "type" : "AGENT",
        "email" : "immanuel.t@zylker.com"
      },
      "impersonatedUser" : null,
      "mention" : [ {
        "firstName" : "Kamalesh",
        "lastName" : "SN",
        "photoURL" : "https://deskt.zoho.com/api/v1/agents/1235000000034048/photo?orgId=61815772",
        "offSet" : "77",
        "length" : "22",
        "id" : "1235000000034048",
        "type" : "AGENT",
        "email" : "kamalesh.sn@zylker.com",
        "zuid" : "76260187"
      } ]
    }
  }, {
    "pinnedTime" : "2024-05-06T05:32:47Z",
    "isPublic" : true,
    "id" : "1235000000014147",
    "pinnedBy" : {
      "firstName" : "Nirmal",
      "lastName" : "Kumar",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/1235000000010078/photo?orgId=61815772",
      "id" : "1235000000010078",
      "email" : "nirmalkumar@zylker.com"
    },
    "type" : "threads",
    "pinnedEntity" : {
      "sentiment" : "NEGATIVE",
      "isDescriptionThread" : false,
      "canReply" : true,
      "bcc" : "",
      "channel" : "EMAIL",
      "aspects" : [ ],
      "source" : {
        "appName" : null,
        "extId" : null,
        "permalink" : null,
        "type" : "SYSTEM",
        "appPhotoURL" : null
      },
      "lastRatingIconURL" : null,
      "impersonatedUser" : null,
      "channelRelatedInfo" : null,
      "createdTime" : "2024-04-22T10:32:08.000Z",
      "id" : "1235000000013283",
      "contentType" : "text/html",
      "direction" : "in",
      "summary" : "Email reply...",
      "cc" : "",
      "keyWords" : [ ],
      "visibility" : "public",
      "scheduleInfo" : null,
      "author" : {
        "photoURL" : null,
        "firstName" : "Immanuel",
        "lastName" : "T",
        "id" : "1235000000011288",
        "type" : "END_USER",
        "email" : "immanuel.t@zylker.com"
      },
      "isForward" : false,
      "hasAttach" : true,
      "respondedIn" : null,
      "attachmentCount" : "1",
      "readReceipts" : null,
      "to" : "\"zylker support\"<support@zylker.com>",
      "fromEmailAddress" : "\"kamelesh sn\"<kamelsh.sn@zylker.com>",
      "actions" : [ ],
      "status" : "SUCCESS"
    }
  } ]
}

Unpin a ticket's pin

This API deletes one or more pins from a ticket.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
ids

list

required

IDs of the pins to delete.

POST api/v1/tickets/{ticket_id}/pins/unpin

OAuth Scope

Desk.tickets.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/tickets/1235000000013359/pins/unpin
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "ids" : [ 1235000000013295, 1235000000013345 ] }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "1235000000013295"
  }, {
    "success" : false,
    "id" : "1235000000013345",
    "error" : {
      "errorMessage" : "Pin not found",
      "errorCode" : "Not Found",
      "httpCode" : 404
    }
  } ]
}

Ticket Count

Ticket count refers to the number of tickets raised across all the departments in your help desk.

Note:
1. Query parameters, especially those of string type, pertaining to count APIs must be URL-encoded.
2. New resources added to your help desk might take some time to be indexed for search. Therefore, if API responses do not reflect the updated ticket count, wait for a few minutes and try again.


Example of CustomField Data Without URL Encoding:
customField1=cf_ModelName:F3z3
customField2=cf_phone:9022334455
customField3=cf_permanentAddress: Wall Street

Example of CustomField Data with URL Encoding:
customField1=cf_ModelName%3AF3z3
customField2=cf_phone%3A9022334455
customField3=cf_permanentAddress%3AWall%20Street

Get ticket count

This API returns the ticket count of your help desk.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
departmentId

long

optional

ID of the department from which ticket count must be fetched. If you do not pass this parameter in the API request, ticket count across all departments will be returned.Ā 

assigneeId

long

optional

ID of the agent assigned to resolve the ticket

contactId

long

optional

ID of the contact who raised the ticket

category

String

optional

Category of the ticket

customField1

String

optional

User-defined field in the ticket

customField2

String

optional

User-defined field in the ticket

customField3

String

optional

User-defined field in the ticket

createdTimeRange

timestamp

optional

Key that filters tickets created in a particular period of time.
Enter the from and to dates in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ;

For example,
createdTimeRange=2017-11-05T00:00:00.000Z,2018-09-05T23:59:00.000Z

modifiedTimeRange

timestamp

optional

Key that filters tickets modified in a particular period of time.
Enter the from and to dates in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ;

For example,
modifiedTimeRange=2017-11-05T00:00:00.000Z,2018-09-05T23:59:00.000Z

GET /api/v1/ticketsCount

OAuth Scope

Desk.search.READ , Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/ticketsCount
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "count" : 200
}

Get ticket count by field

This API returns the ticket count of your help desk, filtered by a specific field.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
departmentId

long

optional

ID of the department from which ticket count must be fetched. If you do not pass this parameter in the API request, ticket count across all departments will be returned.Ā 

assigneeId

long

optional

ID of the agent assigned to resolve the ticket

contactId

long

optional

ID of the contact who raised the ticket

accountId

long

optional

ID of the account to which the ticket is mapped

category

String

optional

Category of the ticket

customField1

String

optional

User-defined field in the ticket

customField2

String

optional

User-defined field in the ticket

customField3

String

optional

User-defined field in the ticket

createdTimeRange

timestamp

optional

Key that filters tickets created in a particular period of time.
Enter the from and to dates in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ;

For example,
createdTimeRange=2017-11-05T00:00:00.000Z,2018-09-05T23:59:00.000Z

modifiedTimeRange

timestamp

optional

Key that filters tickets modified in a particular period of time.
Enter the from and to dates in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ;

For example,
modifiedTimeRange=2017-11-05T00:00:00.000Z,2018-09-05T23:59:00.000Z

field

String

required

Field by which the ticket count must be filtered. Values allowed are.
status,

priority,

channel,

statusType,

spam,

escalated,

overDue

GET /api/v1/ticketsCountByFieldValues

OAuth Scope

Desk.search.READ , Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/ticketsCountByFieldValues?field=statusType,status,priority,channel,spam,overDue,escalated
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "overDue" : 2,
  "statusType" : [ {
    "count" : "13",
    "value" : "OPEN"
  }, {
    "count" : "0",
    "value" : "ONHOLD"
  }, {
    "count" : "0",
    "value" : "CLOSED"
  } ],
  "escalated" : 10,
  "channel" : [ {
    "count" : "6",
    "value" : "twitter"
  }, {
    "count" : "3",
    "value" : "forums"
  }, {
    "count" : "2",
    "value" : "chat"
  }, {
    "count" : "2",
    "value" : "web"
  } ],
  "priority" : [ {
    "count" : "8",
    "value" : "high"
  }, {
    "count" : "5",
    "value" : "medium"
  } ],
  "spam" : 10,
  "status" : [ {
    "count" : "9",
    "value" : "open"
  }, {
    "count" : "4",
    "value" : "escalated"
  } ]
}

Timetracking

Time tracking refers to the process of recording the time agents take to resolve tickets. This information can be recorded manually or automatically, based on your organization's requirement and preference. APIs related to this endpoint help you configure the settings for automated time tracking.

ATTRIBUTES

Attribute Name
Data Type
Description
isTimeTracking

boolean

Time tracking refers to the process of recording the time agents take to resolve tickets. This information can be recorded manually or automatically, based on your organization's requirement and preference. APIs related to this endpoint help you configure the settings for automated time tracking.

depId

long

ID of the department in which time tracking must be enabled or disabled.

isBillable

boolean

Key that returns if the time tracked is billable or not.

billingType

String

Type of billing configured. Values supported are FIXED_COST_FOR_TICKETS FIXED_COST_FOR_AGENTS SPECIFIC_COST_PER_AGENT and SPECIFIC_COST_PER_PROFILE

fixedCost

Double

Cost fixed for either billing category - by ticket or by agent.

agents

list

List of agents in the department

profiles

list

List of user profiles defined in the department

timerAction

String

Action that the active timers in the department must perform. Values supported are ADD and DISCARD

activityPreference

list

Activity preference(s)

ticketPreference

list

Ticket preference(s)

Example

{
  "ticketPreference" : {
    "autoTrackAction" : {
      "fieldUpdate" : true,
      "onChatComplete" : true,
      "onRemoteAssist" : true,
      "commentActions" : true,
      "approvalActions" : true,
      "sendReply" : true,
      "manualDraft" : true,
      "resolutionActions" : true,
      "attachmentActions" : true
    },
    "isReviewTime" : "false",
    "isAutoPause" : "true",
    "isAutoTimer" : "true",
    "isHideTimeTracking" : "false"
  },
  "billingType" : "SPECIFIC_COST_PER_AGENT",
  "activityPreference" : {
    "isTasksEnabled" : "true",
    "trackMode" : "CONSECUTIVE",
    "isEventsEnabled" : "true",
    "canAutoTrackCalls" : "true"
  },
  "fixedCost" : "1000",
  "profiles" : [ {
    "cost" : "100",
    "id" : "1"
  }, {
    "cost" : "200",
    "id" : "2"
  } ],
  "depId" : "1892000000006907",
  "isTimeTracking" : "true",
  "timerAction" : "ADD",
  "isBillable" : true,
  "agents" : [ {
    "cost" : "100",
    "id" : "1"
  }, {
    "cost" : "200",
    "id" : "2"
  } ]
}


Create TimeTrackSettings

This API adds a TimeTracking configuration to your helpdesk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
isTimeTracking

boolean

required

Time tracking refers to the process of recording the time agents take to resolve tickets. This information can be recorded manually or automatically, based on your organization's requirement and preference. APIs related to this endpoint help you configure the settings for automated time tracking.

depId

long

required

ID of the department in which time tracking must be enabled or disabled.

isBillable

boolean

optional

Key that returns if the time tracked is billable or not.

billingType

String

optional

Type of billing configured. Values supported are FIXED_COST_FOR_TICKETS FIXED_COST_FOR_AGENTS SPECIFIC_COST_PER_AGENT and SPECIFIC_COST_PER_PROFILE

fixedCost

Double

optional

Cost fixed for either billing category - by ticket or by agent.

agents

list

optional

List of agents in the department

profiles

list

optional

List of user profiles defined in the department

timerAction

String

optional

Action that the active timers in the department must perform. Values supported are ADD and DISCARD

activityPreference

list

optional

Activity preference(s)

ticketPreference

list

optional

Ticket preference(s)

POST /api/v1/timeTrackSettings

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/timeTrackSettings
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "ticketPreference" : { "autoTrackAction" : { "fieldUpdate" : true, "onChatComplete" : true, "onRemoteAssist" : true, "commentActions" : true, "approvalActions" : true, "sendReply" : true, "manualDraft" : true, "resolutionActions" : true, "attachmentActions" : true }, "isReviewTime" : "false", "isAutoPause" : "true", "isAutoTimer" : "true", "isHideTimeTracking" : "false" }, "billingType" : "SPECIFIC_COST_PER_AGENT", "activityPreference" : { "isTasksEnabled" : "true", "trackMode" : "CONSECUTIVE", "isEventsEnabled" : "true", "canAutoTrackCalls" : "true" }, "fixedCost" : "1000", "profiles" : [ { "cost" : "100", "id" : "1" }, { "cost" : "200", "id" : "2" } ], "depId" : "1892000000006907", "isTimeTracking" : "true", "isBillable" : "true", "agents" : [ { "cost" : "100", "id" : "1" }, { "cost" : "200", "id" : "2" } ] }'

Response Example

{
  "ticketPreference" : {
    "autoTrackAction" : {
      "fieldUpdate" : true,
      "onChatComplete" : true,
      "onRemoteAssist" : true,
      "commentActions" : true,
      "approvalActions" : true,
      "sendReply" : true,
      "manualDraft" : true,
      "resolutionActions" : true,
      "attachmentActions" : true
    },
    "isReviewTime" : false,
    "isAutoPause" : true,
    "isAutoTimer" : true,
    "isHideTimeTracking" : false
  },
  "billingType" : "SPECIFIC_COST_PER_AGENT",
  "activityPreference" : {
    "isTasksEnabled" : true,
    "trackMode" : "CONSECUTIVE",
    "isEventsEnabled" : true,
    "canAutoTrackCalls" : true
  },
  "fixedCost" : "1000",
  "profiles" : [ {
    "cost" : "100",
    "id" : "1"
  }, {
    "cost" : "200",
    "id" : "2"
  } ],
  "depId" : "1892000000006907",
  "isTimeTracking" : true,
  "isBillable" : true,
  "agents" : [ {
    "cost" : "100",
    "id" : "1"
  }, {
    "cost" : "200",
    "id" : "2"
  } ]
}

Update TimeTrackSettings

This API updates an existing TimeTracking configuration.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
isTimeTracking

boolean

optional

Time tracking refers to the process of recording the time agents take to resolve tickets. This information can be recorded manually or automatically, based on your organization's requirement and preference. APIs related to this endpoint help you configure the settings for automated time tracking.

depId

long

optional

ID of the department in which time tracking must be enabled or disabled.

isBillable

boolean

optional

Key that returns if the time tracked is billable or not.

billingType

String

optional

Type of billing configured. Values supported are FIXED_COST_FOR_TICKETS FIXED_COST_FOR_AGENTS SPECIFIC_COST_PER_AGENT and SPECIFIC_COST_PER_PROFILE

fixedCost

Double

optional

Cost fixed for either billing category - by ticket or by agent.

agents

list

optional

List of agents in the department

profiles

list

optional

List of user profiles defined in the department

timerAction

String

optional

Action that the active timers in the department must perform. Values supported are ADD and DISCARD

activityPreference

list

optional

Activity preference(s)

ticketPreference

list

optional

Ticket preference(s)

PUT /api/v1/timeTrackSettings

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PUT https://desk.zoho.com/api/v1/timeTrackSettings
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "ticketPreference" : { "autoTrackAction" : { "fieldUpdate" : true, "onChatComplete" : true, "onRemoteAssist" : true, "commentActions" : true, "approvalActions" : true, "sendReply" : true, "manualDraft" : true, "resolutionActions" : true, "attachmentActions" : true }, "isReviewTime" : "false", "isAutoPause" : "true", "isAutoTimer" : "true", "isHideTimeTracking" : "false" }, "billingType" : "SPECIFIC_COST_PER_AGENT", "activityPreference" : { "isTasksEnabled" : "true", "trackMode" : "CONSECUTIVE", "isEventsEnabled" : "true", "canAutoTrackCalls" : "true" }, "fixedCost" : "1000", "profiles" : [ { "cost" : "100", "id" : "1" }, { "cost" : "200", "id" : "2" } ], "depId" : "1892000000006907", "isTimeTracking" : "true", "timerAction" : "ADD", "isBillable" : "true", "agents" : [ { "cost" : "100", "id" : "1" }, { "cost" : "200", "id" : "2" } ] }'

Response Example

{
  "ticketPreference" : {
    "autoTrackAction" : {
      "fieldUpdate" : true,
      "onChatComplete" : true,
      "onRemoteAssist" : true,
      "commentActions" : true,
      "approvalActions" : true,
      "sendReply" : true,
      "manualDraft" : true,
      "resolutionActions" : true,
      "attachmentActions" : true
    },
    "isReviewTime" : "false",
    "isAutoPause" : "true",
    "isAutoTimer" : "true",
    "isHideTimeTracking" : "false"
  },
  "billingType" : "SPECIFIC_COST_PER_AGENT",
  "activityPreference" : {
    "isTasksEnabled" : "true",
    "trackMode" : "CONSECUTIVE",
    "isEventsEnabled" : "true",
    "canAutoTrackCalls" : "true"
  },
  "fixedCost" : "1000",
  "profiles" : [ {
    "cost" : "100",
    "id" : "1"
  }, {
    "cost" : "200",
    "id" : "2"
  } ],
  "depId" : "1892000000006907",
  "isTimeTracking" : "true",
  "isBillable" : "true",
  "agents" : [ {
    "cost" : "100",
    "id" : "1"
  }, {
    "cost" : "200",
    "id" : "2"
  } ]
}

Get TimeTrack Settings

This API fetches the details of the TimeTrack Settings configured in your helpdesk.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
depId

long

required

ID of the department

GET /api/v1/timeTrackSettings

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/timeTrackSettings
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "ticketPreference" : {
    "autoTrackAction" : {
      "fieldUpdate" : true,
      "onChatComplete" : true,
      "onRemoteAssist" : true,
      "commentActions" : true,
      "approvalActions" : true,
      "sendReply" : true,
      "manualDraft" : true,
      "resolutionActions" : true,
      "attachmentActions" : true
    },
    "isReviewTime" : "false",
    "isAutoPause" : "true",
    "isAutoTimer" : "true",
    "isHideTimeTracking" : "false"
  },
  "billingType" : "SPECIFIC_COST_PER_AGENT",
  "activityPreference" : {
    "isTasksEnabled" : "true",
    "trackMode" : "CONSECUTIVE",
    "isEventsEnabled" : "true",
    "canAutoTrackCalls" : "true"
  },
  "fixedCost" : "1000",
  "profiles" : [ {
    "cost" : "100",
    "id" : "1"
  }, {
    "cost" : "200",
    "id" : "2"
  } ],
  "depId" : "1892000000006907",
  "isTimeTracking" : "true",
  "isBillable" : "true",
  "agents" : [ {
    "cost" : "100",
    "id" : "1"
  }, {
    "cost" : "200",
    "id" : "2"
  } ]
}

List history details of billing TimeTrack Settings

This API fetches the history of changes made to the billing preferences in time tracking settings. The different events supported are BILLING_PREFERENCE_ENABLED, BILLING_PREFERENCE_DISABLED, BILLING_TYPE_SELECTED, BILLING_TYPE_CHANGED, FIXED_COST_ENTERED, FIXED_COST_EDITED, AGENT_ADDED, AGENT_COST_EDITED, AGENT_DELETED, PROFILE_ADDED, PROFILE_COST_EDITED, and PROFILE_DELETED.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
depId

long

required

ID of the department from which the history must be fetched.

from

int

optional

Index number, starting from which the events must be fetched.

limit

int

optional,
range : 1-50

Number of events to be fetched.

include

string

optional,
max chars : 100

Secondary information related to the time entry. Value supported is owner.

GET /api/v1/timeTrackHistory

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/timeTrackSettings/history?depId=15000000044059&include=owner
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "owner" : [ {
      "photoURL" : "'https://contacts.zoho.com/file?t=user&fs=thumb&ID=5166343&nps=404&exp=20'",
      "name" : "meenakshi"
    } ],
    "modifiedTime" : "2018-02-19T12:53:49.000Z",
    "agentId" : "15000000009148",
    "name" : "AGENT_DELETED",
    "modifiedBy" : "15000000009148"
  }, {
    "owner" : {
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=5166891&nps=404&exp=600'",
      "name" : "meenakshi"
    },
    "modifiedTime" : "2018-02-19T12:53:49.000Z",
    "agentId" : "15000000009321",
    "cost" : "100",
    "name" : "AGENT_ADDED",
    "modifiedBy" : "15000000009148",
    "modifiedAgent" : {
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=5166343&nps=404&exp=20",
      "name" : "meenakshi"
    }
  }, {
    "owner" : {
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=5166343&nps=404&exp=20",
      "name" : "meenakshi"
    },
    "modifiedTime" : "2018-02-19T12:45:17.000Z",
    "agentId" : "15000000009148",
    "cost" : "100",
    "name" : "AGENT_ADDED",
    "modifiedBy" : "15000000009148",
    "modifiedAgent" : {
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=5166343&nps=404&exp=20",
      "name" : "meenakshi"
    }
  }, {
    "owner" : {
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=5166343&nps=404&exp=20",
      "name" : "meenakshi"
    },
    "newValue" : "SPECIFIC_COST_PER_AGENT",
    "modifiedTime" : "2018-02-19T12:45:17.000Z",
    "name" : "BILLING_TYPE_CHANGED",
    "modifiedBy" : "15000000009148",
    "oldValue" : "FIXED_COST_FOR_TICKETS",
    "modifiedAgent" : null
  }, {
    "owner" : {
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=5166343&nps=404&exp=20",
      "name" : "meenakshi"
    },
    "modifiedTime" : "2018-02-09T09:09:10.000Z",
    "name" : "BILLING_PREFERENCE_ENABLED",
    "modifiedBy" : "15000000009148"
  }, {
    "owner" : {
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=5166343&nps=404&exp=20",
      "name" : "meenakshi"
    },
    "newValue" : null,
    "modifiedTime" : "2018-02-09T09:08:57.000Z",
    "name" : "FIXED_COST_ENTERED",
    "modifiedBy" : "15000000009148",
    "oldValue" : null,
    "modifiedAgent" : null
  }, {
    "owner" : {
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=5166343&nps=404&exp=20",
      "name" : "meenakshi"
    },
    "newValue" : "FIXED_COST_FOR_TICKETS",
    "modifiedTime" : "2018-02-09T09:08:57.000Z",
    "name" : "BILLING_TYPE_SELECTED",
    "modifiedBy" : "15000000009148",
    "oldValue" : null,
    "modifiedAgent" : null
  }, {
    "owner" : {
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=5166343&nps=404&exp=20",
      "name" : "meenakshi"
    },
    "modifiedTime" : "2018-02-09T07:50:01.000Z",
    "name" : "BILLING_PREFERENCE_DISABLED",
    "modifiedBy" : "15000000009148",
    "modifiedAgent" : null
  }, {
    "owner" : {
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=5166343&nps=404&exp=20",
      "name" : "meenakshi"
    },
    "newValue" : "1300",
    "modifiedTime" : "2018-02-09T05:13:00.000Z",
    "name" : "FIXED_COST_ENTERED",
    "modifiedBy" : "15000000009148",
    "oldValue" : null,
    "modifiedAgent" : null
  }, {
    "owner" : {
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=5166343&nps=404&exp=20",
      "name" : "meenakshi"
    },
    "newValue" : "FIXED_COST_FOR_AGENTS",
    "modifiedTime" : "2018-02-09T05:13:00.000Z",
    "name" : "BILLING_TYPE_CHANGED",
    "modifiedBy" : "15000000009148",
    "oldValue" : "FIXED_COST_FOR_TICKETS",
    "modifiedAgent" : null
  } ]
}

Active Timer

Active timer will fetch currently active [either running (or) paused] timer(s) details

Example

{
  "timer" : {
    "hours" : 93,
    "seconds" : 9,
    "minutes" : 6,
    "state" : "Init | Running | Paused"
  },
  "task" : {
    "subject" : "New Testing Task",
    "dueDate" : "2017-08-22 16:16:16",
    "depId" : "7000000016007",
    "id" : "7000000020001",
    "depName" : "AutomationCheck2",
    "status" : "In Progress"
  },
  "ticket" : {
    "ticketNumber" : "101",
    "subject" : "Sample",
    "dueDate" : "2017-08-22 16:16:16",
    "depId" : "7000000016005",
    "id" : "7000000009092",
    "depName" : "AutomationCheck2",
    "status" : "Open"
  },
  "entity" : "Tasks"
}


Get Active Timer for an Agent

This API fetches currently running timer details for an agent

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId
see documentation

long

required

Department to which the ticket belongs

limit

Integer

optional,
range : 1-50

limit

from

Integer

optional

from

GET /api/v1/myActiveTimers

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET http://desk.zoho.com/api/v1/myActiveTimers?departmentId=7000000022910?from=0&limit=10
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "timer" : {
      "hours" : 3,
      "seconds" : 30,
      "minutes" : 6,
      "state" : "RUNNING"
    },
    "task" : {
      "subject" : "Bug Fix #120",
      "dueDate" : "2018-07-21 16:16:16.0",
      "depId" : "7000000016005",
      "id" : "7000000016001",
      "depName" : "activitycheck",
      "status" : "In Progress"
    },
    "ticket" : {
      "ticketNumber" : 101,
      "subject" : "Here's your first ticket.",
      "dueDate" : "2018-05-10 14:49:45.0",
      "depId" : "7000000016005",
      "id" : "7000000013018",
      "depName" : "activitycheck",
      "status" : "Open"
    },
    "entity" : "Tasks"
  }, {
    "call" : {
      "subject" : "Firt Call",
      "dueDate" : "2018-07-21 16:16:16.0",
      "depId" : "7000000016005",
      "id" : "7000000016002",
      "depName" : "activitycheck",
      "status" : "In Progress"
    },
    "timer" : {
      "hours" : 3,
      "seconds" : 37,
      "minutes" : 7,
      "state" : "RUNNING"
    },
    "ticket" : {
      "ticketNumber" : 101,
      "subject" : "Here's your first ticket.",
      "dueDate" : "2018-05-10 14:49:45.0",
      "depId" : "7000000016005",
      "id" : "7000000013018",
      "depName" : "activitycheck",
      "status" : "Open"
    },
    "entity" : "Calls"
  }, {
    "timer" : {
      "hours" : 3,
      "seconds" : 59,
      "minutes" : 7,
      "state" : "RUNNING"
    },
    "ticket" : {
      "ticketNumber" : 101,
      "subject" : "Here's your first ticket.",
      "dueDate" : "2018-05-10 14:49:45.0",
      "depId" : "7000000016007",
      "id" : "7000000013018",
      "depName" : "activitycheck",
      "status" : "Open"
    },
    "event" : {
      "subject" : "First Event",
      "dueDate" : "2018-07-21 16:16:16.0",
      "depId" : "7000000016005",
      "id" : "7000000016003",
      "depName" : "activitycheck",
      "status" : "In Progress"
    },
    "entity" : "Events"
  }, {
    "timer" : {
      "hours" : 3,
      "seconds" : 4,
      "minutes" : 8,
      "state" : "RUNNING"
    },
    "ticket" : {
      "ticketNumber" : 101,
      "subject" : "Here's your first ticket.",
      "dueDate" : "2018-05-10 14:49:45.0",
      "id" : "7000000013018",
      "depName" : "activitycheck",
      "status" : "Open"
    },
    "entity" : "Tickets"
  } ]
}

List active timers

This API lists a particular number of currently active timers in a department, based on the limit specified.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId
see documentation

long

required

ID of the department from which the timers must be fetched

module

string

optional,
max chars : 100

Zoho Desk modules from which the timers must be fetched. Values allowed are: Tickets, Tasks, Events, and Calls. You can pass multiple values by separating them using commas. If you do not pass a value, all modules are considered.

startTime

long

optional

Point of time before or after which the timers were started. This parameter works in conjunction with the sortBy parameter. If the value of sortBy is startTime, the timers are listed in ascending order. If the value of sortBy is -startTime, they are listed in descending order. (Note: With startTime in play, the time value associated with the last timer in an API response is considered as the value from which the next set of timers must be fetched in the subsequent response.)

limit

Integer

optional,
range : 1-50

Number of timers to list

sortBy

string

optional,
max chars : 100

Key that sorts the timers from oldest to latest (ascending order) or latest to oldest (descending order). Values allowed are: startTime (ascending order) and -startTime (descending order, which is the default sorting order).

owners

long

optional

Key that filters timers by Owner. Values allowed are any valid Owner ID or multiple Owner IDs separated by commas.

GET /api/v1/allActiveTimers

OAuth Scope

Desk.tickets.READ , Desk.activities.calls.READ , Desk.activities.events.READ , Desk.activities.READ , Desk.activities.tasks.READ

Request Example

  • CURL

$ curl -X GET http://desk.zoho.com/api/v1/allActiveTimers?departmentId=75485000000569047?startTime=0&limit=20&sortBy=-startTime&module=Tickets,Tasks,Events,Calls&owners=75485000000418459,75485000000182033
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "owner" : {
      "firstName" : "George",
      "lastName" : "McKinson",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/75485000000418459/photo?orgId=60708463",
      "name" : "McKinson George",
      "id" : "75485000000418459"
    },
    "timer" : {
      "hours" : "137",
      "seconds" : "38",
      "minutes" : "17",
      "state" : "RUNNING"
    },
    "ticket" : {
      "ticketNumber" : "401",
      "subject" : "Ticket for timer by another agent",
      "dueDate" : null,
      "depId" : "75485000000569047",
      "id" : "75485000001513021",
      "depName" : "TestDept",
      "status" : "Open"
    },
    "startTime" : "1626290803841",
    "entity" : "Tickets"
  }, {
    "owner" : {
      "firstName" : "Lucas",
      "lastName" : "Carol",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/75485000000182033/photo?orgId=60708463",
      "name" : "Carol Lucas",
      "id" : "75485000000182033"
    },
    "timer" : {
      "hours" : "192",
      "seconds" : "23",
      "minutes" : "38",
      "state" : "RUNNING"
    },
    "ticket" : {
      "ticketNumber" : "673",
      "subject" : "Ticket for timer",
      "dueDate" : null,
      "depId" : "75485000000569047",
      "id" : "75485000002473027",
      "depName" : "TestDept",
      "status" : "Open"
    },
    "startTime" : "1626150959474",
    "entity" : "Tickets"
  }, {
    "owner" : {
      "firstName" : "Lucas",
      "lastName" : "Carol",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/75485000000182033/photo?orgId=60708463",
      "name" : "Carol Lucas",
      "id" : "75485000000182033"
    },
    "timer" : {
      "hours" : "216",
      "seconds" : "10",
      "minutes" : "47",
      "state" : "RUNNING"
    },
    "task" : {
      "subject" : "Task with ticket for timer",
      "dueDate" : "2021-07-14T06:30:00.000Z",
      "depId" : "75485000000569047",
      "id" : "75485000002466025",
      "depName" : "TestDept",
      "status" : "Not Started"
    },
    "ticket" : {
      "ticketNumber" : "672",
      "subject" : "checking active timer",
      "dueDate" : "2021-07-14T06:30:00.000Z",
      "depId" : "75485000000569047",
      "id" : "75485000002459023",
      "depName" : "TestDept",
      "status" : "Open"
    },
    "startTime" : "1626064031778",
    "entity" : "Tasks"
  }, {
    "owner" : {
      "firstName" : "Lucas",
      "lastName" : "Carol",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/75485000000182033/photo?orgId=60708463",
      "name" : "Carol Lucas",
      "id" : "75485000000182033"
    },
    "timer" : {
      "hours" : "226",
      "seconds" : "21",
      "minutes" : "21",
      "state" : "RUNNING"
    },
    "startTime" : "1626029581045",
    "event" : {
      "subject" : "Event without ticket ",
      "dueDate" : null,
      "depId" : "75485000000569047",
      "id" : "75485000002463059",
      "depName" : "TestDept",
      "status" : "Not Started"
    },
    "entity" : "Events"
  }, {
    "owner" : {
      "firstName" : "Lucas",
      "lastName" : "Carol",
      "photoURL" : "https://desk.zoho.com/api/v1/agents/75485000000182033/photo?orgId=60708463",
      "name" : "Carol Lucas",
      "id" : "75485000000182033"
    },
    "timer" : {
      "hours" : "274",
      "seconds" : "42",
      "minutes" : "26",
      "state" : "RUNNING"
    },
    "task" : {
      "subject" : "Task without ticket",
      "dueDate" : null,
      "depId" : "75485000000569047",
      "id" : "75485000000572019",
      "depName" : "TestDept",
      "status" : "Not Started"
    },
    "startTime" : "1625856459759",
    "entity" : "Tasks"
  } ]
}

List ticket timers

This API fetches the details of timers currently active in a ticket.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional

Index number, starting from which the timers must be fetched

limit

integer

optional,
range : 1-100

Number of timers to fetch

string

optional,
max chars : 100

Secondary information related to the timers. Value supported is owner.

GET /api/v1/tickets/{ticket_id}/activeTimer

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET http://desk.zoho.com/api/v1/tickets/13000000021183/activeTimer?include=owner
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "owner" : {
      "firstName" : "Sam",
      "lastName" : "Jones",
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=56934690&nps=404&exp=20",
      "name" : "Sam Jones",
      "id" : "7000000020001"
    },
    "timer" : {
      "hours" : 93,
      "seconds" : 9,
      "minutes" : 6,
      "state" : "Running"
    },
    "userId" : "7000000020001"
  }, {
    "owner" : {
      "firstName" : "Robert",
      "lastName" : "Downey",
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=56934690&nps=404&exp=20",
      "name" : "Robert Downey",
      "id" : "7000000030001"
    },
    "timer" : {
      "hours" : 19,
      "seconds" : 24,
      "minutes" : 9,
      "state" : "Paused"
    },
    "userId" : "7000000030001"
  } ]
}

List task timers

This API fetches the details of timers currently active in a task.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

integer

optional

Index number, starting from which the timers must be fetched

limit

integer

optional,
range : 1-100

Number of timers to fetch

string

optional,
max chars : 100

Secondary information related to the timers. Value supported is owner.

GET /api/v1/tasks/{task_id}/activeTimer

OAuth Scope

Desk.activities.READ , Desk.activities.tasks.READ , Desk.tasks.READ

Request Example

  • CURL

$ curl -X GET http://desk.zoho.com/api/v1/tasks/13000000021183/activeTimer?include=owner
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "owner" : {
      "firstName" : "Sam",
      "lastName" : "Jones",
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=56934690&nps=404&exp=20",
      "name" : "Sam Jones",
      "id" : "7000000020001"
    },
    "timer" : {
      "hours" : 93,
      "seconds" : 9,
      "minutes" : 6,
      "state" : "Running"
    },
    "userId" : "7000000020001"
  }, {
    "owner" : {
      "firstName" : "Robert",
      "lastName" : "Downey",
      "photoURL" : "https://contacts.zoho.com/file?t=user&fs=thumb&ID=56934690&nps=404&exp=20",
      "name" : "Robert Downey",
      "id" : "7000000030001"
    },
    "timer" : {
      "hours" : 19,
      "seconds" : 24,
      "minutes" : 9,
      "state" : "Paused"
    },
    "userId" : "7000000030001"
  } ]
}

Customer Feedback

This functionality is used to collect customer feedback for outgoing ticket replies. It is essential to ensure that the feedback feature is enabled for the department associated with the ticket to get feedback on the ticket’s outgoing response.

List all customer feedback

Get customer feedback list for a given department. You can also use any one of the sub modules: agentId, contactId, accountId, or ticketId at a time.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
department

String

required

Mandatory param to fetch the customer-happiness list for a given ID of the department. You can also provide department as allDepartment to fetch customer happiness from all departments

agentId

Long

optional

Filter that returns the customer-happiness list for a particular agent

contactId

Long

optional

Filter that returns the customer-happiness list for a particular contact

accountId

Long

optional

Filter that returns the customer-happiness list for a particular account

ticketId

Long

optional

Filter that returns the customer-happiness list for a particular ticket

startTime

Long

optional

Start time from which the customer-happiness list should show. Start time should be in GMT time zone and in milliseconds

endTime

Long

optional

Start time till which the customer-happiness list should show. End time should be in GMT time zone and in milliseconds

from

int

optional

The starting index from which the list should be displayed based on the time of receiving customer feedback

limit

int

optional,
range : 1-50

Number of ratings to be displayed in the list

rating

string

optional,
max chars : 100

Segregate the list based on the type of rating. Allowed values are good, ok, or bad

duration

string

optional,
max chars : 100

Period from which the customer happiness rating must be fetched. Values allowed are: TODAY, THIS_WEEK, LAST_WEEK, THIS_MONTH, LAST_MONTH, LAST_7_DAYS, YESTERDAY, LAST_1_HOUR, CUSTOM_IN_DATE, LAST_100_RATINGS, LAST24HOURS and LAST_30_DAYS

startDate

timestamp

optional

start date time

endDate

timestamp

optional

end date time

sortBy

string

optional,
max chars : 100

Sorted by ratedtime

string

optional,
max chars : 100

Allowed values are : contacts, tickets, agents. You can include both by separating them with a comma in the query param.

GET api/v1/customerHappiness

OAuth Scope

Desk.search.READ , Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/customerHappiness?authtoken=ae075d0de8621f986c07c1fe256e4243&orgId=1234567&department=3000000023770
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "agentId" : "5000000015959",
    "agent" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agent/5000000015959/photo",
      "id" : "5000000015959",
      "email" : "jack@zylker.com"
    },
    "ticket" : {
      "ticketNumber" : "118",
      "subject" : "GPS not working",
      "id" : "5000000074060"
    },
    "contactId" : "5000000017055",
    "departmentId" : "5000000056329",
    "rating" : "GOOD",
    "threadId" : "5000000090001",
    "feedback" : "Great Work!!!",
    "accountId" : "5000000017043",
    "ratedTime" : "2021-12-02T14:36:20.291Z",
    "customerRatedTime" : "2021-12-02T09:06:20.291Z",
    "timezoneOffset" : "GMT +5:30",
    "contact" : {
      "name" : "Nirmal Kumar",
      "id" : "5000000017055"
    },
    "id" : "5000000090012",
    "ticketId" : "5000000074060"
  }, {
    "agentId" : "5000000015959",
    "agent" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agent/5000000015959/photo",
      "id" : "5000000015959",
      "email" : "jack@zylker.com"
    },
    "ticket" : {
      "ticketNumber" : "117",
      "subject" : "Apps take time to load",
      "id" : "5000000056151"
    },
    "contactId" : "5000000026602",
    "departmentId" : "5000000042101",
    "rating" : "BAD",
    "threadId" : "5000000092045",
    "feedback" : "The solution provided doesn't seem to work.",
    "accountId" : "-1",
    "ratedTime" : "2018-09-26T10:47:35.936Z",
    "timezoneOffset" : "GMT +5:30",
    "contact" : {
      "name" : "Phillip Collins",
      "id" : "5000000026602"
    },
    "id" : "5000000092056",
    "ticketId" : "5000000056151"
  }, {
    "agentId" : "5000000015959",
    "ticket" : {
      "ticketNumber" : "114",
      "subject" : "zPhone battery needs to be fixed",
      "id" : "5000000055051"
    },
    "contactId" : "5000000017055",
    "departmentId" : "5000000012860",
    "rating" : "OKAY",
    "threadId" : "5000000092069",
    "feedback" : "The battery performance is better but I expect a little more.",
    "accountId" : "5000000017043",
    "ratedTime" : "2018-09-26T10:49:16.202Z",
    "timezoneOffset" : "GMT +5:30",
    "contact" : {
      "name" : "Sam Rossner",
      "id" : "5000000017055"
    },
    "id" : "5000000092084",
    "ticketId" : "5000000055051"
  } ]
}

Get customer feedback count

This API gives you the count of the ratings given by the customers for each category of a given department. You can also use any one of the sub modules: agentId, contactId, accountId, or ticketId at a time.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
department

String

required

Mandatory param to fetch the customer-happiness list for a given ID of a department. You can also provide department as allDepartment to fetch customer-happiness list from all the departments

agentId

Long

optional

Filter that returns the customer-ratings count for a particular agent

contactId

Long

optional

Filter that returns the customer-ratings count for a particular contact

accountId

Long

optional

Filter that returns the customer-ratings count for a particular account

ticketId

Long

optional

Filter that returns the customer-ratings count for a particular ticket

startTime

Long

optional

Start time from which the customer-happiness list should show. Start time should be in GMT time zone and in milliseconds

endTime

Long

optional

Start time till which the customer-happiness list should show. Start time should be in GMT time zone and in milliseconds

duration

string

optional,
max chars : 100

Period from which the customer happiness rating must be fetched. Values allowed are: TODAY, THIS_WEEK, LAST_WEEK, THIS_MONTH, LAST_MONTH, LAST_7_DAYS, YESTERDAY, LAST_1_HOUR, CUSTOM_IN_DATE, LAST_100_RATINGS, LAST24HOURS and LAST_30_DAYS

startDate

timestamp

optional

start date time

endDate

timestamp

optional

end date time

from

Integer

optional

The from index

limit

Integer

optional,
range : 1-50

Number of rating to be displayed

GET api/v1/customerHappiness/count

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/customerHappiness/count?authtoken=ae075d0de8621f986c07c1fe256e4243&orgId=1234567&department=30000002344
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "30000002344" : {
    "bad" : 3,
    "ok" : 2,
    "good" : 5
  }
}

Get the customer feedback content

This API retrieves the content of specific customer feedback.

Credit: 1 credit/call

GET api/v1/customerHappiness/{thread_id}/content

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/customerHappiness/5000000085253/content
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "content" : "I appreciate the help and thanks for the quick response."
}

Dashboards

Dashboards provide a visual representation of custom reports, allowing you to track key metrics at a glance. There are standard dashboards available by default, and users can also create their own dashboards by adding relevant components as needed.

Get created tickets count

This API fetches the number of tickets created in a particular duration.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
groupBy

string

required,
max chars : 100

Key that groups the ticket count according to a particular attribute.This value can be date channel agent | hour

departmentId

long

optional

ID(s) of the department(s) from which the stats must be fetched

agentId

long

optional

ID(s) of the agent(s) whose stats must be fetched

teamId

long

optional

ID(s) of the team(s) from which the stats must be fetched

duration

String

required

Predefined time range from which the stats must be fetched

startDate

string

optional,
max chars : 100

Starting date for defining custom time range

endDate

string

optional,
max chars : 100

Ending date for defining custom time range

channel

string

optional,
max chars : 120

Channel through which the tickets were received

GET /api/v1/dashboards/createdTickets

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET http://support.zoho.com/api/v1/dashboards/createdTickets?departmentId=4000000010712&agentId=5000000010712,5000000010713&duration=LAST_7_DAYS&groupBy=date
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "totalTicketCount" : "1",
  "avg" : "0.1",
  "ticketCount" : [ {
    "count" : "0",
    "value" : "2018-04-01",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-02",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-03",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-04",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-05",
    "referenceValue" : null
  }, {
    "count" : "1",
    "value" : "2018-04-06",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-07",
    "referenceValue" : null
  } ],
  "groupedBy" : "date"
}

Get on hold tickets count

This API fetches the number of tickets that are in the on hold status.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
groupBy

string

required,
max chars : 100

Key that groups the ticket count according to a particular attribute.This value can be date channel agent | hour

departmentId

long

optional

ID(s) of the department(s) from which the stats must be fetched

agentId

long

optional

ID(s) of the agent(s) whose stats must be fetched

teamId

long

optional

ID(s) of the team(s) from which the stats must be fetched

duration

String

required

Predefined time range from which the stats must be fetched

startDate

string

optional,
max chars : 100

Starting date for defining custom time range

endDate

string

optional,
max chars : 100

Ending date for defining custom time range

channel

string

optional,
max chars : 120

Channel through which the tickets were received

GET /api/v1/dashboards/onholdTickets

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET http://support.zoho.com/api/v1/dashboards/onholdTickets?departmentId=4000000010712&agentId=5000000010712,5000000010713&duration=LAST_7_DAYS&groupBy=date
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "totalTicketCount" : "1",
  "avg" : "0.1",
  "ticketCount" : [ {
    "count" : "0",
    "value" : "2018-04-01",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-02",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-03",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-04",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-05",
    "referenceValue" : null
  }, {
    "count" : "1",
    "value" : "2018-04-06",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-07",
    "referenceValue" : null
  } ],
  "groupedBy" : "date"
}

Get closed tickets count

This API fetches the number of tickets that are resolved.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
groupBy

string

required,
max chars : 100

Key that groups the ticket count according to a particular attribute.This value can be date channel agent | hour

departmentId

long

optional

ID(s) of the department(s) from which the stats must be fetched

agentId

long

optional

ID(s) of the agent(s) whose stats must be fetched

teamId

long

optional

ID(s) of the team(s) from which the stats must be fetched

duration

String

required

Predefined time range from which the stats must be fetched

startDate

string

optional,
max chars : 100

Starting date for defining custom time range

endDate

string

optional,
max chars : 100

Ending date for defining custom time range

channel

string

optional,
max chars : 120

Channel through which the tickets were received

GET /api/v1/dashboards/solvedTickets

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET http://support.zoho.com/api/v1/dashboards/solvedTickets?departmentId=4000000010712&agentId=5000000010712,5000000010713&duration=LAST_7_DAYS&groupBy=channel
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "totalTicketCount" : "1",
  "ticketCount" : [ {
    "count" : "0",
    "value" : "Feedback Widget",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "Email",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "Web",
    "referenceValue" : null
  }, {
    "count" : "1",
    "value" : "Phone",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "Forums",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "Chat",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "Twitter",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "Facebook",
    "referenceValue" : null
  } ],
  "avg" : "0.12",
  "groupedBy" : "channel"
}

Get unresolved tickets count

This API fetches the number of tickets that have remained unresolved over a particular period.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
groupBy

string

required,
max chars : 100

Key that groups the ticket count according to a particular attribute.This value can be date channel agent

departmentId

long

optional

ID(s) of the department(s) from which the stats must be fetched

agentId

long

optional

ID(s) of the agent(s) whose stats must be fetched

duration

String

required

Predefined time range from which the stats must be fetched

startDate

string

optional,
max chars : 100

Starting date for defining custom time range

endDate

string

optional,
max chars : 100

Ending date for defining custom time range

channel

string

optional,
max chars : 120

Channel through which the tickets were received

GET /api/v1/dashboards/backlogTickets

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET http://support.zoho.com/api/v1/dashboards/backlogTickets?departmentId=4000000010712&agentId=5000000010712,5000000010713&duration=LAST_7_DAYS&groupBy=agent
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "totalTicketCount" : "102",
  "ticketCount" : [ {
    "count" : "54",
    "value" : "Unassigned",
    "referenceValue" : null
  }, {
    "count" : "48",
    "value" : "Priyanka",
    "referenceValue" : "4000000012629"
  } ],
  "avg" : "51.0"
}

List resolution times

This API lists the durations taken to resolve tickets.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
groupBy

string

required,
max chars : 100

Key that groups stats according to a specific attribute: date, channel, agent, or hour

departmentId

long

optional

ID(s) of the department(s) from which the stats must be fetched

agentId

long

optional

ID(s) of the agent(s) whose stats must be fetched

teamId

long

optional

ID(s) of the team(s) from which the stats must be fetched

duration

String

required

Predefined time range from which the stats must be fetched

startDate

string

optional,
max chars : 100

Starting date for defining custom time range

endDate

string

optional,
max chars : 100

Ending date for defining custom time range

channel

string

optional,
max chars : 120

Channel through which the tickets were received

GET /api/v1/dashboards/ticketsResolutionTime

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET http://support.zoho.com/api/v1/dashboards/ticketsResolutionTime?departmentId=4000000010712&agentId=5000000010712,5000000010713&duration=LAST_7_DAYS&groupBy=agent
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "totalAvgAgentTime" : "41:50 hrs",
  "timeData" : [ {
    "avgSystemTime" : "41:50 hrs",
    "ticketCount" : "1",
    "avgAgentTime" : "41:50 hrs",
    "value" : "Priyanka",
    "referenceValue" : "4000000012629"
  } ],
  "totalTicketCount" : "1",
  "totalAvgSystemTime" : "41:50 hrs",
  "groupedBy" : "agent"
}

List response times

This API lists the durations taken to respond to tickets.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
groupBy

string

required,
max chars : 100

Key that groups stats according to a specific attribute: date, channel, agent, or hour

isFirstResponse

boolean

required

Key that specifies if the response is the first response to the customer question

departmentId

long

optional

ID(s) of the department(s) from which the stats must be fetched

agentId

long

optional

ID(s) of the agent(s) whose stats must be fetched

teamId

long

optional

ID(s) of the team(s) from which the stats must be fetched

duration

String

required

Predefined time range from which the stats must be fetched

startDate

string

optional,
max chars : 100

Starting date for defining custom time range

endDate

string

optional,
max chars : 100

Ending date for defining custom time range

channel

string

optional,
max chars : 120

Channel through which the tickets were received

GET /api/v1/dashboards/responseTime

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET http://support.zoho.com/api/v1/dashboards/responseTime?departmentId=4000000010712&agentId=5000000010712,5000000010713&duration=CUSTOM_IN_DATE&startDate=01-04-2018&endDate=10-04-2018&groupBy=channel
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "totalAvgAgentTime" : "41:50 hrs",
  "timeData" : [ {
    "avgSystemTime" : "00:00 hrs",
    "avgAgentTime" : "00:00 hrs",
    "responseCount" : "0",
    "value" : "Feedback Widget",
    "referenceValue" : null
  }, {
    "avgSystemTime" : "00:00 hrs",
    "avgAgentTime" : "00:00 hrs",
    "responseCount" : "0",
    "value" : "Email",
    "referenceValue" : null
  }, {
    "avgSystemTime" : "00:00 hrs",
    "avgAgentTime" : "00:00 hrs",
    "responseCount" : "0",
    "value" : "Web",
    "referenceValue" : null
  }, {
    "avgSystemTime" : "41:50 hrs",
    "avgAgentTime" : "41:50 hrs",
    "responseCount" : "1",
    "value" : "Phone",
    "referenceValue" : null
  }, {
    "avgSystemTime" : "00:00 hrs",
    "avgAgentTime" : "00:00 hrs",
    "responseCount" : "0",
    "value" : "Forums",
    "referenceValue" : null
  }, {
    "avgSystemTime" : "00:00 hrs",
    "avgAgentTime" : "00:00 hrs",
    "responseCount" : "0",
    "value" : "Chat",
    "referenceValue" : null
  }, {
    "avgSystemTime" : "00:00 hrs",
    "avgAgentTime" : "00:00 hrs",
    "responseCount" : "0",
    "value" : "Twitter",
    "referenceValue" : null
  }, {
    "avgSystemTime" : "00:00 hrs",
    "avgAgentTime" : "00:00 hrs",
    "responseCount" : "0",
    "value" : "Facebook",
    "referenceValue" : null
  } ],
  "totalAvgSystemTime" : "41:50 hrs",
  "groupedBy" : "channel",
  "totalResponseCount" : "1"
}

Get total response count

This API fetches the total number of responses sent/made by your agents.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
groupBy

string

required,
max chars : 100

Key that groups the thread count according to a particular attribute.This value can be date channel agent | hour

departmentId

long

optional

ID(s) of the department(s) from which the stats must be fetched

agentId

long

optional

ID(s) of the agent(s) whose stats must be fetched

teamId

long

optional

ID(s) of the team(s) from which the stats must be fetched

duration

String

required

Predefined time range from which the stats must be fetched

startDate

string

optional,
max chars : 100

Starting date for defining custom time range

endDate

string

optional,
max chars : 100

Ending date for defining custom time range

channel

string

optional,
max chars : 120

Channel through which the tickets were received

GET /api/v1/dashboards/responseCount

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET http://support.zoho.com/api/v1/dashboards/responseCount?departmentId=4000000010712&agentId=5000000010712,5000000010713&duration=LAST_7_DAYS&groupBy=date
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "avg" : "0.0",
  "groupedBy" : "date",
  "totalResponseCount" : "0",
  "responseCount" : [ {
    "count" : "0",
    "value" : "2018-04-06",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-07",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-08",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-09",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-10",
    "referenceValue" : null
  } ]
}

Get reopened tickets count

This API fetches the number of tickets that were reopened in your help desk portal.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
groupBy

string

required,
max chars : 100

Key that groups the thread count according to a particular attribute.This value can be date channel agent | hour

departmentId

long

optional

ID(s) of the department(s) from which the stats must be fetched

agentId

long

optional

ID(s) of the agent(s) whose stats must be fetched

teamId

long

optional

ID(s) of the team(s) from which the stats must be fetched

duration

String

required

Predefined time range from which the stats must be fetched

startDate

string

optional,
max chars : 100

Starting date for defining custom time range

endDate

string

optional,
max chars : 100

Ending date for defining custom time range

channel

string

optional,
max chars : 120

Channel through which the tickets were received

GET /api/v1/dashboards/reopenedTickets

OAuth Scope

Desk.tickets.READ

Request Example

  • CURL

$ curl -X GET http://support.zoho.com/api/v1/dashboards/reopenedTickets?departmentId=4000000010712&agentId=5000000010712,5000000010713&duration=LAST_7_DAYS&groupBy=date
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "totalTicketCount" : "1",
  "avg" : "0.1",
  "ticketCount" : [ {
    "count" : "0",
    "value" : "2018-04-01",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-02",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-03",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-04",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-05",
    "referenceValue" : null
  }, {
    "count" : "1",
    "value" : "2018-04-06",
    "referenceValue" : null
  }, {
    "count" : "0",
    "value" : "2018-04-07",
    "referenceValue" : null
  } ],
  "groupedBy" : "date"
}

Channels

Channels in Zoho Desk represents the source of the tickets & threads. A channel represents the characteristic of a reply source such as reply configuration.

ATTRIBUTES

Attribute Name
Data Type
Description
type

string

Type of the channel. Possible values are SYSTEM, INTEGRATION, INSTANT_MESSAGE

name

string

Name of the channel

code

string

Unique Identifier Code of the channel

appName

string

Name of the application that handles the channel

photoURL

string

Photo URL of the channel

departmentId

string

Default department ID of the channel in which the tickets will be created unless customized

acceptsReplies

string

Specifies whether the channel accepts replies for tickets or threads

replyConfig

JSONObject

Reply configuration of the channel if the channel accepts replies for tickets or threads

mappedIntegration

string

Type of integration, only if the type is INSTANT_MESSAGE

Example

{
  "photoURL" : null,
  "code" : "EMAIL",
  "appName" : null,
  "departmentId" : null,
  "name" : "EMail",
  "mappedIntegration" : null,
  "replyConfig" : {
    "updateRecords" : false,
    "acceptsAttachments" : true,
    "contentTypes" : [ "text/plain", "text/html" ],
    "includeQuotedMessage" : true
  },
  "type" : "SYSTEM",
  "acceptsReplies" : true
}


List configured channels

This API fetches currently installed channels including System, Channel integration and Instant Messaging channels

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/channels

OAuth Scope

Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/channels
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "photoURL" : "https://desk.zoho.com/api/v1/channels/sales_whatsapp_account/photo?orgId=60856948",
    "code" : "SALES_WHATSAPP_ACCOUNT",
    "appName" : "Sales Whatsapp Account",
    "departmentId" : "76389000000006907",
    "name" : "Sales Whatsapp Account",
    "externalId" : "109000000002003",
    "mappedIntegration" : null,
    "replyConfig" : {
      "updateRecords" : false,
      "acceptsAttachments" : false,
      "contentTypes" : [ "text/plain" ],
      "includeQuotedMessage" : false
    },
    "type" : "INSTANT_MESSAGE",
    "acceptsReplies" : true
  }, {
    "photoURL" : "https://desk.zoho.com/api/v1/channels/youtubecat/photo?orgId=647164567",
    "code" : "YOUTUBECAT",
    "appName" : "Youtube Cat",
    "departmentId" : "188422000009189044",
    "name" : "Youtube Cat",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : {
      "updateRecords" : false,
      "acceptsAttachments" : false,
      "contentTypes" : [ "text/plain" ],
      "includeQuotedMessage" : false
    },
    "type" : "INTEGRATION",
    "acceptsReplies" : true
  }, {
    "photoURL" : null,
    "code" : "EMAIL",
    "appName" : null,
    "departmentId" : null,
    "name" : "Email",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : {
      "updateRecords" : false,
      "acceptsAttachments" : true,
      "contentTypes" : [ "text/plain", "text/html" ],
      "includeQuotedMessage" : true
    },
    "type" : "SYSTEM",
    "acceptsReplies" : true
  }, {
    "photoURL" : null,
    "code" : "TWITTER",
    "appName" : null,
    "departmentId" : null,
    "name" : "Twitter",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : {
      "updateRecords" : false,
      "acceptsAttachments" : false,
      "contentTypes" : [ "text/plain" ],
      "includeQuotedMessage" : false
    },
    "type" : "SYSTEM",
    "acceptsReplies" : true
  }, {
    "photoURL" : null,
    "code" : "TWITTER_DM",
    "appName" : null,
    "departmentId" : null,
    "name" : "Twitter",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : {
      "updateRecords" : false,
      "acceptsAttachments" : false,
      "contentTypes" : [ "text/plain" ],
      "includeQuotedMessage" : false
    },
    "type" : "SYSTEM",
    "acceptsReplies" : true
  }, {
    "photoURL" : null,
    "code" : "FACEBOOK",
    "appName" : null,
    "departmentId" : null,
    "name" : "Facebook",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : {
      "updateRecords" : false,
      "acceptsAttachments" : false,
      "contentTypes" : [ "text/plain" ],
      "includeQuotedMessage" : false
    },
    "type" : "SYSTEM",
    "acceptsReplies" : true
  }, {
    "photoURL" : null,
    "code" : "FACEBOOK_DM",
    "appName" : null,
    "departmentId" : null,
    "name" : "Facebook",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : {
      "updateRecords" : false,
      "acceptsAttachments" : false,
      "contentTypes" : [ "text/plain" ],
      "includeQuotedMessage" : false
    },
    "type" : "SYSTEM",
    "acceptsReplies" : true
  }, {
    "photoURL" : null,
    "code" : "INSTAGRAM",
    "appName" : null,
    "departmentId" : null,
    "name" : "Instagram",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : {
      "updateRecords" : false,
      "acceptsAttachments" : false,
      "contentTypes" : [ "text/plain" ],
      "includeQuotedMessage" : false
    },
    "type" : "SYSTEM",
    "acceptsReplies" : true
  }, {
    "photoURL" : null,
    "code" : "INSTAGRAM_DM",
    "appName" : null,
    "departmentId" : null,
    "name" : "Instagram",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : {
      "updateRecords" : false,
      "acceptsAttachments" : false,
      "contentTypes" : [ "text/plain" ],
      "includeQuotedMessage" : false
    },
    "type" : "SYSTEM",
    "acceptsReplies" : true
  }, {
    "photoURL" : null,
    "code" : "WEB",
    "appName" : null,
    "departmentId" : null,
    "name" : "Web",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : null,
    "type" : "SYSTEM",
    "acceptsReplies" : false
  }, {
    "photoURL" : null,
    "code" : "ONLINE_CHAT",
    "appName" : null,
    "departmentId" : null,
    "name" : "Chat",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : null,
    "type" : "SYSTEM",
    "acceptsReplies" : false
  }, {
    "photoURL" : null,
    "code" : "OFFLINE_CHAT",
    "appName" : null,
    "departmentId" : null,
    "name" : "Chat",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : null,
    "type" : "SYSTEM",
    "acceptsReplies" : false
  }, {
    "photoURL" : null,
    "code" : "FORUMS",
    "appName" : null,
    "departmentId" : null,
    "name" : "Forums",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : {
      "updateRecords" : false,
      "acceptsAttachments" : false,
      "contentTypes" : [ "text/plain", "text/html" ],
      "includeQuotedMessage" : true
    },
    "type" : "SYSTEM",
    "acceptsReplies" : true
  }, {
    "photoURL" : null,
    "code" : "PHONE",
    "appName" : null,
    "departmentId" : null,
    "name" : "Phone",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : null,
    "type" : "SYSTEM",
    "acceptsReplies" : false
  }, {
    "photoURL" : null,
    "code" : "ZTI",
    "appName" : null,
    "departmentId" : null,
    "name" : "Phone",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : null,
    "type" : "SYSTEM",
    "acceptsReplies" : false
  }, {
    "photoURL" : null,
    "code" : "CUSTOMERPORTAL",
    "appName" : null,
    "departmentId" : null,
    "name" : "Web",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : null,
    "type" : "SYSTEM",
    "acceptsReplies" : false
  }, {
    "photoURL" : null,
    "code" : "FEEDBACK",
    "appName" : null,
    "departmentId" : null,
    "name" : "FeedBack",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : null,
    "type" : "SYSTEM",
    "acceptsReplies" : false
  }, {
    "photoURL" : null,
    "code" : "FEEDBACK_WIDGET",
    "appName" : null,
    "departmentId" : null,
    "name" : "Feedback Widget",
    "externalId" : null,
    "mappedIntegration" : null,
    "replyConfig" : null,
    "type" : "SYSTEM",
    "acceptsReplies" : false
  } ]
}

MailReplyAddress

MailReplyAddress refers to the email ID from which replies are sent to customers.

Example

{
  "modifiedTime" : "2023-01-06T11:55:26.000Z",
  "address" : "techsupport@zylker.com",
  "isVerified" : true,
  "isSmtpEnabled" : true,
  "displayName" : "Tech",
  "departmentId" : "4000000007043",
  "isDepartmentDefault" : true,
  "isActive" : true,
  "smtpDetails" : {
    "password" : "lfijkrffr",
    "port" : "465",
    "host" : "smtp.zoho.com",
    "userName" : "techsupport@zylker.com",
    "connectionType" : "SSL"
  },
  "createdBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "Sam",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "createdTime" : "2023-01-06T09:55:26.000Z",
  "modifiedBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "Sam",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "id" : "4000000028003",
  "serviceProviderType" : "ZohoSMTP|CustomSMTP"
}


Get details of a MailReplyAddress

This API fetches the details of a MailReplyAddress.Ā 

Credit: 1 credit/call

GET /api/v1/mailReplyAddress/{mailReplyAddress_id}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/mailReplyAddress/4000000028003
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2023-01-06T11:55:26.000Z",
  "address" : "techsupport@zylker.com",
  "isVerified" : true,
  "isSmtpEnabled" : true,
  "displayName" : "Tech",
  "departmentId" : "4000000007043",
  "isDepartmentDefault" : true,
  "isActive" : true,
  "smtpDetails" : {
    "port" : "465",
    "host" : "smtp.zoho.com",
    "userName" : "techsupport@zylker.com",
    "connectionType" : "SSL"
  },
  "createdBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "Sam",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "createdTime" : "2023-01-06T09:55:26.000Z",
  "modifiedBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "Sam",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "id" : "4000000028003",
  "serviceProviderType" : "ZohoSMTP|CustomSMTP"
}

List MailReplyAddresses

This API lists the mailReplyAddresses configured in your help desk portal.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

required

ID of the Department from which the addresses need to be queried.

isActive

boolean

optional

Key that returns if the mailReplyAddress is active or not

from

integer

optional

Index number, starting from which the mail addresses must be fetched

limit

integer

optional,
range : 1-100

Number of mail addresses to fetch

GET /api/v1/mailReplyAddress

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/mailReplyAddress?departmentId=4000000007043
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2023-01-06T11:55:26.000Z",
    "address" : "support@zylker.com",
    "isVerified" : true,
    "isSmtpEnabled" : true,
    "displayName" : "Support",
    "departmentId" : "4000000007043",
    "isDepartmentDefault" : true,
    "isActive" : true,
    "smtpDetails" : {
      "port" : "465",
      "host" : "smtp.zoho.com",
      "userName" : "support@zylker.com",
      "connectionType" : "SSL"
    },
    "createdBy" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
      "firstName" : "Sam",
      "lastName" : "Steve",
      "id" : "4000000028043",
      "email" : "steve@zylker.com"
    },
    "createdTime" : "2023-01-06T09:55:26.000Z",
    "modifiedBy" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
      "firstName" : "Sam",
      "lastName" : "Steve",
      "id" : "4000000028043",
      "email" : "steve@zylker.com"
    },
    "id" : "4000000025003",
    "serviceProviderType" : "CustomSMTP"
  }, {
    "modifiedTime" : "2023-01-06T11:55:26.000Z",
    "address" : "market@zylker.com",
    "isVerified" : true,
    "isSmtpEnabled" : false,
    "displayName" : "Marketing",
    "departmentId" : "4000000007043",
    "isDepartmentDefault" : false,
    "isActive" : false,
    "createdBy" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
      "firstName" : "Sam",
      "lastName" : "Steve",
      "id" : "4000000028043",
      "email" : "steve@zylker.com"
    },
    "createdTime" : "2023-01-06T09:55:26.000Z",
    "modifiedBy" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
      "firstName" : "Sam",
      "lastName" : "Steve",
      "id" : "4000000028043",
      "email" : "steve@zylker.com"
    },
    "id" : "4000000026001",
    "serviceProviderType" : "ZohoSMTP"
  }, {
    "modifiedTime" : "2023-01-06T11:55:26.000Z",
    "address" : "techsupport@zylker.com",
    "isVerified" : true,
    "isSmtpEnabled" : true,
    "displayName" : "Tech",
    "departmentId" : "4000000007043",
    "isDepartmentDefault" : false,
    "isActive" : true,
    "smtpDetails" : {
      "port" : "465",
      "host" : "smtp.zoho.com",
      "userName" : "techsupport@zylker.com",
      "connectionType" : "SSL"
    },
    "createdBy" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
      "firstName" : "Sam",
      "lastName" : "Steve",
      "id" : "4000000028043",
      "email" : "steve@zylker.com"
    },
    "createdTime" : "2023-01-06T09:55:26.000Z",
    "modifiedBy" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
      "firstName" : "Sam",
      "lastName" : "Steve",
      "id" : "4000000028043",
      "email" : "steve@zylker.com"
    },
    "id" : "4000000028003",
    "serviceProviderType" : "CustomSMTP"
  } ]
}

Add MailReplyAddress

This API adds a MailReplyAddress to your help desk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
departmentId

long

required

ID of the department in which the MailReplyAddress must be configured

address

string

required,
max chars : 100

Email ID to add

displayName

string

required,
max chars : 100

Display name for the MailReplyAddress

isSmtpEnabled
deprecated

boolean

optional

Key that enables or disables SMTP authentication for the MailReplyAddress

smtpDetails

JSONObject

optional

Details related to the SMTP authentication for the MailReplyAddress

serviceProviderType

string

optional,
max chars : 50

MailService Provider name

isDepartmentDefault

boolean

optional

Key specifying if this MailReplyAddress is the default reply-to address for the department

POST /api/v1/mailReplyAddress

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/mailReplyAddress
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "address" : "support@zylker.com", "smtpDetails" : { "port" : "465", "host" : "smtp.zoho.com", "password " : "lfijkrffr", "userName" : "support@zylker.com", "connectionType" : "SSL" }, "isSmtpEnabled" : true, "displayName" : "My address", "departmentId" : "4000000007043", "isDepartmentDefault" : true, "serviceProviderType" : "ZohoSMTP|CustomSMTP" }'

Response Example

{
  "modifiedTime" : "2023-01-06T11:55:26.000Z",
  "address" : "support@zylker.com",
  "isVerified" : false,
  "displayName" : "My address",
  "departmentId" : "4000000007043",
  "isDepartmentDefault" : true,
  "isActive" : true,
  "url" : "https://login.microsoftonline.com/common/oauth2/v2.0/authorize?prompt=select_account&access_type=offline&scope=https://outlook.office.com/IMAP.AccessAsUser.All+https://outlook.office.com/POP.AccessAsUser.All+https://outlook.office.com/SMTP.Send+https://outlook.office.com/User.Read+https://outlook.office.com/Mail.ReadWrite.Shared+offline_access&response_type=code&redirect_uri=https://mail.zoho.com/api/accounts/Outlook/v2/redirect&state=dA700Cyn67320K8B8Ld0yRt9P3wc20Lli677&client_id=c12b-b8d1-860624b&login_hint=infotech@zylker.com",
  "smtpDetails" : {
    "port" : "465",
    "host" : "smtp.zoho.com",
    "userName" : "support@zylker.com",
    "connectionType" : "SSL"
  },
  "createdBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "Sam",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "createdTime" : "2023-01-06T09:55:26.000Z",
  "modifiedBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "Sam",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "id" : "4000000028003",
  "serviceProviderType" : "ZohoSMTP|CustomSMTP"
}

Update MailReplyAddress

This API updates details of an existing MailReplyAddress.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
departmentId

long

optional

ID of the department(s) in which the MailReplyAddress is configured

displayName

string

optional,
max chars : 100

Display Name

isActive

boolean

optional

Key that returns if the MailReplyAddress is active or not

isSmtpEnabled
deprecated

boolean

optional

Is SMTP Enabled

serviceProviderType

string

optional,
max chars : 50

MailService Provider name

smtpDetails

JSONObject

optional

Details related to the SMTP authentication for the MailReplyAddress

isDepartmentDefault

boolean

optional

Key specifying if this MailReplyAddress is the default reply-to address for the department

PATCH /api/v1/mailReplyAddress/{mailReplyAddress_id}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/mailReplyAddress/4000000039003
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "smtpDetails" : { "port" : "465", "host" : "smtp.zoho.com", "password " : "lfijk$&rffr**", "userName" : "techsupport@zylker.com", "connectionType" : "SSL" }, "isSmtpEnabled" : true, "displayName" : "TechSupport", "departmentId" : "4000000007043", "isDepartmentDefault" : false, "isActive" : true, "serviceProviderType" : "ZohoSMTP|CustomSMTP" }'

Response Example

{
  "modifiedTime" : "2023-01-06T11:55:26.000Z",
  "address" : "techsupport@zylker.com",
  "isVerified" : true,
  "displayName" : "TechSupport",
  "departmentId" : "4000000007043",
  "isDepartmentDefault" : false,
  "isActive" : true,
  "url" : "https://login.microsoftonline.com/common/oauth2/v2.0/authorize?prompt=select_account&access_type=offline&scope=https://outlook.office.com/IMAP.AccessAsUser.All+https://outlook.office.com/POP.AccessAsUser.All+https://outlook.office.com/SMTP.Send+https://outlook.office.com/User.Read+https://outlook.office.com/Mail.ReadWrite.Shared+offline_access&response_type=code&redirect_uri=https://mail.zoho.com/api/accounts/Outlook/v2/redirect&state=dA700Cyn67320K8B8Ld0yRt9P3wc20Lli677&client_id=c12b-b8d1-860624b&login_hint=infotech@zylker.com",
  "createdBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "Sam",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "createdTime" : "2023-01-06T09:55:26.000Z",
  "modifiedBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "Sam",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "id" : "4000000028003",
  "serviceProviderType" : "ZohoSMTP|CustomSMTP"
}

Delete MailReplyAddress

This API deletes a MailReplyAddress from your help desk.

Credit: 1 credit/call

DELETE /api/v1/mailReplyAddress/{mailReplyAddress_id}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/mailReplyAddress/4000000039003
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Send Verification Mail

This API sends a verification link to the MailReplyAddress configured in your help desk portal.

Credit: 1 credit/call

POST /api/v1/mailReplyAddress/{mailReplyAddress_id}/sendVerification

OAuth Scope

Desk.settings.CREATE , Desk.basic.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/mailReplyAddress/4000000039003/sendVerification
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

SupportEmailAddress

SupportEmailAddress refers to the email ID to which customer correspondences are forwarded.Ā 

Example

{
  "address" : "support@zylker.com",
  "departmentId" : "4000000007043",
  "id" : "4000000026003",
  "friendlyName" : "Tech",
  "isMailFetching" : true
}


Get details of a SupportEmailAddress

This API fetches the details of a SupportEmailAddress.Ā 

Credit: 1 credit/call

GET /api/v1/supportEmailAddress/{supportEmailAddress_id}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/supportEmailAddress/4000000026003
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2023-01-06T11:55:26.000Z",
  "address" : "support@zylker.com",
  "createdBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "departmentId" : "4000000007043",
  "createdTime" : "2023-01-06T09:55:26.000Z",
  "modifiedBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "id" : "4000000026003",
  "friendlyName" : "Tech",
  "isMailFetching" : true
}

List SupportEmailAddresses

This API lists the SupportEmailAddresses configured in your help desk.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

required

ID of the department(s) from which the SupportEmailAddresses must be fetched.

from

integer

optional

Index number, starting from which the mail addresses must be fetched

limit

integer

optional,
range : 1-100

Number of mail addresses to fetch

GET /api/v1/supportEmailAddress

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/supportEmailAddress?departmentId=4000000007043
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2023-01-06T11:55:26.000Z",
    "address" : "marketing@zylker.com",
    "createdBy" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
      "firstName" : "",
      "lastName" : "Steve",
      "id" : "4000000028043",
      "email" : "steve@zylker.com"
    },
    "departmentId" : "4000000007043",
    "createdTime" : "2023-01-06T09:55:26.000Z",
    "modifiedBy" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
      "firstName" : "",
      "lastName" : "Steve",
      "id" : "4000000028043",
      "email" : "steve@zylker.com"
    },
    "id" : "4000000025003",
    "friendlyName" : "Marketing",
    "isMailFetching" : true
  }, {
    "modifiedTime" : "2023-01-06T11:55:26.000Z",
    "address" : "sales@zylker.com",
    "createdBy" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
      "firstName" : "",
      "lastName" : "Steve",
      "id" : "4000000028043",
      "email" : "steve@zylker.com"
    },
    "departmentId" : "4000000007043",
    "createdTime" : "2023-01-06T09:55:26.000Z",
    "modifiedBy" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
      "firstName" : "",
      "lastName" : "Steve",
      "id" : "4000000028043",
      "email" : "steve@zylker.com"
    },
    "id" : "4000000026001",
    "friendlyName" : "Sales",
    "isMailFetching" : false
  }, {
    "modifiedTime" : "2023-01-06T11:55:26.000Z",
    "address" : "support@zylker.com",
    "createdBy" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
      "firstName" : "",
      "lastName" : "Steve",
      "id" : "4000000028043",
      "email" : "steve@zylker.com"
    },
    "departmentId" : "4000000007043",
    "createdTime" : "2023-01-06T09:55:26.000Z",
    "modifiedBy" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
      "firstName" : "",
      "lastName" : "Steve",
      "id" : "4000000028043",
      "email" : "steve@zylker.com"
    },
    "id" : "4000000026003",
    "friendlyName" : "Support",
    "isMailFetching" : true
  } ]
}

Add SupportEmailAddress

This API adds a SupportEmailAddress to your help desk.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
departmentId

long

required

ID of the department in which the SupportEmailAddress must be configured

friendlyName

string

required,
max chars : 100

Display name for the SupportEmailAddress

address

string

required,
max chars : 100

Email ID to add

POST /api/v1/supportEmailAddress

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/supportEmailAddress
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "address" : "support@zylker.com", "departmentId" : "4000000007043", "friendlyName" : "Support" }'

Response Example

{
  "modifiedTime" : "2023-01-06T11:55:26.000Z",
  "address" : "support@zylker.com",
  "createdBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "Sam",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "departmentId" : "4000000007043",
  "createdTime" : "2023-01-06T09:55:26.000Z",
  "modifiedBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "Sam",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "id" : "4000000026003",
  "friendlyName" : "Support",
  "isMailFetching" : true
}

Update SupportEmailAddress

This API updates details of an existing SupportEmailAddress.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
departmentId

long

optional

ID of the department in which the SupportEmailAddress is configured

friendlyName

string

optional,
max chars : 100

Display name for the SupportEmailAddress

isMailFetching

boolean

optional

Key that returns if the SupportEmailAddress fetches emails or not

PATCH /api/v1/supportEmailAddress/{supportEmailAddress_id}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/supportEmailAddress/4000000039003
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "departmentId" : "4000000007043", "friendlyName" : "TechSupport", "isMailFetching" : true }'

Response Example

{
  "modifiedTime" : "2023-01-06T11:55:26.000Z",
  "address" : "support@zylker.com",
  "createdBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "Sam",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "departmentId" : "4000000007043",
  "createdTime" : "2023-01-06T09:55:26.000Z",
  "modifiedBy" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000028043/photo?orgId=11171343",
    "firstName" : "Sam",
    "lastName" : "Steve",
    "id" : "4000000028043",
    "email" : "steve@zylker.com"
  },
  "id" : "4000000026003",
  "friendlyName" : "TechSupport",
  "isMailFetching" : true
}

Delete SupportEmailAddress

This API deletes a SupportEmailAddress from your help desk.

Credit: 1 credit/call

DELETE /api/v1/supportEmailAddress/{supportEmailAddress_id}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/supportEmailAddress/4000000039003
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

SupportEmailDomain

When you sign up for Zoho Desk, you are provided with one default support email address: support@mycompany.zohodesk.com. The "mycompany" part of the email address represents the portal name that you initially signed up with.Emails received at this address become tickets. This address is also used as the "From" address in replies to users.

Example

{
  "updatedTime" : "2013-11-04T11:21:07.000Z",
  "updatedBy" : "4000000007089",
  "supportEmailDomain" : "zylker.zohodesk.com",
  "oldDomain" : "zylkernew.zohodesk.com"
}


Update SupportEmailAddress SubDomain

This API updates the subdomain (the "mycompany" part) of the support email address.

1. Only the primary contact of the organization can update the subdomain of the support email address.
2. The new support email address will be support@zylker.com.
3. The updated support email address will be used for fetching emails, henceforth. So make sure that you update the new address in the forwarding configurations of your mailbox.
4. The new support email address is applicable only for the default department.
5. All existing email aliases along with the old support email address will be permanently deleted from your account.
6. Emails forwarded to the old support address will not be fetched in.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
supportEmailDomain

string

optional,
max chars : 100

Name of the new email subdomain

PATCH /api/v1/supportEmailDomain

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/supportEmailDomain
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "supportEmailDomain" : "zylkernew" }'

Response Example

{
  "updatedTime" : "2013-11-04T11:21:07.000Z",
  "updatedBy" : "4000000007089",
  "supportEmailDomain" : "zylkernew.zohodesk.com",
  "oldDomain" : "zylker.zohodesk.com"
}

Get SupportEmailAddress SubDomain

This API fetches the subdomain of the support email address.

Credit: 1 credit/call

GET /api/v1/supportEmailDomain

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/supportEmailDomain
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "updatedTime" : "2013-11-04T11:21:07.000Z",
  "updatedBy" : "4000000007089",
  "supportEmailDomain" : "zylkernew.zohodesk.com",
  "oldDomain" : "zylker.zohodesk.com"
}

MailConfigurations

MailConfiguration refers to the secondary configurations related to the email addresses in your help desk portal.

Example

{
  "privateThreadConfig" : true,
  "agentNameInTicketReply" : true,
  "createContactWithReplyTo" : false,
  "createTicketForOriginalSender" : true,
  "autoCCToMailbox" : true
}


List department-level MailConfigurations

This API lists theĀ MailConfigurations set for a specific department.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/departments/{department_Id}/mailConfigurations

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/departments/4000000007043/mailConfigurations
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "privateThreadConfig" : true,
  "agentNameInTicketReply" : true,
  "createContactWithReplyTo" : false,
  "createTicketForOriginalSender" : true,
  "autoCCToMailbox" : true
}

List organization-level MailConfigurations

This API lists the MailConfigurations set for the entire help desk portal.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

GET /api/v1/mailConfigurations

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/mailConfigurations
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "privateThreadConfig" : true,
  "agentNameInTicketReply" : true,
  "createContactWithReplyTo" : false,
  "createTicketForOriginalSender" : true,
  "autoCCToMailbox" : true
}

Update department-levelĀ MailConfigurations

This API updates theĀ MailConfigurations set for a specific department.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
autoCCToMailbox

boolean

optional

Key that enables or disables auto CC of email replies to yourĀ 

createContactWithReplyTo

boolean

optional

Key that enables or disables creation of contacts from 'Reply To' email addresses

agentNameInTicketReply

boolean

optional

Key that enables or disables display of theĀ agent's name in replies to customers

createTicketForOriginalSender

boolean

optional

Key that enables or disables creation of tickets on behalf of the sender while forwarding emails

privateThreadConfig

boolean

optional

Key that enables or disables private thread handling

PATCH /api/v1/departments/{department_Id}/mailConfigurations

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/departments/4000000007043/mailConfigurations
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "agentNameInTicketReply" : true, "createContactWithReplyTo" : false, "createTicketForOriginalSender" : true, "autoCCToMailbox" : true }'

Response Example

{
  "privateThreadConfig" : true,
  "agentNameInTicketReply" : true,
  "createContactWithReplyTo" : false,
  "createTicketForOriginalSender" : true,
  "autoCCToMailbox" : true
}

Update organization-level MailConfigurations

This API updates the MailConfigurations set for the entire help desk portal.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
autoCCToMailbox

boolean

optional

Key that enables or disables auto CC of email replies to yourĀ 

createContactWithReplyTo

boolean

optional

Key that enables or disables creation of contacts from 'Reply To' email addresses

agentNameInTicketReply

boolean

optional

Key that enables or disables display of theĀ agent's name in replies to customers

createTicketForOriginalSender

boolean

optional

Key that enables or disables creation of tickets on behalf of the sender while forwarding emails

privateThreadConfig

boolean

optional

Key that enables or disables private thread handling

PATCH /api/v1/mailConfigurations

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/mailConfigurations
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "privateThreadConfig" : true, "agentNameInTicketReply" : true, "createContactWithReplyTo" : false, "createTicketForOriginalSender" : true, "autoCCToMailbox" : true }'

Response Example

{
  "privateThreadConfig" : true,
  "agentNameInTicketReply" : true,
  "createContactWithReplyTo" : false,
  "createTicketForOriginalSender" : true,
  "autoCCToMailbox" : true
}

EmailTemplates

Templates provide the data needed to construct the modules

Example

{
  "replyToAddr" : null,
  "folder" : {
    "folderName" : "Agent Notifications",
    "folderId" : "4000000007021"
  },
  "templateName" : "Acknowledge contact on receiving a new ticket",
  "recordType" : "tickets",
  "subject" : "[##${Cases.Request Id}##] Your ticket has been created",
  "departmentId" : "1892000000639717",
  "templateId" : "1892000000639801",
  "body" : "<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0px; background: rgb(242, 242, 242);\" width=\"100%\"><tbody><tr><td style=\"padding: 30.0px 20.0px;\" valign=\"top\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0.0px auto;\" width=\"90%\"><tbody><tr><td valign=\"top\" style=\"border: 1.0px solid rgb(218, 218, 218); background-color: #ffffff; padding: 30px;\"><div style=\"font-family: lucida grande, lucida sans, lucida sans unicode, arial, helvetica, verdana, sans-serif; font-size: 14px; line-height: 24px; font-weight: normal; color: rgb(34, 34, 34);\">Dear ${Cases.Contact Name},<br> <br>Your ticket has been created with the ticket ID  ${Cases.Request Id} and subject  \"${Cases.Subject}\"<br> <br>Someone from our customer service team will review it and respond shortly.<br> <br>Regards,<br>${Organization.Organization Name} Support Team.<br><br>${Cases.CUSTOMER_PORTAL_BUTTON}</div> </td> </tr> <tr> <td style=\"padding-top: 5.0px;\" valign=\"top\">  </td> </tr> </tbody> </table> </td> </tr> </tbody> </table>",
  "category" : "DEFAULT_TEMPLATE",
  "fromId" : null,
  "contentType" : "richtext",
  "folderId" : "4000000007021"
}


Add Template

Add a new Template

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
templateName

string

required,
max chars : 250

The name of the Template

subject

string

required,
max chars : 1000

The Subject of the template

recordType

string

required,
max chars : 100

The recordType of the template can be contacts, accounts, tickets, products, tasks

departmentId

long

required

The department of the template

folderId

long

required

The folder of the template

fromId

string

required,
max chars : 100

The from email of the template

replyTo

string

optional,
max chars : 100

The reply to mail id

body

string

optional,
max chars : 64000

the body of the template

contentType

string

required,
max chars : 100

content type of the template

attachmentIds

list

optional

List of file attachments in the template

POST /api/v1/templates

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://support.zoho.com/api/v1/templates
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "templateName" : "new Template", "subject" : "My Template Subject", "recordType" : "tickets", "departmentId" : "4000000007039", "attachmentIds" : [ 1892000000132047 ], "body" : "<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0px; background: rgb(242, 242, 242);\" width=\"100%\"><tbody><tr><td style=\"padding: 30.0px 20.0px;\" valign=\"top\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0.0px auto;\" width=\"90%\"><tbody><tr><td valign=\"top\" style=\"border: 1.0px solid rgb(218, 218, 218); background-color: #ffffff; padding: 30px;\"><div style=\"font-family: lucida grande, lucida sans, lucida sans unicode, arial, helvetica, verdana, sans-serif; font-size: 14px; line-height: 24px; font-weight: normal; color: rgb(34, 34, 34);\">Dear ${Cases.Contact Name},<br> <br>Your ticket has been created with the ticket ID ${Cases.Request Id} and subject \"${Cases.Subject}\"<br> <br>Someone from our customer service team will review it and respond shortly.<br> <br>Regards,<br>${Organization.Organization Name} Support Team.<br><br>${Cases.CUSTOMER_PORTAL_BUTTON}</div> </td> </tr> <tr> <td style=\"padding-top: 5.0px;\" valign=\"top\"> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table>", "fromId" : "support@@zylker.com", "contentType" : "richtext", "folderId" : "4000000007021" }'

Response Example

{
  "attachments" : [ {
    "size" : "8842",
    "name" : "rick.jpeg",
    "id" : "1892000000132047"
  } ],
  "recordType" : "tickets",
  "subject" : "My Template Subject",
  "departmentId" : "4000000007039",
  "templateId" : "4000000040001",
  "body" : "<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0px; background: rgb(242, 242, 242);\" width=\"100%\"><tbody><tr><td style=\"padding: 30.0px 20.0px;\" valign=\"top\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0.0px auto;\" width=\"90%\"><tbody><tr><td valign=\"top\" style=\"border: 1.0px solid rgb(218, 218, 218); background-color: #ffffff; padding: 30px;\"><div style=\"font-family: lucida grande, lucida sans, lucida sans unicode, arial, helvetica, verdana, sans-serif; font-size: 14px; line-height: 24px; font-weight: normal; color: rgb(34, 34, 34);\">Dear ${Cases.Contact Name},<br> <br>Your ticket has been created with the ticket ID  ${Cases.Request Id} and subject  \"${Cases.Subject}\"<br> <br>Someone from our customer service team will review it and respond shortly.<br> <br>Regards,<br>${Organization.Organization Name} Support Team.<br><br>${Cases.CUSTOMER_PORTAL_BUTTON}</div> </td> </tr> <tr> <td style=\"padding-top: 5.0px;\" valign=\"top\">  </td> </tr> </tbody> </table> </td> </tr> </tbody> </table>",
  "fromId" : "newportal<support@zylker.com>",
  "folderId" : "4000000007021",
  "folder" : {
    "folderName" : "Agent Notifications",
    "folderId" : "4000000007021"
  },
  "replyToAddr" : null,
  "templateName" : "new Template",
  "category" : "CUSTOM_TEMPLATE",
  "contentType" : "richtext"
}

View Template

View a particular Template

Credit: 1 credit/call

GET /api/v1/templates/{template_id}

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://support.zoho.com/api/v1/templates/1892000000639846
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "attachments" : [ {
    "size" : "8842",
    "name" : "rick.jpeg",
    "id" : "1892000000132047"
  } ],
  "recordType" : "tickets",
  "subject" : "##${Cases.Request Id}##] ${Cases.Recent Comment By} has edited a comment in the ticket",
  "departmentId" : "1892000000639717",
  "templateId" : "1892000000639846",
  "body" : "<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0px; background: rgb(242, 242, 242);\" width=\"100%\"><tbody><tr><td style=\"padding: 30.0px 20.0px;\" valign=\"top\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0.0px auto;\" width=\"90%\"><tbody><tr><td valign=\"top\" style=\"border: 1.0px solid rgb(218, 218, 218); background-color: #ffffff; padding: 30px;\"><div style=\"font-family: lucida grande, lucida sans, lucida sans unicode, arial, helvetica, verdana, sans-serif; font-size: 14px; line-height: 24px; font-weight: normal; color: rgb(34, 34, 34);\">${Cases.Recent Comment By} has edited a comment in the ticket, #${Cases.Request Id} ${Cases.Subject}.<br> <br>${Cases.Recent Comment}<br><br>${Cases.SUPPORT_PORTAL_BUTTON}</div> </td> </tr> <tr> <td style=\"padding-top: 5.0px;\" valign=\"top\">  </td> </tr> </tbody> </table> </td> </tr> </tbody> </table>",
  "fromId" : null,
  "folderId" : "4000000007021",
  "folder" : {
    "folderName" : "Agent Notifications",
    "folderId" : "1892000000639789"
  },
  "replyToAddr" : null,
  "templateName" : "Notify agent when a comment is edited",
  "category" : "CUSTOM_TEMPLATE",
  "contentType" : "richtext"
}

Update Template

Update an existing Template

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
templateName

string

optional,
max chars : 250

The name of the Template

subject

string

optional,
max chars : 1000

The Subject of the template

recordType

string

optional,
max chars : 100

The recordType of the template can be contacts, accounts, tickets, products, tasks

departmentId

long

optional

The department of the template

folderId

long

optional

The folder of the template

fromId

string

optional,
max chars : 100

The from email of the template

replyTo

string

optional,
max chars : 100

The reply to mail id

body

string

optional,
max chars : 64000

the body of the template

contentType

string

optional,
max chars : 100

content type of the template

attachmentIds

list

optional

List of file attachments in the template

PATCH /api/v1/templates/{template_id}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://support.zoho.com/api/v1/templates/4000000040001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "templateName" : "new Template", "subject" : "My New Template", "recordType" : "tickets" }'

Response Example

{
  "attachments" : [ {
    "size" : "8842",
    "name" : "rick.jpeg",
    "id" : "1892000000132047"
  } ],
  "recordType" : "tickets",
  "subject" : "My New Template",
  "departmentId" : "4000000007039",
  "templateId" : "4000000040001",
  "body" : null,
  "fromId" : "newportal<support@zylker.com>",
  "folderId" : "4000000007021",
  "folder" : {
    "folderName" : "Agent Notifications",
    "folderId" : "4000000007021"
  },
  "replyToAddr" : null,
  "templateName" : "new Template",
  "category" : "CUSTOM_TEMPLATE",
  "contentType" : "richtext"
}

Delete Template

Delete a Template

Credit: 1 credit/call

DELETE /api/v1/templates/{template_id}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://support.zoho.com/api/v1/templates/4000000042009
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Listing Templates

List all Templates

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

required

the corresponding department to be fetched

module

string

optional,
max chars : 100

The name of the module

from

integer

required,
default : 1,
range : 1-1000

from index, DEFAULT 1

limit

integer

required,
default : 1000,
range : 1-1000

number of templates to be retrieved Range 1-1000, DEFAULT 1000

searchStr

string

optional,
max chars : 100

String to search for templates by name. The string must contain at least one character. Three search methods are supported: 1) string* - Searches for templates whose name start with the string, 2) *string* - Searches for templates whose name contain the string, 3) string - Searches for templates whose name is an exact match for the string

folderId

long

optional

the corresponding folder to be fetched

GET /api/v1/templates

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://support.zoho.com/api/v1/templates?departmentId=4000000007043&module=tickets?searchStr=*com*&from=1&limit=5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

[ {
  "folder" : {
    "folderName" : "Agent Notifications",
    "folderId" : "4000000007021"
  },
  "replyToAddr" : null,
  "templateName" : "Notify contact when a comment is added",
  "recordType" : "tickets",
  "subject" : "[##${Cases.Request Id}##] ${Cases.Recent Comment By} has commented to your ticket",
  "departmentId" : "4000000007043",
  "templateId" : "4000000007111",
  "body" : "<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0px; background: rgb(242, 242, 242);\" width=\"100%\"><tbody><tr><td style=\"padding: 30.0px 20.0px;\" valign=\"top\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0.0px auto;\" width=\"90%\"><tbody><tr><td valign=\"top\" style=\"border: 1.0px solid rgb(218, 218, 218); background-color: #ffffff; padding: 30px;\"><div style=\"font-family: lucida grande, lucida sans, lucida sans unicode, arial, helvetica, verdana, sans-serif; font-size: 14px; line-height: 24px; font-weight: normal; color: rgb(34, 34, 34);\">Dear ${Cases.Contact Name},<br> <br>${Cases.Recent Comment By} has left the following comment on your ticket, #${Cases.Request Id} ${Cases.Subject}.<br> <br>${Cases.Recent Comment}<br> <br>Regards,<br>${Organization.Organization Name} Support Team.<br><br>${Cases.CUSTOMER_PORTAL_BUTTON}</div> </td> </tr> <tr> <td style=\"padding-top: 5.0px;\" valign=\"top\">  </td> </tr> </tbody> </table> </td> </tr> </tbody> </table>",
  "category" : "DEFAULT_TEMPLATE",
  "fromId" : null,
  "contentType" : "richtext",
  "folderId" : "4000000007021"
}, {
  "folder" : {
    "folderName" : "Agent Notifications",
    "folderId" : "4000000007021"
  },
  "replyToAddr" : null,
  "templateName" : "Notify contact when a comment is edited",
  "recordType" : "tickets",
  "subject" : "[##${Cases.Request Id}##] ${Cases.Recent Comment By} has updated comment in your ticket",
  "departmentId" : "4000000007043",
  "templateId" : "4000000007113",
  "body" : "<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0px; background: rgb(242, 242, 242);\" width=\"100%\"><tbody><tr><td style=\"padding: 30.0px 20.0px;\" valign=\"top\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0.0px auto;\" width=\"90%\"><tbody><tr><td valign=\"top\" style=\"border: 1.0px solid rgb(218, 218, 218); background-color: #ffffff; padding: 30px;\"><div style=\"font-family: lucida grande, lucida sans, lucida sans unicode, arial, helvetica, verdana, sans-serif; font-size: 14px; line-height: 24px; font-weight: normal; color: rgb(34, 34, 34);\">Dear ${Cases.Contact Name},<br> <br>${Cases.Recent Comment By} has updated the following comment in your ticket, #${Cases.Request Id} ${Cases.Subject}.<br> <br>${Cases.Recent Comment}<br> <br>Regards,<br>${Organization.Organization Name} Support Team.<br><br>${Cases.CUSTOMER_PORTAL_BUTTON}</div> </td> </tr> <tr> <td style=\"padding-top: 5.0px;\" valign=\"top\">  </td> </tr> </tbody> </table> </td> </tr> </tbody> </table>",
  "category" : "DEFAULT_TEMPLATE",
  "fromId" : null,
  "contentType" : "richtext",
  "folderId" : "4000000007021"
}, {
  "folder" : {
    "folderName" : "Agent Notifications",
    "folderId" : "4000000007021"
  },
  "replyToAddr" : null,
  "templateName" : "Notify contact when a comment is deleted",
  "recordType" : "tickets",
  "subject" : "[##${Cases.Request Id}##] ${Cases.Recent Comment By} has deleted comment in your ticket",
  "departmentId" : "4000000007043",
  "templateId" : "4000000007115",
  "body" : "<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0px; background: rgb(242, 242, 242);\" width=\"100%\"><tbody><tr><td style=\"padding: 30.0px 20.0px;\" valign=\"top\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0.0px auto;\" width=\"90%\"><tbody><tr><td valign=\"top\" style=\"border: 1.0px solid rgb(218, 218, 218); background-color: #ffffff; padding: 30px;\"><div style=\"font-family: lucida grande, lucida sans, lucida sans unicode, arial, helvetica, verdana, sans-serif; font-size: 14px; line-height: 24px; font-weight: normal; color: rgb(34, 34, 34);\">Dear ${Cases.Contact Name},<br> <br>${Cases.Recent Comment By} has deleted the following comment in your ticket, #${Cases.Request Id} ${Cases.Subject}.<br> <br>${Cases.Recent Comment}<br> <br>Regards,<br>${Organization.Organization Name} Support Team.<br><br>${Cases.CUSTOMER_PORTAL_BUTTON}</div> </td> </tr> <tr> <td style=\"padding-top: 5.0px;\" valign=\"top\">  </td> </tr> </tbody> </table> </td> </tr> </tbody> </table>",
  "category" : "DEFAULT_TEMPLATE",
  "fromId" : null,
  "contentType" : "richtext",
  "folderId" : "4000000007021"
}, {
  "folder" : {
    "folderName" : "Agent Notifications",
    "folderId" : "4000000007021"
  },
  "replyToAddr" : null,
  "templateName" : "Notify agent when a comment is deleted",
  "recordType" : "tickets",
  "subject" : "[##${Cases.Request Id}##] ${Cases.Recent Comment By} has deleted a comment in the ticket",
  "departmentId" : "4000000007043",
  "templateId" : "4000000007135",
  "body" : "<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0px; background: rgb(242, 242, 242);\" width=\"100%\"><tbody><tr><td style=\"padding: 30.0px 20.0px;\" valign=\"top\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0.0px auto;\" width=\"90%\"><tbody><tr><td valign=\"top\" style=\"border: 1.0px solid rgb(218, 218, 218); background-color: #ffffff; padding: 30px;\"><div style=\"font-family: lucida grande, lucida sans, lucida sans unicode, arial, helvetica, verdana, sans-serif; font-size: 14px; line-height: 24px; font-weight: normal; color: rgb(34, 34, 34);\">${Cases.Recent Comment By} has deleted the following comment in the ticket, #${Cases.Request Id} ${Cases.Subject}.<br> <br>${Cases.Recent Comment}<br><br><br>${Cases.SUPPORT_PORTAL_BUTTON}</div> </td> </tr> <tr> <td style=\"padding-top: 5.0px;\" valign=\"top\">  </td> </tr> </tbody> </table> </td> </tr> </tbody> </table>",
  "category" : "DEFAULT_TEMPLATE",
  "fromId" : null,
  "contentType" : "richtext",
  "folderId" : "4000000007021"
} ]

Rendering a Template

Render an exisiting Template into reply

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
entityId

long

required

The id of the entity can be contact,ticket or account

Attributes

Param Name
Data Type
Description
source

String

optional

Source from which template content has to be rendered. Values can be TICKET_REPLY , NOTIFICATIONS , AUTOMATION_ALERTS , SLA

POST /api/v1/templates/{template_id}/render

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X POST https://support.zoho.com/api/v1/templates/4000000042009/render?entityId=4000000032012
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "source" : "TICKET_REPLY" }'

Response Example

{
  "attachments" : [ {
    "size" : "8842",
    "name" : "ricktwo.jpeg",
    "id" : "4000000132047"
  } ],
  "subject" : "My support Template",
  "body" : "lakshmansupport1lakshmanvignesh<a target=\"_blank\" href=\"https://support.zoho.com/support/lakshmansupport1/ShowHomePage.do#Cases/dv/51123033fe97b2f8922ba57825f2f328\">MEOW Ticket</a> newuser+1105/30/2016 09:57 AMI am containing a content"
}

Fetching placeholders

List the placeholders supported in emailTemplates

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
module

String

required

To get placeholders for this module.Allowed values are tickets,tasks,contacts,accounts,products,solutions,calls,events

departmentId

Long

required

To get placeholders for this departmentId

GET /api/v1/templates/placeHolders

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://support.zoho.com/api/v1/templates/placeHolders?departmentId=4000000042009&module=tickets
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "supportedPlaceHolders" : [ {
      "i18nFieldLabel" : "Priority",
      "fieldLabel" : "Priority",
      "placeHolder" : "${Cases.Priority}"
    }, {
      "i18nFieldLabel" : "Ticket Owner",
      "fieldLabel" : "Case Owner",
      "placeHolder" : "${Cases.Case Owner}"
    }, {
      "i18nFieldLabel" : "Status",
      "fieldLabel" : "Status",
      "placeHolder" : "${Cases.Status}"
    }, {
      "i18nFieldLabel" : "Contact Name",
      "fieldLabel" : "Contact Name",
      "placeHolder" : "${Cases.Contact Name}"
    }, {
      "i18nFieldLabel" : "Subject",
      "fieldLabel" : "Subject",
      "placeHolder" : "${Cases.Subject}"
    }, {
      "i18nFieldLabel" : "Product Name",
      "fieldLabel" : "Product Name",
      "placeHolder" : "${Cases.Product Name}"
    }, {
      "i18nFieldLabel" : "Product Name",
      "fieldLabel" : "Product Name",
      "placeHolder" : "${Cases.Product Name}"
    }, {
      "i18nFieldLabel" : "Resolution",
      "fieldLabel" : "Resolution",
      "placeHolder" : "${Cases.Resolution}"
    } ],
    "i18nModule" : "Tickets",
    "module" : "Cases"
  }, {
    "supportedPlaceHolders" : [ {
      "i18nFieldLabel" : "First Name",
      "fieldLabel" : "First Name",
      "placeHolder" : "${User.First Name}"
    }, {
      "i18nFieldLabel" : "Last Name",
      "fieldLabel" : "Last Name",
      "placeHolder" : "${User.Last Name}"
    }, {
      "i18nFieldLabel" : "Mobile",
      "fieldLabel" : "Mobile",
      "placeHolder" : "${User.Mobile}"
    } ],
    "i18nModule" : "Agent",
    "module" : "User"
  }, {
    "supportedPlaceHolders" : [ {
      "i18nFieldLabel" : "Organization Name",
      "fieldLabel" : "Organization Name",
      "placeHolder" : "${Organization.Organization Name}"
    }, {
      "i18nFieldLabel" : "Organization Logo",
      "fieldLabel" : "Organization Logo",
      "placeHolder" : "${Organization.Organization Logo}"
    }, {
      "i18nFieldLabel" : "City",
      "fieldLabel" : "City",
      "placeHolder" : "${Organization.City}"
    } ],
    "i18nModule" : "Organization",
    "module" : "Organization"
  } ]
}

Cloning a Email Template Attachments

Cloning an exisiting Template's attachments

Credit: 25 credits/call

POST /api/v1/templates/{template_id}/cloneAttachments

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://support.zoho.com/api/v1/templates/1000000013124/cloneAttachments
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "size" : "10247",
    "name" : "mortytwo.jpeg",
    "parentAttachmentId" : "1000000211013",
    "href" : "https://support.zoho.com/api/v1/uploads/1000000212005/content",
    "clonedAttachmentId" : "1000000212005"
  }, {
    "size" : "11682",
    "name" : "12img.png",
    "parentAttachmentId" : "1000000211015",
    "href" : "https://support.zoho.com/api/v1/uploads/1000000212007/content",
    "clonedAttachmentId" : "1000000212007"
  } ]
}

TemplateFolders

A pack of Email templates

Example

{
  "folderDesc" : "contains details",
  "modifiedOn" : null,
  "createdBy" : "4000000008688",
  "folderAccessDetails" : {
    "teams" : [ "4000000008908" ],
    "roles" : [ "4000000023688" ],
    "type" : "restrictedAccess",
    "agents" : [ "4000000008688" ]
  },
  "departmentId" : "4000000007039",
  "modifiedBy" : null,
  "folderName" : "New my Folder",
  "category" : "CUSTOM_FOLDER",
  "createdOn" : "2016-06-02T04:34:42.195Z",
  "templatesCount" : [ {
    "templateType" : "SMS",
    "count" : {
      "tickets" : "19",
      "calls" : "6",
      "solutions" : "0",
      "accounts" : "0",
      "contacts" : "0",
      "tasks" : "6",
      "events" : "6",
      "products" : "0"
    }
  }, {
    "templateType" : "Email",
    "count" : {
      "tickets" : "9",
      "calls" : "0",
      "solutions" : "0",
      "accounts" : "0",
      "contacts" : "0",
      "tasks" : "0",
      "events" : "0",
      "products" : "0"
    }
  } ],
  "folderId" : "4000000043001"
}


Adding a Template Folder

Adding a Template Folder

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
folderName

string

required,
max chars : 250

name of the template folder

folderDesc

string

optional,
max chars : 32000

the description of the folder

departmentId

long

required

the id of the department

folderAccessDetails

object

required

the access details of the folder

Post /api/v1/templateFolders

OAuth Scope

Desk.settings.CREATE

Request Example

  • CURL

$ curl -X Post https://support.zoho.com/api/v1/templateFolders
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "folderDesc" : "contains details", "folderAccessDetails" : { "type" : "allAgents" }, "departmentId" : "4000000007039", "folderName" : "New my Folder" }'

Response Example

{
  "folderDesc" : "contains details",
  "modifiedOn" : null,
  "createdBy" : "4000000008688",
  "folderAccessDetails" : {
    "type" : "allAgents"
  },
  "departmentId" : "4000000007039",
  "modifiedBy" : null,
  "folderName" : "New my Folder",
  "category" : "CUSTOM_FOLDER",
  "createdOn" : "2016-06-02T04:34:42.195Z",
  "folderId" : "4000000043001"
}

Getting a single Template Folder

Listing a particular Template Folder

Credit: 1 credit/call

GET /api/v1/templateFolders/{templateFolder_id}

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://support.zoho.com/api/v1/templateFolders/1892000000082079
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "folderDesc" : null,
  "modifiedOn" : null,
  "createdBy" : null,
  "folderAccessDetails" : {
    "type" : "allAgents"
  },
  "departmentId" : "1892000000082069",
  "modifiedBy" : null,
  "folderName" : "Public Email Templates",
  "category" : "DEFAULT_FOLDER",
  "createdOn" : null,
  "folderId" : "1892000000082079"
}

Updating a Template Folder

Updating a Template Folder

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
folderName

string

optional,
max chars : 250

name of the template folder

folderDesc

string

optional,
max chars : 32000

the description of the folder

departmentId

long

optional

the id of the department

folderAccessDetails

object

optional

the access details of the folder

PATCH /api/v1/templateFolders/{templateFolder_id}

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://support.zoho.com/api/v1/templateFolders/4000000043001
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "folderName" : "NEw Folder" }'

Response Example

{
  "folderDesc" : "contains details",
  "modifiedOn" : "2016-06-02T04:56:34.846Z",
  "createdBy" : "4000000008688",
  "folderAccessDetails" : {
    "type" : "allAgents"
  },
  "departmentId" : "4000000007039",
  "modifiedBy" : "4000000008688",
  "folderName" : "NEw Folder",
  "category" : "CUSTOM_FOLDER",
  "createdOn" : "2016-06-02T04:34:42.000Z",
  "folderId" : "4000000043001"
}

Delete Template Folder

Delete a Template Folder

Credit: 1 credit/call

DELETE /api/v1/templateFolders/{templateFolder_id}

OAuth Scope

Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://support.zoho.com/api/v1/templateFolders/1892000000082079?
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Listing Template Folders

List all Template Folders in alphabetical order

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
departmentId

long

required

the corresponding department to be fetched

from

integer

required,
default : 1,
range : 1-1000

from index, DEFAULT 1

limit

integer

required,
default : 1000,
range : 1-1000

number of folders to be retrieved Range 1-50, DEFAULT 50

string

optional,
max chars : 100

Meta information related to the template Folder. Values allowed are:Ā smsTemplatesCount, emailTemplatesCount. You can pass multiple values by separating them with commas in the API request.

GET /api/v1/templateFolders

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://support.zoho.com/api/v1/templateFolders?departmentId=11000000013068&from=1&limit=100&include=emailTemplatesCount
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

[ {
  "folderDesc" : null,
  "modifiedOn" : "2020-05-03T07:46:46.000Z",
  "createdBy" : "11000000038001",
  "folderAccessDetails" : {
    "teams" : null,
    "roles" : null,
    "type" : "restrictedAccess",
    "rolesAndSubordinates" : null,
    "agents" : [ "11000000038001", "11000000058011" ]
  },
  "departmentId" : "11000000013068",
  "modifiedBy" : "11000000038001",
  "folderName" : "aaaa",
  "category" : "CUSTOM_FOLDER",
  "createdOn" : "2020-05-02T22:59:52.000Z",
  "templatesCount" : [ {
    "templateType" : "Email",
    "count" : {
      "tickets" : "1",
      "calls" : "0",
      "solutions" : "0",
      "accounts" : "0",
      "contacts" : "0",
      "tasks" : "0",
      "events" : "0",
      "products" : "0"
    }
  } ],
  "folderId" : "11000000065077"
}, {
  "folderDesc" : null,
  "modifiedOn" : null,
  "createdBy" : "11000000038001",
  "folderAccessDetails" : {
    "teams" : null,
    "roles" : null,
    "type" : "restrictedAccess",
    "rolesAndSubordinates" : null,
    "agents" : [ "11000000016526", "11000000038001" ]
  },
  "departmentId" : "11000000013068",
  "modifiedBy" : null,
  "folderName" : "accesible by agent1",
  "category" : "CUSTOM_FOLDER",
  "createdOn" : "2020-05-03T07:09:14.000Z",
  "templatesCount" : [ {
    "templateType" : "Email",
    "count" : {
      "tickets" : "2",
      "calls" : "0",
      "solutions" : "0",
      "accounts" : "0",
      "contacts" : "0",
      "tasks" : "0",
      "events" : "0",
      "products" : "0"
    }
  } ],
  "folderId" : "11000000070193"
}, {
  "folderDesc" : null,
  "modifiedOn" : null,
  "createdBy" : null,
  "folderAccessDetails" : {
    "teams" : null,
    "roles" : null,
    "type" : "allAgents",
    "rolesAndSubordinates" : null,
    "agents" : null
  },
  "departmentId" : "11000000013068",
  "modifiedBy" : null,
  "folderName" : "Agent Notification",
  "category" : "DEFAULT_FOLDER",
  "createdOn" : null,
  "templatesCount" : [ {
    "templateType" : "Email",
    "count" : {
      "tickets" : "13",
      "kbCategory" : "10",
      "calls" : "4",
      "solutions" : "0",
      "accounts" : "0",
      "events" : "4",
      "tasks" : "4",
      "contacts" : "0",
      "products" : "0"
    }
  } ],
  "folderId" : "11000000013052"
}, {
  "folderDesc" : null,
  "modifiedOn" : null,
  "createdBy" : null,
  "folderAccessDetails" : {
    "teams" : null,
    "roles" : null,
    "type" : "allAgents",
    "rolesAndSubordinates" : null,
    "agents" : null
  },
  "departmentId" : "11000000013068",
  "modifiedBy" : null,
  "folderName" : "Contact Notification",
  "category" : "DEFAULT_FOLDER",
  "createdOn" : null,
  "templatesCount" : [ {
    "templateType" : "Email",
    "count" : {
      "tickets" : "9",
      "calls" : "0",
      "solutions" : "0",
      "accounts" : "0",
      "contacts" : "0",
      "tasks" : "0",
      "events" : "0",
      "products" : "0"
    }
  } ],
  "folderId" : "11000000013048"
}, {
  "folderDesc" : null,
  "modifiedOn" : null,
  "createdBy" : null,
  "folderAccessDetails" : {
    "teams" : null,
    "roles" : null,
    "type" : "allAgents",
    "rolesAndSubordinates" : null,
    "agents" : null
  },
  "departmentId" : "11000000013068",
  "modifiedBy" : null,
  "folderName" : "Public SMS Templates",
  "category" : "DEFAULT_FOLDER",
  "createdOn" : null,
  "templatesCount" : [ {
    "templateType" : "Email",
    "count" : {
      "tickets" : "0",
      "calls" : "0",
      "solutions" : "0",
      "accounts" : "0",
      "contacts" : "0",
      "tasks" : "0",
      "events" : "0",
      "products" : "0"
    }
  } ],
  "folderId" : "11000000013046"
}, {
  "folderDesc" : null,
  "modifiedOn" : null,
  "createdBy" : null,
  "folderAccessDetails" : {
    "teams" : null,
    "roles" : null,
    "type" : "allAgents",
    "rolesAndSubordinates" : null,
    "agents" : null
  },
  "departmentId" : "11000000013068",
  "modifiedBy" : null,
  "folderName" : "Secondary Contacts Notification",
  "category" : "DEFAULT_FOLDER",
  "createdOn" : null,
  "templatesCount" : [ {
    "templateType" : "Email",
    "count" : {
      "tickets" : "8",
      "calls" : "0",
      "solutions" : "0",
      "accounts" : "0",
      "contacts" : "0",
      "tasks" : "0",
      "events" : "0",
      "products" : "0"
    }
  } ],
  "folderId" : "11000000013054"
}, {
  "folderDesc" : null,
  "modifiedOn" : null,
  "createdBy" : null,
  "folderAccessDetails" : {
    "teams" : null,
    "roles" : null,
    "type" : "allAgents",
    "rolesAndSubordinates" : null,
    "agents" : null
  },
  "departmentId" : "11000000013068",
  "modifiedBy" : null,
  "folderName" : "Team Notification",
  "category" : "DEFAULT_FOLDER",
  "createdOn" : null,
  "templatesCount" : [ {
    "templateType" : "Email",
    "count" : {
      "tickets" : "6",
      "calls" : "3",
      "solutions" : "0",
      "accounts" : "0",
      "events" : "3",
      "tasks" : "3",
      "contacts" : "0",
      "products" : "0"
    }
  } ],
  "folderId" : "11000000013050"
}, {
  "folderDesc" : "tset",
  "modifiedOn" : "2020-04-30T13:09:33.000Z",
  "createdBy" : "11000000016526",
  "folderAccessDetails" : {
    "teams" : null,
    "roles" : null,
    "type" : "restrictedAccess",
    "rolesAndSubordinates" : null,
    "agents" : [ "11000000016526", "11000000038001" ]
  },
  "departmentId" : "11000000013068",
  "modifiedBy" : "11000000016526",
  "folderName" : "zzmyfolder",
  "category" : "CUSTOM_FOLDER",
  "createdOn" : "2020-04-30T10:38:15.000Z",
  "templatesCount" : [ {
    "templateType" : "Email",
    "count" : {
      "tickets" : "39",
      "calls" : "0",
      "solutions" : "0",
      "accounts" : "0",
      "contacts" : "0",
      "tasks" : "0",
      "events" : "0",
      "products" : "0"
    }
  } ],
  "folderId" : "11000000057021"
} ]

IM Channel

A channel refers to the platform or medium through which a message is sent or received. In IM a channel is created using configuration parameters, refer to the settings that can be adjusted to customize the behaviour of the channel.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

Channel ID of the channel

accountName

string

Account name of the channel

integrationServiceType

string

Integration Service of the channel. Available integration services are TELEGRAM, TWILIO, LINE, WECHAT, WHATSAPP, FACEBOOKMESSENGER

defaultBotId

long

Bot ID of the channel

name

string

Name of the channel

isActive

boolean

Is channel Active ?

isStorageEnabled

boolean

Is storage enabled for the channel ?

isSandBox

boolean

Is sandbox channel ?

createdTime

timestamp

Channel creation time

createdBy

long

Agent Id who created the channel

isAuthorizationPending

boolean

Is authorization pending ?

isSubscribed

boolean

Is channel subscribed ?

authenticationURL

string

Authentication Url

isOwner

boolean

Is the agent owner of the channel ?

conversationCount

long

Total conversation count of the channel

universalLink

string

Universal link of the channel

isDeleted

boolean

Is channel deleted ?

photoURL

string

Photo Url of the channel

departmentId

long

Department Id for which channel is associated

appName

string

App name and channel name is same for a IM channel

code

string

Code Name of the channel. This is uniquely generated while creating a channel by using the channel name.

configParams

JSONArray

ConfigParams contains a list of configuration properties of the channel with which a channel is created. Config param is specific for a integration.

Example

{
  "defaultBotId" : "-1",
  "code" : "TEST_WA_CHANNEL_4",
  "accountName" : "+14328784611",
  "integrationServiceType" : "WHATSAPP",
  "appName" : "Test WA Channel",
  "departmentId" : "186543000000006907",
  "universalLink" : "https://wa.me/14328784611",
  "isActive" : true,
  "isAuthorizationPending" : false,
  "photoURL" : "https://desk.zoho.com/api/v1/channels/test_wa_channel_4/photo?orgId=78412359",
  "isSubscribed" : true,
  "isDeleted" : false,
  "configParams" : [ {
    "isRequired" : false,
    "modifiedTime" : "2024-03-22T05:33:40.000Z",
    "isSecured" : false,
    "isDeprecated" : false,
    "defaultValue" : "CREATED",
    "parentParams" : [ ],
    "label" : "Current Onboarding Status",
    "type" : "SYSTEM_DEFINED",
    "uuid" : "56302cb334385d818e3400a023091560",
    "isInternal" : false,
    "name" : "CURRENT_STATUS",
    "options" : null,
    "id" : "3942000001423031",
    "value" : "CONNECTED",
    "maxLen" : "255"
  }, {
    "isRequired" : true,
    "modifiedTime" : "2024-03-22T05:33:40.000Z",
    "isSecured" : false,
    "isDeprecated" : false,
    "defaultValue" : null,
    "parentParams" : [ ],
    "label" : "WhatsApp Phone Number",
    "type" : "OPTIONS_COMPUTED",
    "uuid" : "56302cb334385d818e3400a023091560",
    "isInternal" : false,
    "name" : "PHONE_NUMBER",
    "options" : null,
    "id" : "3942000001423033",
    "value" : "+14328784611",
    "maxLen" : "255"
  } ],
  "isStorageEnabled" : false,
  "createdBy" : "78412824",
  "isOwner" : true,
  "conversationCount" : "4",
  "meta" : [ ],
  "name" : "Test WA Channel",
  "createdTime" : "2024-03-22T05:33:40.000Z",
  "id" : "3942000001423029",
  "authenticationURL" : null,
  "isSandBox" : false
}


List Channels

This API lists all channels

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
integrationServiceId

string

optional,
max chars : 100

Integration Service ID to filter. Available integration services are TELEGRAM, TWILIO, LINE, WECHAT, WHATSAPP, FACEBOOKMESSENGER

departmentId

long

optional

Department Id for which channels to be fetched

include

string

optional,
max chars : 100

Additional information related to the channels.If passed in the param, then these values will be appended in the channel response. Allowed values are preference,creator,meta,configParams

isSandBox

boolean

optional

Set this to fetch sandbox channels only.

isActive

boolean

optional

Set this to fetch only the active channels

includeDeleted

boolean

optional

Set this to fetch along with the deleted channels

configName

string

optional,
max chars : 100

Set this to fetch channels with the given Config Param Name. Refer config param attribute of channel to get Config Name

configValue

string

optional,
max chars : 100

Set this to fetch channels with the given Config Param Value. Refer config param attribute of channel to get Config Value

excludeConfigName

string

optional,
max chars : 100

Set this to fetch channels with the not given Config Param Name. Refer config param attribute of channel to get Config Name

excludeConfigValue

string

optional,
max chars : 100

Set this to fetch channels with the not given Config Param Value. Refer config param attribute of channel to get Config Value

GET /api/v1/im/channels

OAuth Scope

Desk.basic.READ , Desk.InstantMessages.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/im/channels
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "defaultBotId" : "-1",
    "code" : "SANDBOX",
    "accountName" : "+13312040199",
    "integrationServiceType" : "WHATSAPP",
    "appName" : "Sandbox",
    "departmentId" : "186543000000006907",
    "universalLink" : "https://wa.me/13312040199",
    "isActive" : true,
    "isAuthorizationPending" : false,
    "photoURL" : "https://desk.zoho.com/api/v1/channels/sandbox/photo?orgId=78412359",
    "isSubscribed" : true,
    "isDeleted" : false,
    "isStorageEnabled" : false,
    "createdBy" : "78412824",
    "isOwner" : true,
    "name" : "Sandbox",
    "createdTime" : "2023-09-04T09:13:56.000Z",
    "id" : "3942000000045001",
    "authenticationURL" : null,
    "isSandBox" : true
  }, {
    "defaultBotId" : "-1",
    "code" : "TEST_SOFTWARE_4_3",
    "accountName" : "Test Software 4",
    "integrationServiceType" : "FACEBOOKMESSENGER",
    "appName" : "Test Software 4",
    "departmentId" : "186543000000393040",
    "universalLink" : "https://m.me/168123406390163",
    "isActive" : true,
    "isAuthorizationPending" : false,
    "photoURL" : "https://desk.zoho.com/api/v1/channels/test_software_4_3/photo?orgId=78412359",
    "isSubscribed" : true,
    "isDeleted" : false,
    "isStorageEnabled" : false,
    "createdBy" : "78412824",
    "isOwner" : true,
    "name" : "Test Software 4",
    "createdTime" : "2024-02-07T06:28:32.000Z",
    "id" : "3942000000943035",
    "authenticationURL" : null,
    "isSandBox" : false
  }, {
    "defaultBotId" : "-1",
    "code" : "TEST_DEP",
    "accountName" : "ZImAbhiTestBot",
    "integrationServiceType" : "TELEGRAM",
    "appName" : "Test DEP",
    "departmentId" : "186543000000393040",
    "universalLink" : "https://t.me/ZImAbhiTestBot",
    "isActive" : true,
    "isAuthorizationPending" : false,
    "photoURL" : "https://desk.zoho.com/api/v1/channels/test_dep/photo?orgId=78412359",
    "isSubscribed" : true,
    "isDeleted" : false,
    "isStorageEnabled" : false,
    "createdBy" : "76837521",
    "isOwner" : true,
    "name" : "Test DEP",
    "createdTime" : "2024-01-16T04:17:16.000Z",
    "id" : "3942000000735961",
    "authenticationURL" : null,
    "isSandBox" : false
  } ]
}

Get a Channel

This API fetches details of an channel.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
include

string

optional,
max chars : 100

Additional information related to the channel. Allowed values are preference, creator

GET /api/v1/im/channels/{channel_id}

OAuth Scope

Desk.basic.READ , Desk.InstantMessages.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/im/channels/3942000001423029
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "defaultBotId" : "-1",
  "code" : "TEST_WA_CHANNEL_4",
  "accountName" : "+14328784611",
  "integrationServiceType" : "WHATSAPP",
  "appName" : "Test WA Channel",
  "departmentId" : "186543000000006907",
  "universalLink" : "https://wa.me/14328784611",
  "isActive" : true,
  "isAuthorizationPending" : false,
  "photoURL" : "https://desk.zoho.com/api/v1/channels/test_wa_channel_4/photo?orgId=78412359",
  "isSubscribed" : true,
  "isDeleted" : false,
  "configParams" : [ {
    "isRequired" : false,
    "modifiedTime" : "2024-03-22T05:33:40.000Z",
    "isSecured" : false,
    "isDeprecated" : false,
    "defaultValue" : "CREATED",
    "parentParams" : [ ],
    "label" : "Current Onboarding Status",
    "type" : "SYSTEM_DEFINED",
    "uuid" : "56302cb334385d818e3400a023091560",
    "isInternal" : false,
    "name" : "CURRENT_STATUS",
    "options" : null,
    "id" : "3942000001423031",
    "value" : "CONNECTED",
    "maxLen" : "255"
  }, {
    "isRequired" : true,
    "modifiedTime" : "2024-03-22T05:33:40.000Z",
    "isSecured" : false,
    "isDeprecated" : false,
    "defaultValue" : null,
    "parentParams" : [ ],
    "label" : "WhatsApp Phone Number",
    "type" : "OPTIONS_COMPUTED",
    "uuid" : "56302cb334385d818e3400a023091560",
    "isInternal" : false,
    "name" : "PHONE_NUMBER",
    "options" : null,
    "id" : "3942000001423033",
    "value" : "+14328784611",
    "maxLen" : "255"
  } ],
  "isStorageEnabled" : false,
  "createdBy" : "78412824",
  "isOwner" : true,
  "conversationCount" : "4",
  "meta" : [ ],
  "name" : "Test WA Channel",
  "createdTime" : "2024-03-22T05:33:40.000Z",
  "id" : "3942000001423029",
  "authenticationURL" : null,
  "isSandBox" : false
}

Initiate Session

This API initiates a session with a template message

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
receiverId

string

required,
max chars : 100

ID to which Message Has to be sent

receiverType

string

required,
max chars : 100

Specifies receiverID type. Allowed value PHONENUMBER

cannedMessageId

long

required

TemplateMessageId to send that template

message

string

required,
max chars : 1024

Content of the message

headerMessage

string

optional,
max chars : 60

Content of the header message

urlMessage

string

optional,
max chars : 2000

Content of the URL message

language

string

required,
max chars : 50

Language of Translation. Enter this input in ISO language code. For example en, fr, de, bn, ta etc

meta

JSONArray

optional

Message meta to be added to chat message

POST /api/v1/im/channels/([0-9]+)/initiateSession

OAuth Scope

Desk.InstantMessages.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/im/channels/([0-9]+)/initiateSession
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "receiverId" : "+918478935387", "receiverType" : "PHONENUMBER", "cannedMessageId" : "3942000001074175", "language" : "en", "message" : "Welcome to Tasty Bakery. What would you like to eat?" }'

Response Example

{
  "template" : {
    "rows" : [ {
      "arrangement" : "list",
      "columns" : [ {
        "text" : {
          "style" : "SUB_TITLE",
          "text" : "Welcome to Tasty Bakery. What would you like to eat?"
        },
        "type" : "TEXT"
      } ]
    }, {
      "arrangement" : "list",
      "columns" : [ {
        "button" : {
          "action" : "REPLY",
          "text" : "Cakes",
          "value" : ""
        },
        "type" : "BUTTON"
      }, {
        "button" : {
          "action" : "REPLY",
          "text" : "pizza",
          "value" : ""
        },
        "type" : "BUTTON"
      } ]
    } ]
  },
  "kbArticle" : null,
  "fullContentURL" : null,
  "externalInfo" : null,
  "isRead" : true,
  "index" : "12",
  "sessionId" : "3942000001423083",
  "type" : "TEMPLATE",
  "ticketWebUrl" : "https://desk.zoho.com/support/abhicom4/ShowHomePage.do#Cases/dv/186543000001662116",
  "actor" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/186543000000190001/photo?orgId=78412359",
    "contactName" : null,
    "name" : "Abhishek Aich",
    "externalId" : null,
    "id" : "186543000000190001",
    "type" : "AGENT",
    "email" : "zykler.sales@zoho.com"
  },
  "layout" : null,
  "displayMessage" : "Welcome to Tasty Bakery. What would you like to eat?",
  "attachment" : null,
  "meta" : {
    "BOT_REPLY_STATUS" : null,
    "DESK_TICKET_ID" : "186543000001662116",
    "DESK_KB_ARTICLE_TRANSLATION_ID" : null,
    "GC_SELECTED" : null,
    "DESK_TICKET_NUMBER" : "480",
    "BROADCAST_TRACKING_ID" : null,
    "GC_SKIPPED" : null,
    "GC_TRANSFERRED" : null,
    "COST" : null,
    "BROADCAST_ID" : null,
    "RATING_STAR" : null,
    "SYSTEM_MESSAGE_TYPE" : null,
    "REACTION" : null,
    "CANNED_MESSAGE_ID" : "3942000001074175",
    "UNKNOWN" : null,
    "GC_FETCH" : null,
    "FAILED_REASON" : null
  },
  "replyToMessage" : null,
  "createdTime" : "2024-03-26T07:42:13.000Z",
  "action" : null,
  "statusUpdatedTime" : "2024-03-26T07:42:13.000Z",
  "location" : null,
  "id" : "3942000001456011",
  "contentType" : "text/plain",
  "direction" : "OUT",
  "status" : "QUEUED",
  "info" : null
}

Start a Facebook Messenger Session

This API is designed to trigger Facebook Messenger messages to end users outside the standard messaging window, provided you have the Facebook comment ID and Facebook user ID from a post where the user interacted. In facebookMessengerPayload JSONObject, facebookUserId and facebookCommentId are mandatory params, if not passed in the payload, it will throw API error. Also, a single message can be sent with a given comment id. Attachment is also supported to be sent but make sure that if attachment is added, do not add message in facebookMessengerPayload JSON since it is restricted to send both attachment and message altogether in Facebook

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
payload

null

Session payload for Facebook Messenger

File Params

file

Content-Type:multipart/form-data

File attachment to send

Attributes

Param Name
Data Type
Description
integrationServiceId

string

required,
max chars : 100

Integration Service of the channel. Only available integration service is FACEBOOKMESSENGER

facebookMessengerPayload

JSONObject

optional

Facebook messenger payload for which the session needed to be created and message to be sent

meta

JSONArray

optional

Message meta to be added to chat message

POST /api/v1/im/channels/([0-9]+)/sessions

OAuth Scope

Desk.InstantMessages.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/im/channels/([0-9]+)/sessions
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "integrationServiceId" : "FACEBOOKMESSENGER", "facebookMessengerPayload" : { "facebookUserId" : "123456778", "facebookUserName" : "John Cena", "facebookCommentId" : "122127450026859324_989216176516248", "message" : "This is test message" } }'

Response Example

{
  "template" : null,
  "kbArticle" : null,
  "fullContentURL" : null,
  "externalInfo" : null,
  "isRead" : true,
  "index" : "31",
  "sessionId" : "41922000000005839",
  "type" : "TEXT",
  "ticketWebUrl" : "https://desk.zoho.com/support/testportal/ShowHomePage.do#Cases/dv/8738475683468768",
  "actor" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/264775000000190001/photo?orgId=108097340",
    "contactId" : null,
    "contactName" : null,
    "name" : "Abhi Aich",
    "zohoService" : "ZOHO_DESK",
    "externalId" : null,
    "id" : "264775000000190001",
    "type" : "AGENT",
    "email" : "test.email+deskim@zoho.com"
  },
  "layout" : null,
  "displayMessage" : "This is test message",
  "attachment" : null,
  "meta" : {
    "BOT_REPLY_STATUS" : null,
    "SKIP_PAYMENT" : null,
    "DESK_TICKET_ID" : "264775000000547304",
    "DESK_KB_ARTICLE_TRANSLATION_ID" : null,
    "CTWA_CLID" : null,
    "GC_SELECTED" : null,
    "DESK_TICKET_NUMBER" : "104",
    "PRODUCT_ID" : null,
    "BROADCAST_TRACKING_ID" : null,
    "GC_SKIPPED" : null,
    "GC_TRANSFERRED" : null,
    "COST" : null,
    "BROADCAST_ID" : null,
    "RATING_STAR" : null,
    "SYSTEM_MESSAGE_TYPE" : null,
    "REACTION" : null,
    "CANNED_MESSAGE_ID" : null,
    "CATALOG_ID" : null,
    "UNKNOWN" : null,
    "GC_FETCH" : null,
    "FAILED_REASON" : null,
    "FB_COMMENT_ID" : "122127450026859324_989216176516248"
  },
  "replyToMessage" : null,
  "createdTime" : "2025-07-26T06:22:03.563Z",
  "action" : null,
  "statusUpdatedTime" : "2025-07-26T06:22:03.579Z",
  "location" : null,
  "id" : "41922000000063019",
  "contentType" : "text/plain",
  "direction" : "OUT",
  "status" : "QUEUED",
  "info" : null
}

IM Template Message

An IM template Message predefined comman message to send while initiating a session

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

Template Message ID

title

string

Message title

displayMessage

string

Display Message

isPrivate

boolean

Specify whether the message is private to the creator

message

string

Content of the message

tags

string

Message tags

modifiedTime

timestamp

Last modified time

departmentId

long

Department ID

wabaId

string

Waba ID

type

string

Message Type. Allowed value is TEMPLATE

status

string

Message status

isActive

boolean

Is active ?

actor

JSONObject

Actor

translations

JSONArray

List of translations

Example

{
  "modifiedTime" : "2024-03-22T05:36:02.000Z",
  "departmentId" : "186543000000006907",
  "title" : "WhatsApp marketing",
  "message" : "Welcome to Tasty Bakery. What would you like to eat?",
  "type" : "TEMPLATE",
  "isActive" : true,
  "tags" : "MARKETING",
  "actor" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/186543000000190001/photo?orgId=78412359",
    "name" : "Abhishek Aich",
    "id" : "186543000000190001",
    "type" : "AGENT",
    "email" : "zykler@sales.com"
  },
  "wabaId" : "102086489526176",
  "displayMessage" : "Welcome to Tasty Bakery. What would you like to eat?",
  "translations" : [ {
    "displayMessage" : "Welcome to Tasty Bakery. What would you like to eat?",
    "templateItems" : {
      "buttons" : [ {
        "action" : null,
        "type" : "QUICK_REPLY",
        "message" : "Cakes"
      }, {
        "action" : null,
        "type" : "QUICK_REPLY",
        "message" : "pizza"
      } ],
      "footer" : {
        "type" : "TEXT",
        "message" : "Thank you"
      },
      "header" : {
        "attachment" : null,
        "type" : "TEXT",
        "message" : "Welcome Back"
      }
    },
    "language" : "en",
    "id" : "3942000001074177",
    "message" : "Welcome to Tasty Bakery. What would you like to eat?",
    "rejectionReason" : null,
    "status" : "APPROVED"
  } ],
  "id" : "3942000001074175",
  "status" : "APPROVED"
}


List Template Message

This API lists all sessions

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional,
default : 0

Index number, starting from which the canned messages must be fetched

limit

int

optional,
default : 0

Number of canned messages to fetch

modifiedAfter

timestamp

optional

After which date entities to be included. Enter a date in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ.

tag

string

optional,
max chars : 100

Tag to filter by

isActive

boolean

optional

Canned Message Active Status

departmentId

long

required

Department ID for which the canned messages to be fetched

wabaId

string

optional,
max chars : 100

Waba ID for which the canned messages to be fetched

channelId

long

optional

Channel ID for which the canned messages to be fetched

contactId

long

optional

Contact ID for which the canned messages to be applied

status

string

optional,
max chars : 100

Filter with Status of Message Applicable only if messageType is Template. Allowed values are PENDING, FAILED, APPROVED, REJECTED

type

string

required,
max chars : 100

Filter by MessageType. Allowed values are TEMPLATE

language

string

optional,
max chars : 100

Language to filter canned message. Enter this input in ISO language code. For example en, fr, de, bn, ta etc

sessionId

long

optional

Session ID for which the canned messages to be applied

ticketId

long

optional

Ticket id for which the canned message has to be applied

GET /api/v1/im/cannedMessages

OAuth Scope

Desk.basic.READ , Desk.InstantMessages.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/im/cannedMessages
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2024-03-22T05:36:02.000Z",
    "departmentId" : "186543000000006907",
    "title" : "fb marketing",
    "message" : "Welcome to Tasty Bakery. What would you like to eat?",
    "type" : "TEMPLATE",
    "isActive" : true,
    "tags" : "MARKETING",
    "actor" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/186543000000190001/photo?orgId=78412359",
      "name" : "Abhishek Aich",
      "id" : "186543000000190001",
      "type" : "AGENT",
      "email" : "zykler@sales.com"
    },
    "wabaId" : "102086489526176",
    "displayMessage" : "Welcome to Tasty Bakery. What would you like to eat?",
    "translations" : [ {
      "displayMessage" : "Welcome to Tasty Bakery. What would you like to eat?",
      "templateItems" : {
        "buttons" : [ {
          "action" : null,
          "type" : "QUICK_REPLY",
          "message" : "Cakes"
        }, {
          "action" : null,
          "type" : "QUICK_REPLY",
          "message" : "pizza"
        } ],
        "footer" : null,
        "header" : null
      },
      "language" : "en",
      "id" : "3942000001074177",
      "message" : "Welcome to Tasty Bakery. What would you like to eat?",
      "rejectionReason" : null,
      "status" : "APPROVED"
    } ],
    "id" : "3942000001074175",
    "status" : "APPROVED"
  }, {
    "modifiedTime" : "2024-03-22T05:35:53.000Z",
    "departmentId" : "186543000000006907",
    "title" : "Rice Marketing",
    "message" : "Hello please select our new rice items",
    "type" : "TEMPLATE",
    "isActive" : true,
    "tags" : "MARKETING",
    "actor" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/186543000000190001/photo?orgId=78412359",
      "name" : "Abhishek Aich",
      "id" : "186543000000190001",
      "type" : "AGENT",
      "email" : "zykler@sales.com"
    },
    "wabaId" : "102086489526176",
    "displayMessage" : "Hello please select our new rice items",
    "translations" : [ {
      "displayMessage" : "Hello please select our new rice items",
      "templateItems" : {
        "buttons" : [ {
          "action" : null,
          "type" : "QUICK_REPLY",
          "message" : "Boiled Rice"
        }, {
          "action" : null,
          "type" : "QUICK_REPLY",
          "message" : "Rice Cake"
        }, {
          "action" : null,
          "type" : "QUICK_REPLY",
          "message" : "Fried Rice"
        } ],
        "footer" : null,
        "header" : {
          "attachment" : null,
          "type" : "TEXT",
          "message" : "Welcome Back"
        }
      },
      "language" : "en",
      "id" : "3942000001423160",
      "message" : "Hello please select our new rice items",
      "rejectionReason" : null,
      "status" : "APPROVED"
    } ],
    "id" : "3942000001423158",
    "status" : "APPROVED"
  }, {
    "modifiedTime" : "2024-03-22T04:47:53.000Z",
    "departmentId" : "186543000000006907",
    "title" : "Whatsapp marketing",
    "message" : "Welcome to Tasty Bakery. What would you like to eat?\nHere are our new products",
    "type" : "TEMPLATE",
    "isActive" : true,
    "tags" : "UTILITY",
    "actor" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/186543000000190001/photo?orgId=78412359",
      "name" : "Abhishek Aich",
      "id" : "186543000000190001",
      "type" : "AGENT",
      "email" : "zykler@sales.com"
    },
    "wabaId" : "102086489526176",
    "displayMessage" : "Welcome to Tasty Bakery. What would you like to eat?\nHere are our new products",
    "translations" : [ {
      "displayMessage" : "Welcome to Tasty Bakery. What would you like to eat?\nHere are our new products",
      "templateItems" : {
        "buttons" : [ {
          "action" : null,
          "type" : "QUICK_REPLY",
          "message" : "Croissants"
        }, {
          "action" : null,
          "type" : "QUICK_REPLY",
          "message" : "Pizza"
        } ],
        "footer" : null,
        "header" : null
      },
      "language" : "en",
      "id" : "3942000001262607",
      "message" : "Welcome to Tasty Bakery. What would you like to eat?\nHere are our new products",
      "rejectionReason" : null,
      "status" : "APPROVED"
    } ],
    "id" : "3942000001262605",
    "status" : "APPROVED"
  } ],
  "hasMore" : false
}

Get a Template Message

This API fetches details of a template message.

Credit: 1 credit/call

GET /api/v1/im/cannedMessages/{template_message_id}

OAuth Scope

Desk.basic.READ , Desk.InstantMessages.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/im/cannedMessages/3942000001300011
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2024-03-22T05:36:02.000Z",
  "departmentId" : "186543000000006907",
  "title" : "fb marketing",
  "message" : "Welcome to Tasty Bakery. What would you like to eat?",
  "type" : "TEMPLATE",
  "isActive" : true,
  "tags" : "MARKETING",
  "actor" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/186543000000190001/photo?orgId=78412359",
    "name" : "Abhishek Aich",
    "id" : "186543000000190001",
    "type" : "AGENT",
    "email" : "zykler@sales.com"
  },
  "wabaId" : "102086489526176",
  "displayMessage" : "Welcome to Tasty Bakery. What would you like to eat?",
  "translations" : [ {
    "displayMessage" : "Welcome to Tasty Bakery. What would you like to eat?",
    "templateItems" : {
      "buttons" : [ {
        "action" : null,
        "type" : "QUICK_REPLY",
        "message" : "Cakes"
      }, {
        "action" : null,
        "type" : "QUICK_REPLY",
        "message" : "pizza"
      } ],
      "footer" : {
        "type" : "TEXT",
        "message" : "Thank you"
      },
      "header" : null
    },
    "language" : "en",
    "id" : "3942000001074177",
    "message" : "Welcome to Tasty Bakery. What would you like to eat?",
    "rejectionReason" : null,
    "status" : "APPROVED"
  } ],
  "id" : "3942000001074175",
  "status" : "APPROVED"
}

Get applied Canned Message

Get a canned message or a template message with applied contact information in the placeholders

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
contactId

long

optional

Contact id for which the canned message has to be applied

sessionId

long

optional

Session id for which the canned message has to be applied

language

string

optional,
max chars : 100

Language for which the canned message has to be applied. Enter this input in ISO language code. For example en, fr, de, bn, ta etc

ticketId

long

optional

Ticket id for which the canned message has to be applied

POST /api/v1/im/cannedMessages/{template_message_id}/apply

OAuth Scope

Desk.basic.CREATE , Desk.InstantMessages.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/im/cannedMessages/111000005515319/apply
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2025-05-22T06:16:49.347Z",
  "departmentId" : "222222000000006907",
  "title" : "UTILITY template - orders",
  "message" : "Dear John Cena, this is the updated invoice for the month of May\n\ncheck the policy document  ",
  "type" : "TEMPLATE",
  "isActive" : true,
  "tags" : "UTILITY",
  "actor" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/11111111000005421001/photo?orgId=111111111",
    "name" : "De Paul",
    "id" : "11111111000005421001",
    "type" : "AGENT",
    "email" : "de.paul@zykler.com"
  },
  "wabaId" : "123456789123456789",
  "displayMessage" : "Dear John Cena, this is the updated invoice for the month of May\n\ncheck the policy document  ",
  "translations" : [ {
    "modifiedTime" : null,
    "displayMessage" : "Dear ${Contacts.Last Name}, this is the updated invoice for the month of May\n\ncheck the policy document ${Contacts.policy}",
    "templateItems" : {
      "buttons" : [ {
        "action" : "+1123456787",
        "type" : "PHONE_NUMBER",
        "message" : "Call us"
      }, {
        "action" : "https://www.zoho.com/visit-us",
        "type" : "URL",
        "message" : "Visit Us"
      } ],
      "footer" : null,
      "header" : {
        "attachment" : {
          "size" : "829429",
          "name" : "test.png",
          "id" : "1111000005511111",
          "type" : "image/png",
          "uuid" : "5f0a1866c9885cdcbf81ed20ca630738",
          "url" : "https://desk.zoho.com/api/v1/im/attachments/5f0a1866c9885cdcbf81ed20ca630738?orgId=111111111"
        },
        "type" : "IMAGE",
        "message" : null
      }
    },
    "language" : "en",
    "id" : "1111000005515321",
    "message" : "Dear ${Contacts.Last Name}, this is the updated invoice for the month of May\n\ncheck the policy document ${Contacts.policy}",
    "uuid" : "65f0db516cb659e3b872d579c3d81424",
    "status" : "APPROVED",
    "failedReason" : null
  } ],
  "id" : "111000005515319",
  "primaryLanguage" : "en",
  "status" : "APPROVED"
}

IM Session

A session denotes the communication between an agent and an end-user, during which messages are exchanged. Several sessions can exist within a channel. Multiple messages can be included within a single session. Additionally, each end-user will have an exclusive session linked to a channel.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

Sesion ID of the session

channelId

long

Channel ID for which the session is created

status

string

Status filter for the conversations. Allowed values are OPEN, ON_PROGRESS ,ON_HOLD ,BLOCKED

createdTime

timestamp

Session creation time

agentId

long

Agent Id assicoated with the session

botId

long

Bot ID associated with the session

actor

JSONObject

Session actor

subject

string

Subject of the session

messagesCount

int

Total message count in the session

agentLastActiveTime

timestamp

Last active time of agent

contactLastActiveTime

timestamp

End user last active time of agent

lastActiveTime

timestamp

Last active time of agent

unreadMessagesCount

int

Total unread message count in the session

integrationService

string

Integration Service of the channel. Available integration services are TELEGRAM, TWILIO, LINE, WECHAT, WHATSAPP, FACEBOOKMESSENGER

replyStatus

string

Session reply status. Allowed values are ACCEPTED, CHANNEL_INACTIVE, CHANNEL_REVOKED, SESSION_ENDED, SESSION_BLOCKED, SESSION_EXPIRED, UNASSIGNED, NOT_AN_ASSIGNEE, CREDIT_EXHAUSTED, ACCESSTOKEN_EXPIRED, PERMISSION_REVOKED, UNEXPECTED_ERROR, PAGE_REMOVED, SANDBOX_LIMIT_REACHED, CHANNEL_DELETED, ENDUSER_OFFLINE

contactId

long

End user desk contact Id

meta

JSONObject

Session meta

deskAssignee

JSONObject

Session assignee

channel

string

Channel code

Example

{
  "agentId" : "78412824",
  "lastActiveTime" : "2024-03-22T07:57:13.000Z",
  "contactId" : "186543000000451259",
  "subject" : "This is test 2   Abhishek Aich",
  "unreadMessagesCount" : "0",
  "channel" : "TEST_WA_CHANNEL_4",
  "integrationService" : "WHATSAPP",
  "deskAssignee" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/186543000000190001/photo?orgId=78412359",
    "botType" : null,
    "contactName" : null,
    "name" : "Abhishek Aich",
    "externalId" : null,
    "id" : "186543000000190001",
    "type" : "AGENT",
    "email" : "zykler.sales@zoho.com"
  },
  "contactLastActiveTime" : "2024-03-22T05:51:09.000Z",
  "actor" : {
    "photoURL" : null,
    "botType" : null,
    "contactName" : "Abhishek Aich",
    "name" : "Abhishek Aich",
    "externalId" : "+918478935387",
    "id" : "186543000000451285",
    "type" : "ENDUSER",
    "email" : null
  },
  "meta" : {
    "DESK_TICKET_ID" : "186543000001662116",
    "DESK_TICKET_NUMBER" : "480"
  },
  "createdTime" : "2024-03-22T05:34:19.000Z",
  "replyStatus" : "SESSION_EXPIRED",
  "botId" : null,
  "messagesCount" : "10",
  "id" : "3942000001423083",
  "channelId" : "3942000001423029",
  "agentLastActiveTime" : "2024-03-22T07:57:13.000Z",
  "status" : "ON_PROGRESS"
}


List Sessions

This API lists all sessions

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional,
default : 0

Index number, starting from which the conversations must be fetched

limit

int

optional,
default : 0

Number of conversations to fetch

channelId

long

optional

Filter conversations of a channel

botIds

long

optional

Filter conversations assigned to bots

agentId

long

optional

Filter conversations assigned to an agent

contactId

long

optional

Filter conversations of a contact

profileId

long

optional

Filter conversations of a profile

modifiedAfter

timestamp

optional

After which modified date conversations should be included. Enter a date in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ.

createdBefore

timestamp

optional

Before which date conversations should be included. Enter a date in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ.

createdAfter

timestamp

optional

After which date conversations should be included. Enter a date in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ.

status

string

optional,
max chars : 100

Status filter for the conversations. Allowed values are OPEN, ON_PROGRESS ,ON_HOLD ,BLOCKED

assigneeFilter

string

optional,
max chars : 100

Assignment status filter for the conversations. Allowed values are MINE, UNASSIGNED ,NONE ,BOT

departmentId

long

optional

Filter conversations of all channels in given department

excludeSyncingChannels

boolean

optional

Exclude session of channels which are in syncing status

GET /api/v1/im/sessions

OAuth Scope

Desk.InstantMessages.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/im/sessions
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "agentId" : "78412824",
    "lastActiveTime" : "2024-03-22T07:57:13.000Z",
    "contactId" : "186543000000451259",
    "subject" : "This is test 2   Abhishek Aich",
    "unreadMessagesCount" : "0",
    "channel" : "TEST_WA_CHANNEL_4",
    "integrationService" : "WHATSAPP",
    "deskAssignee" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/186543000000190001/photo?orgId=78412359",
      "botType" : null,
      "contactName" : null,
      "name" : "Abhishek Aich",
      "externalId" : null,
      "id" : "186543000000190001",
      "type" : "AGENT",
      "email" : "zykler.sales@zoho.com"
    },
    "contactLastActiveTime" : "2024-03-22T05:51:09.000Z",
    "actor" : {
      "photoURL" : null,
      "botType" : null,
      "contactName" : "Abhishek Aich",
      "name" : "Abhishek Aich",
      "externalId" : "+918478935387",
      "id" : "186543000000451285",
      "type" : "ENDUSER",
      "email" : null
    },
    "meta" : {
      "DESK_TICKET_ID" : "186543000001662116",
      "DESK_TICKET_NUMBER" : "480"
    },
    "createdTime" : "2024-03-22T05:34:19.000Z",
    "replyStatus" : "SESSION_EXPIRED",
    "botId" : null,
    "messagesCount" : "10",
    "id" : "3942000001423083",
    "channelId" : "3942000001423029",
    "agentLastActiveTime" : "2024-03-22T07:57:13.000Z",
    "status" : "ON_PROGRESS"
  }, {
    "agentId" : "78412824",
    "lastActiveTime" : "2024-03-22T07:57:03.000Z",
    "contactId" : "186543000000451259",
    "subject" : "This is test 2   Abhishek Aich",
    "unreadMessagesCount" : "0",
    "channel" : "SANDBOX",
    "integrationService" : "WHATSAPP",
    "deskAssignee" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/186543000000190001/photo?orgId=78412359",
      "botType" : null,
      "contactName" : null,
      "name" : "Abhishek Aich",
      "externalId" : null,
      "id" : "186543000000190001",
      "type" : "AGENT",
      "email" : "zykler.sales@zoho.com"
    },
    "contactLastActiveTime" : "2024-03-21T09:11:00.000Z",
    "actor" : {
      "photoURL" : null,
      "botType" : null,
      "contactName" : "Abhishek Aich",
      "name" : "Abhishek Aich",
      "externalId" : "+918478935387",
      "id" : "186543000000451285",
      "type" : "ENDUSER",
      "email" : null
    },
    "meta" : {
      "DESK_TICKET_ID" : "186543000001653193",
      "DESK_TICKET_NUMBER" : "477"
    },
    "createdTime" : "2023-09-04T09:30:15.000Z",
    "replyStatus" : "SESSION_EXPIRED",
    "botId" : null,
    "messagesCount" : "65",
    "id" : "3942000000042104",
    "channelId" : "3942000000045001",
    "agentLastActiveTime" : "2024-03-22T07:57:03.000Z",
    "status" : "ON_PROGRESS"
  }, {
    "agentId" : "78412824",
    "lastActiveTime" : "2024-03-22T05:32:38.000Z",
    "contactId" : "186543000000451259",
    "subject" : "Hi good morning",
    "unreadMessagesCount" : "0",
    "channel" : "WA_CHANNEL",
    "integrationService" : "WHATSAPP",
    "deskAssignee" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/186543000000190001/photo?orgId=78412359",
      "botType" : null,
      "contactName" : null,
      "name" : "Abhishek Aich",
      "externalId" : null,
      "id" : "186543000000190001",
      "type" : "AGENT",
      "email" : "zykler.sales@zoho.com"
    },
    "contactLastActiveTime" : "2024-03-22T05:04:06.000Z",
    "actor" : {
      "photoURL" : null,
      "botType" : null,
      "contactName" : "Abhishek Aich",
      "name" : "Abhishek Aich",
      "externalId" : "+918478935387",
      "id" : "186543000000451285",
      "type" : "ENDUSER",
      "email" : null
    },
    "meta" : {
      "DESK_TICKET_ID" : "186543000001662009",
      "DESK_TICKET_NUMBER" : "479"
    },
    "createdTime" : "2024-03-22T05:04:06.000Z",
    "replyStatus" : "CHANNEL_DELETED",
    "botId" : null,
    "messagesCount" : "5",
    "id" : "3942000001422171",
    "channelId" : "3942000001422011",
    "agentLastActiveTime" : "2024-03-22T05:32:38.000Z",
    "status" : "ON_PROGRESS"
  } ],
  "hasMore" : false
}

Get a session

This API fetches details of an session.

Credit: 1 credit/call

GET /api/v1/im/sessions/{session_id}

OAuth Scope

Desk.InstantMessages.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/im/sessions/3942000001423083
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "agentId" : "78412824",
  "lastActiveTime" : "2024-03-22T07:57:13.000Z",
  "contactId" : "186543000000451259",
  "subject" : "This is test 2   Abhishek Aich",
  "unreadMessagesCount" : "0",
  "channel" : "TEST_WA_CHANNEL_4",
  "integrationService" : "WHATSAPP",
  "deskAssignee" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/186543000000190001/photo?orgId=78412359",
    "botType" : null,
    "contactName" : null,
    "name" : "Abhishek Aich",
    "externalId" : null,
    "id" : "186543000000190001",
    "type" : "AGENT",
    "email" : "zykler.sales@zoho.com"
  },
  "contactLastActiveTime" : "2024-03-22T05:51:09.000Z",
  "actor" : {
    "photoURL" : null,
    "botType" : null,
    "contactName" : "Abhishek Aich",
    "name" : "Abhishek Aich",
    "externalId" : "+918478935387",
    "id" : "186543000000451285",
    "type" : "ENDUSER",
    "email" : null
  },
  "meta" : {
    "DESK_TICKET_ID" : "186543000001662116",
    "DESK_TICKET_NUMBER" : "480"
  },
  "createdTime" : "2024-03-22T05:34:19.000Z",
  "botId" : null,
  "messagesCount" : "10",
  "id" : "3942000001423083",
  "channelId" : "3942000001423029",
  "agentLastActiveTime" : "2024-03-22T07:57:13.000Z",
  "status" : "ON_PROGRESS"
}

Update an IM session

This API updates an IM session. Providing either agent Id or bot Id will assgin the session to that particular Id.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
agentId

long

optional

Current assignee of this session

status

string

optional,
max chars : 100

Current status of the session to be set. Possible values are OPEN, ENDED, ON_PROGRESS, ON_HOLD, BLOCKED

botId

long

optional

Current Desk bot assignee of this session.

PATCH /api/v1/im/sessions/{session_id}

OAuth Scope

Desk.InstantMessages.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/im/sessions/3942000001423083
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "agentId" : 186543000000451285, "status" : "ON_PROGRESS" }'

Response Example

{
  "agentId" : "799129183",
  "lastActiveTime" : "2025-08-06T07:05:19.403Z",
  "contactId" : "435798000010618001",
  "subject" : "Test",
  "unreadMessagesCount" : "0",
  "channel" : "WHATSAPP_CHANNEL",
  "integrationService" : "WHATSAPP",
  "deskAssignee" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agents/435798000011895001/photo?orgId=1230993133",
    "contactId" : null,
    "botType" : null,
    "contactName" : null,
    "name" : "Abhishek",
    "externalId" : null,
    "id" : "435798000011895001",
    "type" : "AGENT",
    "email" : "raymon@zykler.com"
  },
  "contactLastActiveTime" : "2025-08-06T07:05:19.403Z",
  "actor" : {
    "photoURL" : null,
    "contactId" : "435798000010618001",
    "botType" : null,
    "contactName" : "Sanjay",
    "name" : "John Cena",
    "externalId" : "+91123456789",
    "id" : "435798000010618029",
    "type" : "ENDUSER",
    "email" : null
  },
  "meta" : {
    "DESK_CX_HAPPINESS_SURVEY_STATE" : "ENDED",
    "DESK_TICKET_ID" : "435798000023790011",
    "DESK_TICKET_NUMBER" : "6448"
  },
  "createdTime" : "2023-10-16T13:10:34.285Z",
  "replyStatus" : "SESSION_ENDED",
  "botId" : null,
  "messagesCount" : "1494",
  "id" : "136000001393001",
  "channelId" : "3942000001423029",
  "agentLastActiveTime" : "2025-08-05T06:30:28.701Z",
  "status" : "ENDED"
}

IM Metrics

Metics APIs will provide various IM agent and conversation related metrics to the managers/leads.

Get Agents Metrics

This data provides leads/managers with a holistic details into agents performance and can be used in coaching them.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
startDate

string

optional,
max chars : 100

Start date for metrics. Enter a date in the format of dd-mm-yyyy. This param will be taken into account only if duration equals to CUSTOM_IN_DATE

endDate

string

optional,
max chars : 100

End date for metrics. Enter a date in the format of dd-mm-yyyy. This param will be taken into account only if duration equals to CUSTOM_IN_DATE

duration

string

required,
max chars : 100

Duration to filter the metrics. Available values are LAST24HOURS, TODAY, YESTERDAY, LAST_7_DAYS, LAST_30_DAYS, THIS_WEEK, LAST_WEEK, THIS_MONTH, LAST_MONTH, CUSTOM_IN_DATE, LAST_1_HOUR

attributeGroup

string

required,
max chars : 100

Denotes which attribute group data is required. Eg: RESPONSIVENESS - AVG_RESPONSE_TIME comes under responsiveness group. It's Mandatory Param. Available value is RESPONSIVENESS

attributes

string

required,
max chars : 100

Denotes which metrics are required in the response. Its a mandatory Param. Eg: AVG_RESPONSE_TIME of agent.This is a list-based parameter you can pass all the values or the rquired ones. Available values are ATTENDED_CHATS, AVG_PICKUP_TIME, AVG_FIRST_RESPONSE_TIME, AVG_RESPONSE_TIME

channelIds

string

optional,
max chars : 1000

To filter Agent Metrics only on a list of channelIds. It's a Optional Param

agentIds

string

optional,
max chars : 1000

To filter Agent Metrics only for particular Agents. It's a Optional Param

departmentId

long

optional

Filter agent metrics in given department Id

integrationService

string

optional,
max chars : 100

Agent metrics for a particular integration service. Available values are TELEGRAM, TWILIO, LINE, WECHAT, WHATSAPP, FACEBOOKMESSENGER, INSTAGRAM

basedOn

string

optional,
max chars : 100

To get Agent Metrics based on the Conversation Started time or Ended Time. It's a Optional Param. Available values are START_TIME, END_TIME

GET /api/v1/im/metrics/agents

OAuth Scope

Desk.basic.READ , Desk.InstantMessages.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/supportapi/api/v1/im/metrics/agents?duration=LAST_WEEK&attributeGroup=RESPONSIVENESS&attributes=ATTENDED_CHATS,AVG_PICKUP_TIME,AVG_FIRST_RESPONSE_TIME,AVG_RESPONSE_TIME&departmentId=123456000000001234
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "values" : [ {
      "attribute" : "ATTENDED_CHATS",
      "value" : "1"
    }, {
      "attribute" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_PICKUP_TIME",
      "value" : "00:00:23"
    }, {
      "attribute" : "AVG_RESPONSE_TIME",
      "value" : null
    } ],
    "id" : "345343453"
  }, {
    "values" : [ {
      "attribute" : "ATTENDED_CHATS",
      "value" : "2"
    }, {
      "attribute" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_RESPONSE_TIME",
      "value" : null
    } ],
    "id" : "86434543"
  }, {
    "values" : [ {
      "attribute" : "ATTENDED_CHATS",
      "value" : "8"
    }, {
      "attribute" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_RESPONSE_TIME",
      "value" : null
    } ],
    "id" : "976543456"
  }, {
    "values" : [ {
      "attribute" : "ATTENDED_CHATS",
      "value" : "1"
    }, {
      "attribute" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_RESPONSE_TIME",
      "value" : null
    } ],
    "id" : "853447543"
  }, {
    "values" : [ {
      "attribute" : "ATTENDED_CHATS",
      "value" : "3"
    }, {
      "attribute" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_RESPONSE_TIME",
      "value" : null
    } ],
    "id" : "887764523"
  }, {
    "values" : [ {
      "attribute" : "ATTENDED_CHATS",
      "value" : "1"
    }, {
      "attribute" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_RESPONSE_TIME",
      "value" : null
    } ],
    "id" : "987654224"
  }, {
    "values" : [ {
      "attribute" : "ATTENDED_CHATS",
      "value" : "1"
    }, {
      "attribute" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_RESPONSE_TIME",
      "value" : null
    } ],
    "id" : "136000000321001"
  }, {
    "values" : [ {
      "attribute" : "ATTENDED_CHATS",
      "value" : "1"
    }, {
      "attribute" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_RESPONSE_TIME",
      "value" : null
    } ],
    "id" : "136000000414269"
  }, {
    "values" : [ {
      "attribute" : "ATTENDED_CHATS",
      "value" : "10"
    }, {
      "attribute" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_RESPONSE_TIME",
      "value" : null
    } ],
    "id" : "136000000537373"
  }, {
    "values" : [ {
      "attribute" : "ATTENDED_CHATS",
      "value" : "9"
    }, {
      "attribute" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_RESPONSE_TIME",
      "value" : null
    } ],
    "id" : "136000003639035"
  }, {
    "values" : [ {
      "attribute" : "ATTENDED_CHATS",
      "value" : "3"
    }, {
      "attribute" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "attribute" : "AVG_RESPONSE_TIME",
      "value" : null
    } ],
    "id" : "136000003759045"
  } ],
  "entityDetails" : {
    "345343453" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/435798423232323001/photo?orgId=987876543",
      "name" : "john",
      "id" : "435798423232323001",
      "email" : "john@zykler.com"
    },
    "887764523" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/232342342232323001/photo?orgId=987876543",
      "name" : "siya",
      "id" : "232342342232323001",
      "email" : "siya@zykler.com"
    },
    "853447543" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/453223242232323001/photo?orgId=987876543",
      "name" : "robert",
      "id" : "453223242232323001",
      "email" : "robert@zykler.com"
    },
    "86434543" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4212312313232323001/photo?orgId=987876543",
      "name" : "tina",
      "id" : "4212312313232323001",
      "email" : "tina@zykler.com"
    },
    "987654224" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/642323432342342333/photo?orgId=987876543",
      "name" : "donald",
      "id" : "642323432342342333",
      "email" : "donald@zykler.com"
    },
    "976543456" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/53234234234234234/photo?orgId=987876543",
      "name" : "ram",
      "id" : "53234234234234234",
      "email" : "ram@zykler.com"
    }
  },
  "entity" : "AGENT"
}

Get Session Metrics

This API lists various session related metrics such as avg. first response time, avg. response time and avg. pickup time.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
startDate

string

optional,
max chars : 100

start date for metrics. Enter a date in the format of dd-mm-yyyy. This param will be taken into account only if duration equals to CUSTOM_IN_DATE

endDate

string

optional,
max chars : 100

end date for metrics. Enter a date in the format of dd-mm-yyyy. This param will be taken into account only if duration equals to CUSTOM_IN_DATE

duration

string

required,
max chars : 100

Duration to filter the metrics. Available values are LAST24HOURS, TODAY, YESTERDAY, LAST_7_DAYS, LAST_30_DAYS, THIS_WEEK, LAST_WEEK, THIS_MONTH, LAST_MONTH, CUSTOM_IN_DATE, LAST_1_HOUR

granularity

string

required,
max chars : 100

Provide metrics with time granularity. When timegap is within 24 hours, then HOURLY should be set in the param otherwise DAY should be set in this param. Available values HOURLY, DAY

dimension

string

required,
max chars : 100

Denotes the dimension in metrics - Eg: responsiveness - it gives how responsive the sessions in particular time duration- eg: avg pickup time. Available value is RESPONSIVENESS

dimensionValue

string

required,
max chars : 100

Denotes dimensionValues required in dimension-Eg: Avg Pickup Time, Avg Response time etc. This is a list based parameter, you can pass all the values or the required one. Available values are AVG_PICKUP_TIME, AVG_RESPONSE_TIME, AVG_FIRST_RESPONSE_TIME

integrationService

string

optional,
max chars : 100

Session metrics for a particular integration service. Available values are TELEGRAM, TWILIO, LINE, WECHAT, WHATSAPP, FACEBOOKMESSENGER, INSTAGRAM

channelIds

string

optional,
max chars : 1000

Filter Session metrics by channelId

departmentId

long

optional

Filter session metrics in given department Id

basedOn

string

optional,
max chars : 100

Used to select the required metrics, based on Session Started time or Ended Time. Available values are START_TIME, END_TIME

GET /api/v1/im/metrics/sessions/timeseries

OAuth Scope

Desk.basic.READ , Desk.InstantMessages.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/supportapi/api/v1/im/metrics/sessions/timeseries?granularity=DAY&duration=THIS_WEEK&dimension=RESPONSIVENESS&dimensionValue=AVG_PICKUP_TIME,AVG_RESPONSE_TIME,AVG_FIRST_RESPONSE_TIME&departmentId=123456000000001234
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "aggregatedMetrics" : [ {
    "dimension" : "AVG_RESPONSE_TIME",
    "value" : "07:57:38"
  }, {
    "dimension" : "AVG_FIRST_RESPONSE_TIME",
    "value" : "07:57:48"
  }, {
    "dimension" : "AVG_PICKUP_TIME",
    "value" : "00:00:00"
  } ],
  "trendDataList" : [ {
    "data" : [ {
      "dimension" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "dimension" : "AVG_RESPONSE_TIME",
      "value" : null
    }, {
      "dimension" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    } ],
    "time" : "2024-11-16"
  }, {
    "data" : [ {
      "dimension" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "dimension" : "AVG_RESPONSE_TIME",
      "value" : null
    }, {
      "dimension" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    } ],
    "time" : "2024-11-17"
  }, {
    "data" : [ {
      "dimension" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "dimension" : "AVG_RESPONSE_TIME",
      "value" : "23:52:53"
    }, {
      "dimension" : "AVG_FIRST_RESPONSE_TIME",
      "value" : "23:53:22"
    } ],
    "time" : "2024-11-18"
  }, {
    "data" : [ {
      "dimension" : "AVG_PICKUP_TIME",
      "value" : "00:00:00"
    }, {
      "dimension" : "AVG_RESPONSE_TIME",
      "value" : "00:00:01"
    }, {
      "dimension" : "AVG_FIRST_RESPONSE_TIME",
      "value" : "00:00:01"
    } ],
    "time" : "2024-11-19"
  }, {
    "data" : [ {
      "dimension" : "AVG_PICKUP_TIME",
      "value" : "00:00:00"
    }, {
      "dimension" : "AVG_RESPONSE_TIME",
      "value" : "00:00:01"
    }, {
      "dimension" : "AVG_FIRST_RESPONSE_TIME",
      "value" : "00:00:01"
    } ],
    "time" : "2024-11-20"
  }, {
    "data" : [ {
      "dimension" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "dimension" : "AVG_RESPONSE_TIME",
      "value" : null
    }, {
      "dimension" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    } ],
    "time" : "2024-11-21"
  }, {
    "data" : [ {
      "dimension" : "AVG_PICKUP_TIME",
      "value" : null
    }, {
      "dimension" : "AVG_RESPONSE_TIME",
      "value" : null
    }, {
      "dimension" : "AVG_FIRST_RESPONSE_TIME",
      "value" : null
    } ],
    "time" : "2024-11-22"
  } ]
}

HelpCenter

Help center refers to the central self-service portal through which customers can look for solutions and fix issues by themselves.The help center brings together different help modules, such as your knowledge base, community forum, live chat, and ticket submission form

Example

{
  "domains" : [ {
    "name" : "help.zoho.com",
    "type" : "PRIMARY"
  }, {
    "name" : "forums.zoho.com",
    "type" : "SECONDARY"
  } ],
  "logoLinkBackUrl" : "https://zoho.com/desk",
  "departmentIds" : [ "24073000002576907", "24073000002577809" ],
  "isMultilingualEnabled" : true,
  "logoUrl" : "https://desk.zoho.com/api/v1/helpCenter/24073000002579275/logo/240730000025738740?orgId=2389290",
  "url" : "https://help.zoho.com/portal",
  "locales" : [ "en" ],
  "isDefault" : true,
  "siteMapUpdatedTime" : "2019-05-30T21:34:01.000Z",
  "name" : "restapiautomatiion",
  "favIconUrl" : "https://desk.zoho.com/api/v1/helpCenter/24073000002579275/favIcon/240730000025783905?orgId=2389290",
  "id" : "59882000000170069",
  "helpCenterLocales" : [ {
    "name" : "ZohoCorp Portal",
    "locale" : "en",
    "type" : "DEFAULT",
    "status" : "ACCESIBLE_IN_HELPCENTER"
  } ],
  "primaryLocale" : "en_US",
  "status" : "ACTIVE"
}


List help centers

This API lists the help centers configured in your Zoho Desk portal.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

Integer

optional,
range : >0

Index number starting from which the helpcenters must be listed

limit

Integer

optional,
range : 1-50

Number of helpcenters to list

include

String

optional

Include params are
autoTranslateSettings

GET /api/v1/helpCenters

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/helpCenters?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "isDefault" : true,
    "name" : "Zoho Cares",
    "id" : "24073000002579275",
    "departmentIds" : [ "24073000000102043" ],
    "isMultilingualEnabled" : true,
    "helpCenterLocales" : [ {
      "name" : "ZohoCorp Portal",
      "locale" : "en",
      "type" : "DEFAULT",
      "status" : "ACCESIBLE_IN_HELPCENTER"
    } ],
    "primaryLocale" : "en",
    "logoUrl" : "https://static.zohocdn.com/desk/app/images/portalLogo.de847024ebc0131731a3.png",
    "url" : "https://help.zoho.com/portal/",
    "autoTranslateSettings" : [ {
      "languages" : [ "ja", "zh", "hu" ],
      "appName" : "Zia Translate for Zoho Desk FAQ",
      "active" : true,
      "installationId" : "24073000002579275",
      "uuId" : "50c9bb96b17694d63cd0f03eadbe4ae5"
    } ],
    "status" : "ACTIVE"
  } ]
}

Get details of help center

This API fetches the details of a particular help center.

Credit: 1 credit/call

GET /api/v1/helpCenters/{helpcenter_id}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/helpCenters/24073000002579275?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "domains" : [ {
    "name" : "forums.zoho.com",
    "type" : "SECONDARY"
  }, {
    "name" : "help.zoho.com",
    "type" : "PRIMARY"
  } ],
  "logoLinkBackUrl" : "https://www.zoho.com/desk/",
  "departmentIds" : [ "24073000000102043" ],
  "logoUrl" : "https://static.zohocdn.com/desk/app/images/portalLogo.de847024ebc0131731a3.png",
  "url" : "https://help.zoho.com/portal/",
  "isDefault" : true,
  "siteMapUpdatedTime" : "2019-12-26T08:48:09.000Z",
  "name" : "Zoho Cares",
  "favIconUrl" : "https://static.zohocdn.com/desk/app/images/support-2.befdbf2e5043b988ef7e.ico",
  "id" : "24073000002579275",
  "helpCenterLocales" : [ {
    "name" : "Zoho Cares",
    "locale" : "en",
    "type" : "DEFAULT",
    "status" : "ACCESIBLE_IN_HELPCENTER"
  } ],
  "primaryLocale" : "en",
  "status" : "ACTIVE"
}

Update Helpcenter sitemaps

This API will generate sitemaps for the given Helpcenter

Credit: 1 credit/call

POST /api/v1/helpCenters/4000000190032/sitemaps

OAuth Scope

Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/helpCenters/4000000190032/sitemaps?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Users

Users refer to the end-customers of the product/service who visit the Help Center to find solutions.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the user

email

list

Email address of the user

status

string

Activation status of the user. The supported values are ACTIVE and DISABLED

Example

{
  "id" : "142456352454",
  "email" : [ {
    "emailAddress" : "zylcare@zylker.com",
    "isVerified" : "true",
    "isPrimary" : "true"
  } ]
}


List help center users

This API lists a particular number of help center users, based on the limit defined. It also helps you search for specific users.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional,
default : 1,
range : >0

Index number, starting from which the users must be fetched. The default value is 1

limit

int

optional,
default : 50,
range : 1-50

Number of users to be listed. The default and the maximum allowed value is 50

searchBy

String

optional

Search keyword to find a particular user. Note: The keyword must contain at least two characters

sortBy

String

optional

Key that sorts the list of users by a particular attribute: -(email or modifiedTime)

status

String

optional

Activation status of the users to list

helpCenterId

long

optional

ID of the help center from which the users must be fetched

string

optional,
max chars : 100

Additional information related to the user. Value allowed is count.

GET /api/v1/users

OAuth Scope

Desk.search.READ , Desk.contacts.READ , Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/users?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5&include=count
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "lastAccessedTime" : "2021-06-11T06:21:32.000Z",
    "photoURL" : "https://desk.zoho.com/portal/api/portalUser/17883000000094001/photo",
    "emailAddress" : "carol@zylker.com",
    "name" : "Developer",
    "id" : "310975130121",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#39B54A",
        "textColor" : "#FFFFFF"
      },
      "name" : "Lock Label",
      "id" : "24073000002823026",
      "logoUrl" : null
    },
    "type" : "ENDUSER",
    "status" : "ACTIVE"
  } ],
  "count" : "1"
}

Get details of user

This API fetches the details of a particular help center user.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

string

optional,
max chars : 100

Additional information related to the user. Value allowed is contact.

helpCenterId

long

optional

ID of the help center from which the user must be fetched

GET /api/v1/users/{user_id}

OAuth Scope

Desk.contacts.READ , Desk.settings.READ , Desk.basic.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/users/310975130121?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "lastAccessedTime" : "2021-06-11T06:21:32.000Z",
  "photoURL" : "https://desk.zoho.com/portal/api/portalUser/17883000000094001/photo",
  "contactId" : "3313135931139",
  "contact" : {
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "name" : "Developer",
    "id" : "3313135931139"
  },
  "name" : "Developer",
  "id" : "310975130121",
  "label" : {
    "preferences" : {
      "shape" : "RECTANGLE",
      "bgColor" : "#39B54A",
      "textColor" : "#FFFFFF"
    },
    "name" : "Lock Label",
    "id" : "24073000002823026",
    "logoUrl" : null
  },
  "type" : "ENDUSER",
  "email" : [ {
    "emailAddress" : "zylcare@zylker.com",
    "isVerified" : "false",
    "isPrimary" : "true"
  } ],
  "status" : "ACTIVE"
}

Update details of user

This API helps update the details of a particular help center user.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
helpCenterId

long

optional

ID of the help center from which the user must be updated

Attributes

Param Name
Data Type
Description
email

list

optional

Email ID of the user

status

string

optional,
max chars : 100

Activation status of the user. Values supported are ACTIVE and DISABLED.

PATCH /api/v1/users/{user_id}

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/users/4000000190069?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "email" : [ { "emailAddress" : "zylcare@zylker.com", "isPrimary" : "true" } ], "status" : "ACTIVE" }'

Response Example

{
  "lastAccessedTime" : "2021-06-11T06:21:32.000Z",
  "photoURL" : "https://desk.zoho.com/portal/api/portalUser/17883000000094001/photo",
  "contactId" : "3313135931139",
  "name" : "Developer",
  "id" : "310975130121",
  "label" : {
    "preferences" : {
      "shape" : "RECTANGLE",
      "bgColor" : "#39B54A",
      "textColor" : "#FFFFFF"
    },
    "name" : "Lock Label",
    "id" : "24073000002823026",
    "logoUrl" : null
  },
  "type" : "ENDUSER",
  "email" : [ {
    "emailAddress" : "zylcare@zylker.com",
    "isVerified" : "false",
    "isPrimary" : "true"
  } ],
  "status" : "ACTIVE"
}

Anonymize user

This API permanently deletes all identifying information about a user from your help center.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
anonymizedName

string

optional,
max chars : 100

Display name of the user in tickets and community topics after anonymization

POST api/v1/users/{user_id}/anonymize

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/users/4000000190069?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "anonymizedName" : "Guest User 001" }'

Response Example

204

List user groups

This API lists a particular number of user groups in a help center, based on the limit defined.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional,
default : 1,
range : >0

Index number, starting from which the groups must be fetched. The default value is 1

limit

int

optional,
default : 50,
range : 1-50

Number of groups to list. The default value and the maximum value allowed is 50

searchBy

String

optional

Search keyword to use for finding a particular user. The keyword must contain at least two characters.

sortBy

String

optional

Key that sorts the list of user groups by a particular attribute: -(addedTime)

helpCenterId

long

optional

ID of the help center from which the groups must be fetched

GET /api/v1/users/{user_id}/groups

OAuth Scope

Desk.contacts.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/users/24073000002913021/groups?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5&helpCenterId=24073000002733221
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "addedTime" : "2020-04-06T04:50:50.000Z",
    "name" : "Zoho CRM Partners",
    "id" : "24073000002957057",
    "helpCenterId" : "24073000002733221",
    "logoUrl" : null,
    "status" : "ACTIVE"
  }, {
    "addedTime" : "2020-04-06T04:50:30.000Z",
    "name" : "Zoho Desk Partners",
    "id" : "24073000002957051",
    "helpCenterId" : "24073000002733221",
    "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/24073000002959001?portalId=b363e6f8e029247a38a55e49806bf1f683801f9cd92870bf7cc50d48844902f0",
    "status" : "ACTIVE"
  }, {
    "addedTime" : "2020-04-06T04:50:14.000Z",
    "name" : "Zoho One Prime Customers",
    "id" : "24073000002957045",
    "helpCenterId" : "24073000002733221",
    "logoUrl" : null,
    "status" : "ACTIVE"
  } ]
}

Add user to groups

This API adds a user to the groups specified.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
helpCenterId

long

optional

ID of the help center from which the groups must be validated

Attributes

Param Name
Data Type
Description
groups

list

required

IDs of the groups to which the user must be added

POST /api/v1/users/{user_id}/groups/associate

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/users/24073000002913021/groups/associate?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5&helpCenterId=24073000002733221
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "groups" : [ { "id" : "24073000002723212" }, { "id" : "24073000002732252" }, { "id" : "24073000002957051" }, { "id" : "24073000002793019" } ] }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "24073000002957051",
    "errors" : null
  }, {
    "success" : false,
    "id" : "24073000002793019",
    "errors" : {
      "errorCode" : "FORBIDDEN",
      "httpCode" : 403,
      "error" : "Restricted"
    }
  }, {
    "success" : false,
    "id" : "24073000002723212",
    "errors" : {
      "errorCode" : "FORBIDDEN",
      "httpCode" : 403,
      "error" : "Restricted"
    }
  }, {
    "success" : false,
    "id" : "24073000002732252",
    "errors" : {
      "errorCode" : "FORBIDDEN",
      "httpCode" : 403,
      "error" : "Restricted"
    }
  } ]
}

Remove user from groups

This API removes a user from the groups specified.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
helpCenterId

long

optional

ID of the help center from which the groups must be removed

Attributes

Param Name
Data Type
Description
groupIds

list

required

IDs of the groups from which the user must be removed

POST /api/v1/users/{user_id}/groups/dissociate

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/users/24073000002913021/groups/dissociate?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5&helpCenterId=24073000002733221
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "groupIds" : [ "24073000002957051", "24073000002932512", "24073000002953232" ] }'

Response Example

{
  "results" : [ {
    "success" : false,
    "id" : "24073000002957051",
    "errors" : {
      "errorCode" : "FORBIDDEN",
      "httpCode" : 403,
      "error" : "Minimum user should be maintained"
    }
  }, {
    "success" : false,
    "id" : "24073000002932512",
    "errors" : {
      "errorCode" : "FORBIDDEN",
      "httpCode" : 403,
      "error" : "Restricted"
    }
  }, {
    "success" : true,
    "id" : "24073000002953232",
    "errors" : null
  } ]
}

List labels of user

This API lists a particular number of labels associated with a user, based on the limit defined.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
isPrimary

boolean

optional

Key that filters the primary label assigned to the user

from

int

optional,
default : 1,
range : >0

Index number, starting from which the labels must be fetched. The default value is 1

limit

int

optional,
default : 50,
range : 1-50

Number of labels to list. The default value and the maximum value allowed is 50

sortBy

String

optional

Key that sorts the list of labels by a particular attribute: -(assignedTime)

searchBy

String

optional

Search keyword to use for finding a particular user. The keyword must contain at least two characters.

helpCenterId

long

optional

ID of the help center from which the labels must be fetched

GET /api/v1/users/{user_id}/labels

OAuth Scope

Desk.contacts.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/users/24073000002913021/labels?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5&helpCenterId=24073000002733221
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "preferences" : {
      "shape" : "ROUNDED",
      "bgColor" : "#5787E0",
      "textColor" : "#FFFFFF"
    },
    "isPrimary" : false,
    "name" : "Prime Customer",
    "id" : "24073000002958013",
    "helpCenterId" : "24073000002886005",
    "logoUrl" : null,
    "assignedTime" : "2020-04-06T05:55:13.000Z"
  }, {
    "preferences" : {
      "shape" : "RECTANGLE",
      "bgColor" : "#39B54A",
      "textColor" : "#FFFFFF"
    },
    "isPrimary" : false,
    "name" : "Zoho One",
    "id" : "24073000002958023",
    "helpCenterId" : "24073000002886005",
    "logoUrl" : null,
    "assignedTime" : "2020-04-06T05:55:13.000Z"
  }, {
    "preferences" : {
      "shape" : "RECTANGLE",
      "bgColor" : "#CE6785",
      "textColor" : "#FFFFFF"
    },
    "isPrimary" : false,
    "name" : "MVP",
    "id" : "24073000002958029",
    "helpCenterId" : "24073000002886005",
    "logoUrl" : null,
    "assignedTime" : "2020-04-06T05:55:13.000Z"
  } ]
}

Assign labels to user

This API assigns the labels you specify to a particular user.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
helpCenterId

long

optional

ID of the help center from which the labels must be validated

Attributes

Param Name
Data Type
Description
labels

list

required

List containing the details of the labels to assign

POST /api/v1/users/{user_id}/labels/assign

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/users/24073000002913021/labels/assign?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5&helpCenterId=24073000002733221
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "labels" : [ { "isPrimary" : "false", "id" : "24073000002958013" }, { "isPrimary" : "true", "id" : "24073000002152013" }, { "isPrimary" : "false", "id" : "24073000002958023" } ] }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "24073000002958013",
    "errors" : null
  }, {
    "success" : true,
    "id" : "24073000002958023",
    "errors" : null
  }, {
    "success" : false,
    "id" : "24073000002152013",
    "errors" : {
      "errorCode" : "FORBIDDEN",
      "httpCode" : 403,
      "error" : "Restricted"
    }
  } ]
}

Remove labels from user

This API removes the labels you specify from a particular user.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
helpCenterId

long

optional

ID of the help center from which the labels must be removed

Attributes

Param Name
Data Type
Description
labelIds

list

required

List containing the IDs of the labels to remove

POST /api/v1/users/{user_id}/labels/remove

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/users/24073000002913021/labels/remove?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5&helpCenterId=24073000002733221
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "labelIds" : [ "24073000002958023", "24073000002952323" ] }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "24073000002958023",
    "errors" : null
  }, {
    "success" : false,
    "id" : "24073000002952323",
    "errors" : {
      "errorCode" : "FORBIDDEN",
      "httpCode" : 403,
      "error" : "Restricted"
    }
  } ]
}

List User badges

This API lists user's default and custom badges, based on the limit defined.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional,
default : 1,
range : >0

Index number, starting from which the badges must be fetched. The default value is 1

limit

int

optional,
default : 50,
range : 1-50

Number of badges to list. The default value and the maximum value allowed is 50

type

string

optional,
max chars : 100

Type of badge: default or custom

sortBy

string

optional,
max chars : 100

Sort by the createdTime attribute. The default sorting order is ascending. A - prefix denotes descending order of sorting.

startTime

date

optional

Start time should be in GMT time zone

endTime

date

optional

End time should be in GMT time zone

GET /api/v1/users/([0-9]+)/badges

OAuth Scope

Desk.contacts.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/users/([0-9]+)/badges
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

[ {
  "name" : "Badge 1",
  "isCustom" : "false",
  "description" : "Best Contributor",
  "id" : "1",
  "iconUrl" : "https://www.zylker.com/badge1.jpg"
} ]

Add Badges to a user

This API adds specified badges to user.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
badgeIds

list

required

IDs of the badges to which the user must be associated

POST /api/v1/users/{user_id}/badges/associate

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/users/24073000002913021/badges/associate?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5&helpCenterId=24073000002733221
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "badgeIds" : [ "24073000002823212", "24073000002832252" ] }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "24073000002823212",
    "errors" : null
  }, {
    "success" : false,
    "id" : "24073000002832252",
    "errors" : {
      "errorCode" : "FORBIDDEN",
      "httpCode" : 403
    }
  } ]
}

Remove Badges from user

This API removes specified badges from the users.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
badgeIds

list

required

IDs of the badges from which the user must be dissociated

POST /api/v1/users/{user_id}/badges/dissociate

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/users/24073000002913021/badges/dissociate?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5&helpCenterId=24073000002733221
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "badgeIds" : [ "24073000002957051", "24073000002953232" ] }'

Response Example

{
  "results" : [ {
    "success" : false,
    "id" : "24073000002957051",
    "errors" : {
      "errorCode" : "FORBIDDEN",
      "httpCode" : 403
    }
  }, {
    "success" : true,
    "id" : "24073000002953232",
    "errors" : null
  } ]
}

Labels

Labels are tags that you add to users to highlight their contribution in your help center.

Example

{ }


Create label

This API creates a label in your help center.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

String

required

Name of the label

logoId

long

optional

ID of the logo set for the label

helpCenterId

long

required

ID of the help center in which the label must be created

preferences

JSONObject

optional

Visual preferences related to the label/logo

POST /api/v1/labels

OAuth Scope

Desk.contacts.CREATE , Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/labels?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "preferences" : { "shape" : "ROUNDED", "bgColor" : "#FFEE", "textColor" : "#FFEE" }, "name" : "Pro Customer", "helpCenterId" : "310975130119", "logoId" : "310975130121" }'

Response Example

{
  "modifiedTime" : "2017-09-19T04:58:50.000Z",
  "preferences" : {
    "shape" : "ROUNDED",
    "bgColor" : "#FFEE",
    "textColor" : "#FFEE"
  },
  "creator" : {
    "photoURL" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
    "name" : "SupportAdmin",
    "id" : "310975130121"
  },
  "modifier" : {
    "photoURL" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
    "name" : "SupportAdmin",
    "id" : "310975130121"
  },
  "name" : "Pro Customer",
  "count" : "0",
  "createdTime" : "2017-09-19T04:58:50.000Z",
  "id" : "310975130110",
  "helpCenterId" : "310975130119",
  "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/310975130121?portalId=5c9470fcc808cc98932703e28221d6c302e105dc4da8b23fafb6719abeecaa48"
}

Update label

This API helps update the details of a label.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

String

optional

Name of the label

logoId

long

optional

ID of the logo set for the label

preferences

JSONObject

optional

Visual preferences related to the label/logo

PATCH /api/v1/labels/{label_id}

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/labels/310975130110?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "preferences" : { "shape" : "ROUNDED", "bgColor" : "#FFEE", "textColor" : "#FFEE" }, "name" : "Pro Customer", "logoId" : "310975130121" }'

Response Example

{
  "modifiedTime" : "2017-09-19T04:58:50.000Z",
  "preferences" : {
    "shape" : "ROUNDED",
    "bgColor" : "#FFEE",
    "textColor" : "#FFEE"
  },
  "creator" : {
    "photoURL" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
    "name" : "SupportAdmin",
    "id" : "310975130121"
  },
  "modifier" : {
    "photoURL" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
    "name" : "SupportAdmin",
    "id" : "310975130121"
  },
  "name" : "Pro Customer",
  "count" : "892",
  "createdTime" : "2017-09-19T04:58:50.000Z",
  "id" : "310975130110",
  "helpCenterId" : "310975130119",
  "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/310975130121?portalId=5c9470fcc808cc98932703e28221d6c302e105dc4da8b23fafb6719abeecaa48"
}

Get details of label

This API fetches the details of a particular label.

Credit: 1 credit/call

GET /api/v1/labels/{label_id}

OAuth Scope

Desk.contacts.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/labels/310975130110?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2017-09-19T04:58:50.000Z",
  "preferences" : {
    "shape" : "ROUNDED",
    "bgColor" : "#FFEE",
    "textColor" : "#FFEE"
  },
  "creator" : {
    "photoURL" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
    "name" : "SupportAdmin",
    "id" : "310975130121"
  },
  "modifier" : {
    "photoURL" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
    "name" : "SupportAdmin",
    "id" : "310975130121"
  },
  "name" : "Pro Customer",
  "count" : "320",
  "createdTime" : "2017-09-19T04:58:50.000Z",
  "id" : "310975130110",
  "helpCenterId" : "310975130119",
  "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/310975130121?portalId=5c9470fcc808cc98932703e28221d6c302e105dc4da8b23fafb6719abeecaa48"
}

List labels

This API lists a particular number of labels, based on the limit defined.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional,
default : 1,
range : >0

Index number, starting from which the labels must be fetched. The default value is 1.

limit

int

optional,
default : 50,
range : 1-50

Number of labels to list. The default value and the maximum value allowed is 50.

sortBy

String

optional

Key that sorts the list of labels by a particular attribute: -(createdTime or modifiedTime, or name)

searchBy

String

optional

Search keyword to use for finding a particular label. The keyword must contain at least two characters. Three types of search are supported: keyword* (search for values that start with the keyword, *keyword* (search for values that contain the keyword), and keyword (search for values that are exact matches of the keyword)

helpCenterId

long

optional

ID of the help center from which the labels must be fetched

GET /api/v1/labels

OAuth Scope

Desk.contacts.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/labels?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2017-09-19T04:58:50.000Z",
    "preferences" : {
      "shape" : "ROUNDED",
      "bgColor" : "#FFEE",
      "textColor" : "#FFEE"
    },
    "creator" : {
      "photoURL" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
      "name" : "SupportAdmin",
      "id" : "310975130121"
    },
    "modifier" : {
      "photoURL" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
      "name" : "SupportAdmin",
      "id" : "310975130121"
    },
    "name" : "Pro Customer",
    "count" : "892",
    "createdTime" : "2017-09-19T04:58:50.000Z",
    "id" : "310975130110",
    "helpCenterId" : "310975130119",
    "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/310975130121?portalId=5c9470fcc808cc98932703e28221d6c302e105dc4da8b23fafb6719abeecaa48"
  } ]
}

Delete label

This API deletes a label from your help center.

Credit: 1 credit/call

DELETE /api/v1/labels/{label_id}

OAuth Scope

Desk.contacts.DELETE , Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/labels/310975130110?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Delete label by labelIds

This API deletes labels, based on the IDs specified.

Credit: 6 credits/record

Query Params

Param Name
Data Type
Description
labelIds

long

optional

IDs of the labels to delete

DELETE /api/v1/labels

OAuth Scope

Desk.contacts.DELETE , Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/labels?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5&labelIds=310975130110,310975130021
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Assign label to users

This API assigns a particular label to multiple users.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
userIds

list

required

IDs of the users to whom the label must be assigned

POST /api/v1/labels/{label_id}/users/add

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/labels/310975130110/users/add?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "userIds" : [ "3109751143253", "310975131231", "310975133141", "310975101849" ] }'

Response Example

204

Remove users under a label

This API removes all users under a particular label.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
userIds

list

required

IDs of the users from whom the label must be removed

POST /api/v1/labels/{label_id}/users/remove

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/labels/310975130110/users/remove?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "userIds" : [ "3109751143253", "310975131231", "310975133141", "310975101849" ] }'

Response Example

204

List users under a label

This API lists a particular number of users under a label, based on the limit defined.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional,
default : 1,
range : >0

Index number, starting from which the users must be fetched. The default value is 1.

limit

int

optional,
default : 50,
range : 1-100

Number of users to list. The default value is 50 and the maximum value allowed is 100

sortBy

String

optional

Key that sorts the list of users by a specific attribute: -(assignedTime)

searchBy

String

optional

Search keyword to use for finding a particular user. The keyword must contain at least two characters.

GET /api/v1/labels/{label_id}/users

OAuth Scope

Desk.search.READ , Desk.contacts.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/labels/310975130110/users?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "photoUrl" : null,
    "emailAddress" : "carol@zylker.com",
    "name" : "svega RM",
    "userType" : "ENDUSER",
    "assignee" : {
      "photoUrl" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
      "name" : "Chris",
      "id" : "6000000015895"
    },
    "id" : "6000000032907",
    "assignedTime" : "2019-08-09T07:47:44.000Z",
    "status" : "ACTIVE"
  } ]
}

Groups

Groups are collections of end-users—often related to a specific account, geography, brand, or product—using which you can determine access to your knowledge base and community forums.

Example

{ }


Create user groups

This API creates a user group in your help center.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

string

required,
max chars : 100

Name of the group

description

string

optional,
max chars : 3000

A brief description of the group

logoId

long

optional

ID of the logo to associate with the group

helpCenterId

long

required

ID of the help center in which the group must be created

POST /api/v1/groups

OAuth Scope

Desk.contacts.CREATE , Desk.settings.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/groups?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "name" : "Prime Customer", "description" : "Prime customer will have special access to Knowledge base module and Community categories", "helpCenterId" : "31097519102", "logoId" : "310975130121" }'

Response Example

{
  "modifiedTime" : "2017-09-19T04:58:50.000Z",
  "creator" : {
    "photoURL" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
    "name" : "SupportAdmin",
    "id" : "310975130121"
  },
  "modifier" : {
    "photoURL" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
    "name" : "SupportAdmin",
    "id" : "310975130121"
  },
  "name" : "Prime Customer",
  "count" : "0",
  "description" : "Prime customer will have special access to Knowledge base module and Community categories",
  "createdTime" : "2017-09-19T04:58:50.000Z",
  "id" : "310975134902",
  "helpCenterId" : "31097519102",
  "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/310975130121?portalId=5c9470fcc808cc98932703e28221d6c302e105dc4da8b23fafb6719abeecaa48",
  "status" : "ACTIVE"
}

Update group

This API helps update the details of a user group.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
name

string

optional,
max chars : 100

Name of the group

description

string

optional,
max chars : 3000

A brief description of the group

logoId

long

optional

ID of the logo to associate with the group

PATCH /api/v1/groups/{group_Id}

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/groups/310975134902?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "name" : "MVP Customer", "description" : "Prime customer will have special access to Knowledge base module and Community categories", "logoId" : "310975130133", "status" : "ACTIVE" }'

Response Example

{
  "modifiedTime" : "2017-09-19T04:58:50.000Z",
  "creator" : {
    "photoURL" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
    "name" : "SupportAdmin",
    "id" : "310975130121"
  },
  "modifier" : {
    "photoURL" : "https://desk.zoho.com/portal/api/user/6000000015895/photo?orgId=143315",
    "name" : "SupportAdmin",
    "id" : "310975130121"
  },
  "name" : "MVP Customer",
  "count" : "892",
  "description" : "Prime customer will have special access to Knowledge base module and Community categories",
  "createdTime" : "2017-09-19T04:58:50.000Z",
  "id" : "310975134902",
  "helpCenterId" : "31097519102",
  "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/310975130133?portalId=5c9470fcc808cc98932703e28221d6c302e105dc4da8b23fafb6719abeecaa48",
  "status" : "ACTIVE"
}

Get details of group

This API fetches the details of a particular user group.

Credit: 1 credit/call

GET /api/v1/groups/{group_id}

OAuth Scope

Desk.contacts.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/groups/310975134902?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "modifiedTime" : "2017-09-19T04:58:50.000Z",
  "creator" : {
    "photoURL" : "https://desk.zoho.com/portal/api/user/310975130121/photo?orgId=143315",
    "name" : "SupportAdmin",
    "id" : "310975130121"
  },
  "modifier" : {
    "photoURL" : "https://desk.zoho.com/portal/api/user/310975130121/photo?orgId=143315",
    "name" : "SupportAdmin",
    "id" : "310975130121"
  },
  "name" : "MVP Customer",
  "count" : "892",
  "description" : "Prime customer will have special access to Knowledge base module and Community categories",
  "createdTime" : "2017-09-19T04:58:50.000Z",
  "id" : "310975134902",
  "helpCenterId" : "310975130119",
  "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/310975130133?portalId=5c9470fcc808cc98932703e28221d6c302e105dc4da8b23fafb6719abeecaa48",
  "status" : "ACTIVE"
}

List groups

This API lists a particular number of groups, based on the limit defined.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional,
default : 1,
range : >0

Index number, starting from which the groups must be fetched. The default value is 1.

limit

int

optional,
default : 50,
range : 1-50

Number of groups to list. The default value and the maximum value allowed is 50.

sortBy

String

optional

Key that sorts the list of groups by a particular attribute: -(createdTime, modifiedTime, name, or count)

searchBy

String

optional

Search keyword to use for finding a particular group The keyword must contain at least two characters. Three types of search are supported: keyword* (search for values that start with the keyword, *keyword* (search for values that contain the keyword), and keyword (search for values that are exact matches of the keyword).

helpCenterId

long

optional

ID of the help center from which the resource must be fetched

GET /api/v1/groups

OAuth Scope

Desk.contacts.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/groups?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5&helpCenterId=310975130119
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2017-09-19T04:58:50.000Z",
    "creator" : {
      "photoURL" : "https://desk.zoho.com/portal/api/user/310975130121/photo?orgId=143315",
      "name" : "SupportAdmin",
      "id" : "310975130121"
    },
    "modifier" : {
      "photoURL" : "https://desk.zoho.com/portal/api/user/310975130121/photo?orgId=143315",
      "name" : "SupportAdmin",
      "id" : "310975130121"
    },
    "name" : "Pro Customer",
    "count" : "353",
    "description" : "Pro Customers paid customers of the org will avail 24x7 Support service",
    "createdTime" : "2017-09-19T04:58:50.000Z",
    "id" : "310975130110",
    "helpCenterId" : "310975130119",
    "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/310975130133?portalId=5c9470fcc808cc98932703e28221d6c302e105dc4da8b23fafb6719abeecaa48",
    "status" : "ACTIVE"
  } ]
}

Delete group

This API deletes a user group from your help center.

Credit: 1 credit/call

DELETE /api/v1/groups/{group_Id}

OAuth Scope

Desk.contacts.DELETE , Desk.settings.DELETE

Request Example

  • CURL

$ curl -X DELETE https://desk.zoho.com/api/v1/groups/310975130110?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Add users to group

This API adds users to a particular group.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
users

list

required

IDs of the users who must be added to the group

POST /api/v1/groups/{group_id}/users/add

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/groups/310975130110/users/add?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "users" : [ { "id" : "17883000000094001" }, { "id" : "17883000000094023" } ] }'

Response Example

204

Remove users from group

This API removes particular users from a group.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
userIds

list

required

IDs of the users who must be removed from the group

POST /api/v1/groups/{group_Id}/users/remove

OAuth Scope

Desk.contacts.UPDATE , Desk.settings.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/groups/310975130110/users/remove?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "userIds" : [ "17883000000013101", "17883000000094023" ] }'

Response Example

204

List users in a group

This API lists a particular number of users in a group, based on the limit defined.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

optional,
default : 1,
range : >0

Index number, starting from which the users must be fetched. The default value is 1.

limit

int

optional,
default : 50,
range : 1-100

Number of users to list. The default value is 50 and the maximum value allowed is 100.

sortBy

String

optional

Key that sorts the list of users, based on a specific attribute: -(addedTime)

searchBy

String

optional

Search keyword to use for finding a particular user. The keyword must contain at least two characters.

GET /api/v1/groups/{group_Id}/users

OAuth Scope

Desk.search.READ , Desk.contacts.READ , Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/groups/310975130110/users?orgId=2389290&authtoken=50c9bb96b17694d63cd0f03eadbe4ae5
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "photoUrl" : null,
    "creator" : {
      "photoUrl" : "https://desk.zoho.com/portal/api/user/24073000000095005/photo?orgId=143315",
      "name" : "ZylCare Admin",
      "id" : "24073000000095005"
    },
    "emailAddress" : "carol@zylker.com",
    "name" : "John ",
    "addedTime" : "2019-11-08T14:57:39.000Z",
    "userType" : "ENDUSER",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#6CD4DF",
        "textColor" : "#FFFFFF"
      },
      "name" : "Prime Customer",
      "id" : "24073000002132001"
    },
    "id" : "24073000001997453",
    "status" : "ACTIVE"
  } ]
}

Community

Community is an online forum that provides customers a self-service platform to connect with fellow customers, discuss topics, share ideas, ask questions about products, share suggestions and feedback, receive important notifications, and stay informed about the company's whereabouts.

Example

{ }


Like topic

This API enables users to like a topic.

Credit: 1 credit/call

POST /api/v1/communityTopics/{id}/like

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/like?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Unlike topic

This API enables users to unlike a topic.

Credit: 1 credit/call

POST /api/v1/communityTopics/{id}/unlike

OAuth Scope

Desk.forums.UPDATE , Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/unlike?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Follow topic

This API enables users to follow a topic.

Credit: 1 credit/call

POST /api/v1/communityTopics/{id}/follow

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/follow?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Unfollow topic

This API enables users to unfollow a topic.

Credit: 1 credit/call

POST /api/v1/communityTopics/{id}/unfollow

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/unfollow?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Lock topic

This API helps lock a forum topic, so that further user actions are restricted.

Credit: 1 credit/call

POST /api/v1/communityTopics/{id}/lock

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/lock?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Unlock topic

This API helps unlock a forum topic, so that further user actions can be performed.

Credit: 1 credit/call

POST /api/v1/communityTopics/{id}/unlock

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/unlock?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Moderate topic

This API allows to set the forum topics as moderate. The comments that are posted during moderation will not be displayed to users and await for the review.

Credit: 1 credit/call

POST /api/v1/communityTopics/{id}/moderate

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/moderate?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Unmoderate topic

This API helps unmoderate a forum topic, which means user comments are published without reviewing.

Credit: 1 credit/call

POST /api/v1/communityTopics/{id}/unmoderate

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/unmoderate?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Trash topic

This API moves a forum topic to trash of your help desk portal.

Credit: 1 credit/call

POST /api/v1/communityTopics/{id}/moveToTrash

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/moveToTrash?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

204

Move topic

This API moves a forum topic from one community category to another.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
categoryId

long

required

ID of the community category

POST /api/v1/communityTopics/{id}/move

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/move?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "categoryId" : "1000000012755" }'

Response Example

204

Associate tags to topic

This API associates quick access/reference tags to a forum topic.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
tags

list

required

Tag phrases

POST /api/v1/communityTopics/{id}/associateTags

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/associateTags?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "tags" : [ "tag1", "tag2" ] }'

Response Example

[ {
  "name" : "tag1",
  "permalink" : "tag1"
}, {
  "name" : "tag2",
  "permalink" : "tag2"
} ]

Dissociate tags from topic

This API removes quick access/reference tags from a forum topic.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
tags

list

required

Tag phrases

POST /api/v1/communityTopics/{id}/dissociateTags

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/dissociateTags?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "tags" : [ "tag1", "tag2" ] }'

Response Example

204

List topic followers

This API lists a particular number of users who follow a forum topic, based on the limit defined.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

required,
default : 1,
range : >=1

Index number, starting from which the users must be listed.

limit

int

required,
default : 10,
range : 1-100

Number of users to list

userType

string

optional,
max chars : 100

Filters based on the type of the user who follows it. The allowed values are AGENT or END_USER.

GET /api/v1/communityTopics/{id}/followers

OAuth Scope

Desk.community.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/communityTopics/{id}/followers?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
    "name" : "user 1",
    "id" : "7000000015971",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#23F123",
        "textColor" : "#2CA123"
      },
      "name" : "Admin",
      "id" : "6000000158001",
      "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
    },
    "type" : "AGENT"
  }, {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015972/photo?orgId=123456",
    "name" : "user 3",
    "id" : "7000000015972",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#23F123",
        "textColor" : "#2CA123"
      },
      "name" : "Admin",
      "id" : "6000000158001",
      "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
    },
    "type" : "AGENT"
  } ]
}

List topic participants

This API lists a particular number of users who participated in a forum topic, based on the limit defined.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

required,
default : 1,
range : >=1

Index number, starting from which the users must be listed

limit

int

required,
default : 10,
range : 1-100

Number of users to list

userType

string

optional,
max chars : 100

Filters based on the type of the user who participated in it. The allowed values are AGENT or END_USER.

GET /api/v1/communityTopics/{id}/participants

OAuth Scope

Desk.community.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/communityTopics/{id}/participants?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
    "name" : "user 1",
    "id" : "7000000015971",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#23F123",
        "textColor" : "#2CA123"
      },
      "name" : "Admin",
      "id" : "6000000158001",
      "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
    },
    "type" : "AGENT"
  }, {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015972/photo?orgId=123456",
    "name" : "user 3",
    "id" : "7000000015972",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#23F123",
        "textColor" : "#2CA123"
      },
      "name" : "Admin",
      "id" : "6000000158001",
      "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
    },
    "type" : "AGENT"
  } ]
}

List topic voters

This API lists a particular number of users who voted in a forum topic, based on the limit defined.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

required,
default : 1,
range : >=1

Index number, starting from which the users must be listed

limit

int

required,
default : 10,
range : 1-100

Number of users to list

userType

string

optional,
max chars : 100

Filters based on the type of the user who voted for it. The allowed values are AGENT or END_USER.

GET /api/v1/communityTopics/{id}/voters

OAuth Scope

Desk.community.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/communityTopics/{id}/voters?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
    "name" : "user 1",
    "id" : "7000000015971",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#23F123",
        "textColor" : "#2CA123"
      },
      "name" : "Admin",
      "id" : "6000000158001",
      "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
    },
    "type" : "AGENT"
  }, {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015972/photo?orgId=123456",
    "name" : "user 3",
    "id" : "7000000015972",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#23F123",
        "textColor" : "#2CA123"
      },
      "name" : "Admin",
      "id" : "6000000158001",
      "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
    },
    "type" : "AGENT"
  } ]
}

List forum topics

This API lists a particular number of forum topics, based on the limit defined.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
categoryId

long

optional

ID of the community category from which the topics must be listed

from

int

required,
default : 1,
range : >=1

Index number, starting from which the topics must be listed

limit

int

required,
default : 25,
range : 1-50

Number of topics to list

isSticky

boolean

optional

Key that defines whether the topics to list must be sticky posts or not

unreplied

boolean

optional

Key that defines whether the topics to list must contain comments or not

type

String

optional

Type of topics to list. Values allowed are: ANNOUNCEMENT, DISCUSSION, IDEA, PROBLEM, and QUESTION.

tagName

String

optional

Tag by which topics must be filtered

label

String

optional

Status label by which topics must be filtered. The value of this key varies according to the topic type. Values allowed are: NOSTATUS, NEEDMOREINFO, WORKINGONIT, ANSWERED, UNANSWERED, MAYBELATER, UNDERREVIEW, IMPLEMENTED, WILLNOTIMPLEMENT, NOTAPROBLEM, TEMPORARYFIX, ANALYZING, SOLVED, UNSOLVED, and MOSTVOTED.

sortBy

String

required,
default : modifiedTime

sort topics list by createdtime or modified time

isAscending

boolean

required,
default : false

sort topics list in ascending or decending order

startTime

date

optional

Starting time of the time range in which the topics should have been created. The value must be expressed according to the GMT time zone.

endTime

date

optional

Ending time of the time range in which the topics should have been created. The value must be expressed according to the GMT time zone.

GET /api/v1/communityTopics

OAuth Scope

Desk.community.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/communityTopics?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "summary" : "topic 2's description",
    "creator" : {
      "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
      "name" : "user 1",
      "id" : "7000000015971",
      "label" : null,
      "type" : "AGENT"
    },
    "latestCommentTime" : "2018-10-16T09:42:12.716Z",
    "subject" : "Topic 2",
    "likeCount" : "1",
    "label" : "NOSTATUS",
    "isVoted" : true,
    "type" : "QUESTION",
    "latestCommenter" : null,
    "isSticky" : false,
    "commentCount" : "0",
    "portalUrl" : "https://desk.zoho.com/portal/portalname/community/topictopic-2",
    "createdTime" : "2018-10-16T09:42:12.716Z",
    "id" : "4000000019017",
    "permalink" : "topic-2",
    "categoryId" : "4000000000017",
    "status" : "PUBLISHED"
  }, {
    "summary" : "Topic 1 description",
    "creator" : {
      "photoUrl" : "https://desk.zoho.com/api/v1/portalUser/7000000015971/photo?orgId=123456",
      "name" : "user2",
      "id" : "7000000015972",
      "label" : {
        "preferences" : {
          "shape" : "RECTANGLE",
          "bgColor" : "#23F123",
          "textColor" : "#2CA123"
        },
        "name" : "Admin",
        "id" : "6000000158001",
        "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
      },
      "type" : "END_USER"
    },
    "latestCommentTime" : "2018-10-16T09:41:46.621Z",
    "subject" : "Topic 1",
    "likeCount" : "1",
    "label" : "NOSTATUS",
    "isVoted" : true,
    "type" : "QUESTION",
    "latestCommenter" : {
      "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
      "name" : "user 1",
      "id" : "7000000015971",
      "label" : {
        "preferences" : {
          "shape" : "RECTANGLE",
          "bgColor" : "#23F123",
          "textColor" : "#2CA123"
        },
        "name" : "Admin",
        "id" : "6000000158001",
        "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
      },
      "type" : "AGENT"
    },
    "isSticky" : false,
    "commentCount" : "2",
    "portalUrl" : "https://desk.zoho.com/portal/portalname/community/topictopic-1",
    "createdTime" : "2018-10-16T09:41:33.202Z",
    "id" : "4000000019003",
    "permalink" : "topic-1",
    "categoryId" : "4000000000017",
    "status" : "PUBLISHED"
  } ]
}

Get topic

This API fetches a forum topic from the user community.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description
include

string

optional,
max chars : 100

Additional information related to the topics. Values allowed are: seo, featuredImage and participantsCount.

GET /api/v1/communityTopics/{id}

OAuth Scope

Desk.community.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/communityTopics/{id}?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "attachments" : [ {
    "size" : "1166",
    "name" : "download.png",
    "id" : "4000000019027",
    "href" : "https://desk.zoho.com/api/v1/communityTopics/4000000019003/attachments/4000000019027/content?orgId=123456"
  } ],
  "subject" : "Topic 1",
  "isModerated" : false,
  "likeCount" : "1",
  "type" : "QUESTION",
  "isSticky" : false,
  "bestCommentId" : null,
  "content" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Topic 1 dscription<br /></div></div>",
  "isLocked" : false,
  "createdTime" : "2018-10-16T09:41:33.202Z",
  "tag" : [ {
    "name" : "tag1",
    "permalink" : "tag1"
  }, {
    "name" : "tag2",
    "permalink" : "tag2"
  } ],
  "id" : "4000000019003",
  "seo" : {
    "keywords" : "seo,search",
    "useTitleAsPageTitle" : "true",
    "description" : "seo description",
    "title" : "seo title"
  },
  "isTicketCreated" : false,
  "creator" : {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
    "name" : "user 1",
    "id" : "7000000015971",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#23F123",
        "textColor" : "#2CA123"
      },
      "name" : "Admin",
      "id" : "6000000158001",
      "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
    },
    "type" : "AGENT"
  },
  "isFollowing" : false,
  "viewsCount" : "246",
  "label" : "NOSTATUS",
  "isVoted" : true,
  "commentCount" : "2",
  "featuredImage" : {
    "imageId" : "1000000061105",
    "size" : "2048",
    "imageUrl" : "https://desk.zoho.com/portal/api/publicImages/42065000003493086?portalId=edbsnfb8166209e6d0025b777b9d90768028d52a6ee08bbb27b1e0f251800c89a48d9",
    "name" : "social_image.jpg"
  },
  "portalUrl" : "https://desk.zoho.com/portal/portalname/community/topictopic-1",
  "followersCount" : "0",
  "permalink" : "topic-1",
  "categoryId" : "4000000000017",
  "status" : "PUBLISHED"
}

Add topic

This API helps add a forum topic in the user community.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
subject

String

required

Title of the topic

permalink

String

optional

permalink of the topic to be created

content

String

required

Body content of the topic

type

String

required

Type of topic. Values allowed are: ANNOUNCEMENT, DISCUSSION, IDEA, PROBLEM, and QUESTION.

categoryId

long

required

ID of the community category in which the topic must be posted

isSticky

boolean

optional

Key that defines whether the topic must be pinned to the topics list page or not

notifyMe

boolean

optional

Key that defines whether the creator of the topic must be notified about further user actions on the topic or not

attachmentIds

JSONArray

optional

IDs of files to attach to the topic

tags

JSONArray

optional

Tag phrases

mailTo

JSONArray

optional

Email IDs to which the topic must be sent after publishing

seo

JSONObject

optional

The list below includes the SEO meta tags to describe your page to appear in the search engine results. keywords, useTitleAsPageTitle, description, title

featuredImage

JSONObject

optional

Specifies the id of the uploaded image to display as a featured image.

POST /api/v1/communityTopics

OAuth Scope

Desk.community.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "featuredImage" : { "imageId" : "1000000061105" }, "subject" : "Topic 1", "attachmentIds" : [ "4000000019027" ], "mailTo" : [ "carol@zylker.com" ], "type" : "QUESTION", "seo" : { "keywords" : "seo,search", "useTitleAsPageTitle" : "true", "description" : "seo description", "title" : "seo title" }, "isSticky" : "false", "content" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Topic 1 dscription<br /></div></div>", "categoryId" : "4000000000017", "notifyMe" : "false", "tags" : [ "tag1", "tag2" ] }'

Response Example

{
  "attachments" : [ {
    "size" : "1166",
    "name" : "download.png",
    "id" : "4000000019027",
    "href" : "https://desk.zoho.com/api/v1/communityTopics/4000000019003/attachments/4000000019027/content?orgId=123456"
  } ],
  "subject" : "Topic 1",
  "isModerated" : false,
  "likeCount" : "1",
  "type" : "QUESTION",
  "isSticky" : false,
  "content" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Topic 1 dscription<br /></div></div>",
  "bestCommentId" : null,
  "isLocked" : false,
  "createdTime" : "2018-10-16T09:41:33.202Z",
  "tag" : [ {
    "name" : "tag1",
    "permalink" : "tag1"
  }, {
    "name" : "tag2",
    "permalink" : "tag2"
  } ],
  "id" : "4000000019003",
  "seo" : {
    "keywords" : "seo,search",
    "useTitleAsPageTitle" : "true",
    "description" : "seo description",
    "title" : "seo title"
  },
  "isTicketCreated" : false,
  "creator" : {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
    "name" : "user 1",
    "id" : "7000000015971",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#23F123",
        "textColor" : "#2CA123"
      },
      "name" : "Admin",
      "id" : "6000000158001",
      "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
    },
    "type" : "AGENT"
  },
  "isFollowing" : false,
  "label" : "NOSTATUS",
  "isVoted" : true,
  "commentCount" : "2",
  "featuredImage" : {
    "imageId" : "1000000061105",
    "size" : "2048",
    "imageUrl" : "https://desk.zoho.com/portal/api/publicImages/42065000003493086?portalId=edbsnfb8166209e6d0025b777b9d90768028d52a6ee08bbb27b1e0f251800c89a48d9",
    "name" : "social_image.jpg"
  },
  "portalUrl" : "https://desk.zoho.com/portal/portalname/community/topictopic-1",
  "followersCount" : "0",
  "permalink" : "topic-1",
  "categoryId" : "4000000000017",
  "status" : "PUBLISHED"
}

Update topic

This API helps update a published forum topic.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
subject

String

optional

Title of the topic

content

String

optional

Body content of the topic

isSticky

boolean

optional

Key that defines whether the topic must be pinned to the topics list page or not

type

String

optional

Type of topic. Values allowed are: ANNOUNCEMENT, DISCUSSION, IDEA, PROBLEM, and QUESTION.

attachmentIds

JSONArray

optional

IDs of files to attach to the topic

label

String

optional

Status label of the topic. The value of this key varies according to the topic type. Values allowed are: NOSTATUS, NEEDMOREINFO, WORKINGONIT, ANSWERED, UNANSWERED, MAYBELATER, UNDERREVIEW, IMPLEMENTED, WILLNOTIMPLEMENT, NOTAPROBLEM, TEMPORARYFIX, ANALYZING, SOLVED, UNSOLVED, and MOSTVOTED.

notifyMentions

boolean

optional,
default : false

whether to notify mentioned user while updateing content.

categoryId

long

optional

ID of the community category in which the topic must be posted

tags

JSONArray

optional

Tag phrases

notifyMe

boolean

optional

Key that defines whether the creator of the topic must be notified about further user actions on the topic or not

seo

JSONObject

optional

The list below includes the SEO meta tags to describe your page to appear in the search engine results. keywords, useTitleAsPageTitle, description, title

featuredImage

JSONObject

optional

Specifies the id of the uploaded image to display as a featured image.

PATCH /api/v1/communityTopics/{id}

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/communityTopics/{id}?orgId=123456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "featuredImage" : { "imageId" : "1000000061105" }, "subject" : "Topic 1", "attachmentIds" : [ "4000000019027" ], "type" : "QUESTION", "seo" : { "keywords" : "seo,search", "useTitleAsPageTitle" : "true", "description" : "seo description", "title" : "seo title" }, "content" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Topic 1 dscription<br /></div></div>" }'

Response Example

{
  "attachments" : [ {
    "size" : "1166",
    "name" : "download.png",
    "id" : "4000000019027",
    "href" : "https://desk.zoho.com/api/v1/communityTopics/4000000019003/attachments/4000000019027/content?orgId=123456"
  } ],
  "subject" : "Topic 1",
  "isModerated" : false,
  "likeCount" : "1",
  "type" : "QUESTION",
  "isSticky" : false,
  "content" : "<div style=\"font-size: 13px; font-family: Arial, Helvetica, Verdana, sans-serif\"><div>Topic 1 dscription<br /></div></div>",
  "bestCommentId" : null,
  "isLocked" : false,
  "createdTime" : "2018-10-16T09:41:33.202Z",
  "tag" : [ {
    "name" : "tag1",
    "permalink" : "tag1"
  }, {
    "name" : "tag2",
    "permalink" : "tag2"
  } ],
  "id" : "4000000019003",
  "seo" : {
    "keywords" : "seo,search",
    "useTitleAsPageTitle" : "true",
    "description" : "seo description",
    "title" : "seo title"
  },
  "isTicketCreated" : false,
  "creator" : {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
    "name" : "user 1",
    "id" : "7000000015971",
    "label" : null,
    "type" : "AGENT"
  },
  "isFollowing" : false,
  "label" : "NOSTATUS",
  "isVoted" : true,
  "commentCount" : "2",
  "featuredImage" : {
    "imageId" : "1000000061105",
    "size" : "2048",
    "imageUrl" : "https://desk.zoho.com/portal/api/publicImages/42065000003493086?portalId=edbsnfb8166209e6d0025b777b9d90768028d52a6ee08bbb27b1e0f251800c89a48d9",
    "name" : "social_image.jpg"
  },
  "portalUrl" : "https://desk.zoho.com/portal/portalname/community/topictopic-1",
  "followersCount" : "0",
  "permalink" : "topic-1",
  "categoryId" : "4000000000017",
  "status" : "PUBLISHED"
}

Add comment

This API helps add a comment to a forum topic.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
content

string

required,
max chars : 50000

Content of the comment

attachmentIds

JSONArray

optional

IDs of files to attach to the comment

POST /api/v1/communityTopics/{id}/comments

OAuth Scope

Desk.community.CREATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/comments?orgId=1233456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "attachmentIds" : [ "4000000019027" ], "content" : "Comment 1" }'

Response Example

{
  "modifiedTime" : "2018-10-16T10:21:00.386Z",
  "creator" : {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
    "name" : "user 2",
    "id" : "7000000015971",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#23F123",
        "textColor" : "#2CA123"
      },
      "name" : "Admin",
      "id" : "6000000158001",
      "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
    },
    "type" : "AGENT"
  },
  "attachments" : [ {
    "size" : "1166",
    "name" : "download.png",
    "id" : "4000000019027",
    "href" : "https://desk.zoho.com/api/v1/communityTopics/4000000019003/comments/4000000019029/attachments/4000000019027/content?orgId=123456"
  } ],
  "replies" : [ ],
  "createdTime" : "2018-10-16T10:21:00.386Z",
  "id" : "4000000019029",
  "content" : "Comment 1",
  "status" : "PUBLISHED"
}

Add reply

This API helps add a reply to a comment on a forum topic.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
content

string

required,
max chars : 50000

Content of the reply

attachmentIds

JSONArray

optional

IDs of files to attach to the reply

POST /api/v1/communityTopics/{id}/comments/{id}/replies

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X POST https://desk.zoho.com/api/v1/communityTopics/{id}/comments/{id}/replies?orgId=1233456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "attachmentIds" : [ "4000000019027" ], "content" : "Reply 1" }'

Response Example

{
  "modifiedTime" : "2018-10-16T10:21:00.386Z",
  "creator" : {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
    "name" : "user 2",
    "id" : "7000000015971",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#23F123",
        "textColor" : "#2CA123"
      },
      "name" : "Admin",
      "id" : "6000000158001",
      "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
    },
    "type" : "AGENT"
  },
  "attachments" : [ {
    "size" : "1166",
    "name" : "download.png",
    "id" : "4000000019027",
    "href" : "https://desk.zoho.com/api/v1/communityTopics/4000000019003/replies/4000000019031/attachments/4000000019027/content?orgId=123456"
  } ],
  "createdTime" : "2018-10-16T10:21:00.386Z",
  "parentCommentId" : "4000000019029",
  "id" : "4000000019031",
  "content" : "Reply 1",
  "status" : "PUBLISHED"
}

Update comment

This API helps update a published comment.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
content

string

optional,
max chars : 50000

Content of the comment/reply

attachmentIds

JSONArray

optional

Ids of the attachments added for this topic

isBestComment

boolean

optional

Key that defines whether the comment is the best comment recorded on the topic. A topic can have only on best comment.

notifyMentions

boolean

optional,
default : false

whether to notify mentioned user while updateing content.

PATCH /api/v1/communityTopics/{id}/comments/{id}

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/communityTopics/{id}/comments/{id}?orgId=1233456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "attachmentIds" : [ "4000000019027" ], "content" : "Comment updated 1" }'

Response Example

{
  "modifiedTime" : "2018-10-16T10:21:00.386Z",
  "creator" : {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
    "name" : "user 2",
    "id" : "7000000015971",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#23F123",
        "textColor" : "#2CA123"
      },
      "name" : "Admin",
      "id" : "6000000158001",
      "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
    },
    "type" : "AGENT"
  },
  "attachments" : [ {
    "size" : "1166",
    "name" : "download.png",
    "id" : "4000000019027",
    "href" : "https://desk.zoho.com/api/v1/communityTopics/4000000019003/comments/4000000019031/attachments/4000000019027/content?orgId=123456"
  } ],
  "replies" : [ ],
  "createdTime" : "2018-10-16T10:21:00.386Z",
  "id" : "4000000019031",
  "content" : "Comment updated 1",
  "status" : "PUBLISHED"
}

Update reply

This API helps update a published reply.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
content

string

optional,
max chars : 50000

Content of the comment/reply

attachmentIds

JSONArray

optional

Ids of the attachments added for this topic

isBestComment

boolean

optional

Key that defines whether the comment is the best comment recorded on the topic. A topic can have only on best comment.

notifyMentions

boolean

optional,
default : false

whether to notify mentioned user while updateing content.

PATCH /api/v1/communityTopics/{id}/comments/{id}/replies/{id}

OAuth Scope

Desk.community.UPDATE

Request Example

  • CURL

$ curl -X PATCH https://desk.zoho.com/api/v1/communityTopics/{id}/comments/{id}/replies?orgId=1233456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

  -d'{ "attachmentIds" : [ "4000000019027" ], "content" : "Reply updated 1" }'

Response Example

{
  "modifiedTime" : "2018-10-16T10:21:00.386Z",
  "creator" : {
    "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
    "name" : "user 2",
    "id" : "7000000015971",
    "label" : {
      "preferences" : {
        "shape" : "RECTANGLE",
        "bgColor" : "#23F123",
        "textColor" : "#2CA123"
      },
      "name" : "Admin",
      "id" : "6000000158001",
      "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
    }
  },
  "attachments" : [ {
    "size" : "1166",
    "name" : "download.png",
    "id" : "4000000019027",
    "href" : "https://desk.zoho.com/api/v1/communityTopics/4000000019003/replies/4000000019031/attachments/4000000019027/content?orgId=123456"
  } ],
  "createdTime" : "2018-10-16T10:21:00.386Z",
  "parentCommentId" : "4000000019029",
  "id" : "4000000019031",
  "content" : "Reply updated 1",
  "status" : "PUBLISHED"
}

List topic comments

This API lists a particular number of comments on a topic, based on the limit defined.

Credit: 3 credits/call

Note: Credits depends on the range where the records are fetched. Refer for details

Query Params

Param Name
Data Type
Description
from

int

required,
default : 1,
range : >=1

Index number, starting from which the comments must be listed

limit

int

required,
default : 10,
range : 1-25

The end limit to list the comments

latestCommentsFirst

boolean

optional,
default : false

Key that defines the listing order of the comments. Setting TRUE lists the latest comments first (descending order) and setting FALSE lists the oldest comments first (ascending order).

startTime

date

optional

Starting time interval to list the comments that are created within the specified timezone. The value must be provided in GMT format. Example: " 2018-10-06T09:29:15.219Z "

endTime

date

optional

Ending time interval to list the comments that are created within the specified timezone. The value must be provided in GMT format. Example: " 2018-10-16T10:29:15.219Z "

GET /api/v1/communityTopics/{id}/comments

OAuth Scope

Desk.community.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/communityTopics/{id}/comments?orgId=1233456
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2018-10-16T10:29:15.219Z",
    "creator" : {
      "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
      "name" : "user1",
      "id" : "7000000015971",
      "label" : {
        "preferences" : {
          "shape" : "RECTANGLE",
          "bgColor" : "#23F123",
          "textColor" : "#2CA123"
        },
        "name" : "Admin",
        "id" : "6000000158001",
        "logoUrl" : "https://desk.zoho.com/portal/api/publicImages/6000000158231?orgId=14132"
      }
    },
    "attachments" : [ {
      "size" : "1166",
      "name" : "download (1).png",
      "id" : "4000000019033",
      "href" : "https://desk.zoho.com/api/v1/topics/4000000019003/comments/4000000019013/attachments/4000000019033/content?orgId=123456"
    } ],
    "replies" : [ ],
    "createdTime" : "2018-10-16T09:41:40.077Z",
    "id" : "4000000019013",
    "content" : "<div>comment 1<br /></div>",
    "status" : "PUBLISHED"
  }, {
    "modifiedTime" : "2018-10-16T10:28:59.495Z",
    "creator" : {
      "photoUrl" : "https://desk.zoho.com/api/v1/agents/7000000015971/photo?orgId=123456",
      "name" : "user 1",
      "id" : "7000000015971"