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.


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


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 [email protected], 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: FREEENTERPRISE, 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" : "[email protected]", "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" : "[email protected]",
  "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" : "[email protected]",
    "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" : "[email protected]",
    "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" : "[email protected]",
    "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: FREEENTERPRISE, 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" : "[email protected]", "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" : "[email protected]",
  "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

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" : "[email protected]", "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);
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" : "[email protected]",
  "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

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);
GetAgentsFilter filter = new GetAgentsFilter.Builder().setFieldName(fieldName).build();
List<Agent> 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" : "[email protected]",
    "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" : "[email protected]",
    "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" : "[email protected]",
    "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" : "[email protected]",
    "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);
List<Agent> response = agent.getAgentsByIds(agentIds );

Response Example

{
  "data" : [ {
    "firstName" : "",
    "lastName" : "case",
    "photoURL" : null,
    "roleId" : "7000000012324",
    "profileId" : "7000000012339",
    "emailId" : "[email protected]",
    "id" : "1892000000056007",
    "zuid" : "437793"
  }, {
    "firstName" : "",
    "lastName" : "jade",
    "photoURL" : "https://desk.zoho.com/api/v1/agents/1892000000042001/photo?orgId=3981311",
    "roleId" : "7000000012324",
    "profileId" : "7000000012339",
    "emailId" : "[email protected]",
    "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" : "[email protected]",
    "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);
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" : "[email protected]",
  "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 emailIdlastNameassociatedDepartmentIds, 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" : "[email protected]", "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069" ] }'

AgentAPI agent = ZDesk.getAgentAPIInstance(mailId);
Agent agentObj = new Agent();
agentObj.setLastName(lastName);
agentObj.setExtn(extn);
agentObj.setLangCode(langCode);
agentObj.setMobile(mobile);
agentObj.setEmailId(emailId);
agentObj.setFirstName(firstName);
Agent response = agent.addAgent( agentObj );

Response Example

{
  "lastName" : "Walsh",
  "extn" : "",
  "roleId" : "1892000000056099",
  "langCode" : "fr_FR",
  "mobile" : "",
  "timeZone" : "Pacific/Majuro",
  "emailId" : "[email protected]",
  "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);
Agent agentObj = new Agent();
agentObj.setLastName(lastName);
agentObj.setExtn(extn);
agentObj.setLangCode(langCode);
agentObj.setMobile(mobile);
agentObj.setEmailId(emailId);
agentObj.setFirstName(firstName);
Agent response = agent.updateAgent( agentId, agentObj );

Response Example

{
  "lastName" : "Marisol Walsh",
  "extn" : "3298",
  "roleId" : "1892000000056099",
  "langCode" : "fr_FR",
  "mobile" : "",
  "timeZone" : "Pacific/Majuro",
  "emailId" : "[email protected]",
  "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: 300 credits/call

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

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

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

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);
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/[email protected]
  -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" : "[email protected]",
  "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

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" : { "edit" : true, "delete" : true }, "social" : { "view" : true, "twitterPostDelete" : true, "twitterPostCreate" : true, "twitterConversationReply" : true }, "mobileapp" : { "radar" : 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 }, "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" : {
        "edit" : true,
        "delete" : true
      },
      "social" : {
        "view" : true,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : 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" : {
        "edit" : false,
        "delete" : false
      },
      "social" : {
        "view" : true,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : 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" : {
        "edit" : false,
        "delete" : false
      },
      "social" : {
        "view" : true,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : 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" : {
        "edit" : false,
        "delete" : false
      },
      "social" : {
        "view" : false,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : 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" : {
        "edit" : true,
        "delete" : true
      },
      "social" : {
        "view" : true,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : 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" : {
        "edit" : true,
        "delete" : true
      },
      "social" : {
        "view" : true,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : 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" : {
        "edit" : true,
        "delete" : true
      },
      "social" : {
        "view" : true,
        "twitterPostDelete" : true,
        "twitterPostCreate" : true,
        "twitterConversationReply" : true
      },
      "mobileapp" : {
        "radar" : 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" : {
      "edit" : true,
      "delete" : true
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : 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" : {
      "edit" : true,
      "delete" : true
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : 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" : {
      "edit" : true,
      "delete" : true
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : 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
    },
    "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" : {
      "edit" : true,
      "delete" : true
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : 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" : {
      "edit" : true,
      "delete" : true
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : 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" : "[email protected]",
    "id" : "7000000013328",
    "zuid" : "437793"
  }, {
    "firstName" : "Steve",
    "lastName" : "Kyle",
    "photoURL" : null,
    "roleId" : "7000000012324",
    "profileId" : "6000000011303",
    "emailId" : "[email protected]",
    "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" : {
      "edit" : false,
      "delete" : false
    },
    "social" : {
      "view" : true,
      "twitterPostDelete" : true,
      "twitterPostCreate" : true,
      "twitterConversationReply" : true
    },
    "mobileapp" : {
      "radar" : 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"
}

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
  } ]
}

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

list

List of sub-teams within the team

list

List of roles to add to the team

rolesWithSubordinates

list

List of roles with subordinates to add to the team

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" : "[email protected]",
    "id" : "7000000013328",
    "zuid" : "437793"
  }, {
    "firstName" : "Steve",
    "lastName" : "Kyle",
    "photoURL" : null,
    "roleId" : "7000000012324",
    "profileId" : "7000000012339",
    "emailId" : "[email protected]",
    "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" ]
  } ]
}

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" : "[email protected]",
    "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" : "[email protected]",
    "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" : "[email protected]",
    "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" : "[email protected]",
    "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: 50 credits/call

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

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
  } ]
}

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

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

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 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.

list

Secondary contacts, such as CC'ed users, associated with the ticket

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" : "[email protected]", "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" : "[email protected]", "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" : "[email protected]" }, "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" : "[email protected]",
    "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" : "[email protected]"
  },
  "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" : "[email protected]",
  "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: contactsproducts, departmentsteamisRead 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" : "[email protected]",
      "account" : {
        "website" : null,
        "accountName" : "desk Account",
        "id" : "1892000000975382"
      }
    },
    "createdTime" : "2013-11-04T11:21:07.000Z",
    "id" : "1892000000042034",
    "department" : {
      "name" : "dasdasdasd",
      "id" : "1892000000006907"
    },
    "email" : "[email protected]",
    "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" : "[email protected]"
    },
    "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" : "[email protected]",
      "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" : "[email protected]",
    "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" : "[email protected]"
    },
    "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" : "[email protected]",
      "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" : "[email protected]",
    "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" : "[email protected]"
    },
    "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" : "[email protected]",
    "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" : "[email protected]",
      "account" : {
        "website" : null,
        "accountName" : "desk Account",
        "id" : "1892000000975382"
      }
    },
    "createdTime" : "2013-11-04T11:21:07.000Z",
    "id" : "1892000000042034",
    "email" : "[email protected]",
    "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" : "[email protected]"
    },
    "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" : "[email protected]",
      "account" : {
        "website" : "www.zylker.com",
        "accountName" : "Zylker sAccount",
        "id" : "1892000000980421"
      }
    },
    "createdTime" : "2014-03-06T09:49:50.000Z",
    "id" : "1892000000094004",
    "email" : "[email protected]",
    "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" : "[email protected]"
    },
    "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" : "[email protected]",
      "account" : {
        "website" : "www.zylker.com",
        "accountName" : "Zylker Account",
        "id" : "1892000000980421"
      }
    },
    "createdTime" : "2014-03-21T09:16:03.000Z",
    "id" : "1892000000137057",
    "email" : "[email protected]",
    "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" : "[email protected]"
    },
    "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" : "[email protected]", "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" : "[email protected]",
  "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" : "[email protected]", "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" : "[email protected]",
  "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" : "[email protected]",
  "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" : "[email protected]",
  "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" : "[email protected]"
    }, {
      "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" : "[email protected]"
  },
  "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" : "[email protected]"
    },
    "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" : "[email protected]"
    },
    "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" : "[email protected]"
  },
  "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" : "[email protected]",
    "id" : "1000000000059",
    "type" : "AGENT",
    "email" : "[email protected]",
    "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

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

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

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" : "[email protected]" }, "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" : "[email protected]"
  },
  "fullContentURL" : "https://desk.zoho.com/api/v1/tickets/1892000000093205/threads/1892000001083008/fullContent",
  "isForward" : false,
  "hasAttach" : true,
  "replyTo" : "[email protected]",
  "attachmentCount" : "1",
  "to" : "[email protected]",
  "fromEmailAddress" : "[email protected]",
  "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" : "<[email protected]>",
  "subject" : "Testing Mail Service",
  "messageId" : "<[email protected]>",
  "from" : "ReplyTo <[email protected]>",
  "to" : "\"support\" <[email protected]>",
  "content" : "Delivered-To: [email protected]\nReturn-Path: <[email protected]>\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 <[email protected]>\nReply-To: [email protected]\nTo: \"support\" <[email protected]>\nMessage-Id: <[email protected]>\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: <[email protected]>[email protected]\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" : "[email protected]"
  },
  "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" : "[email protected]",
  "createdTime" : "2016-06-02T18:17:55.000Z",
  "to" : "[email protected]",
  "id" : "1892000001083008",
  "fromEmailAddress" : "[email protected]",
  "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" : "[email protected]"
    },
    "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" : "[email protected]",
    "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" : "[email protected]"
    },
    "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" : "[email protected]",
    "fromEmailAddress" : "[email protected]",
    "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" : "[email protected]"
    },
    "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" : "[email protected]"
    },
    "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" : "[email protected]",
    "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" : "[email protected]"
    },
    "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" : "[email protected]",
    "actions" : [ ],
    "contentType" : "text/html",
    "status" : "SUCCESS",
    "direction" : "out"
  }, {
    "summary" : "Any update regarding the issue",
    "cc" : "[email protected]",
    "isDescriptionThread" : false,
    "bcc" : "",
    "canReply" : true,
    "visibility" : "public",
    "author" : {
      "firstName" : "Jade",
      "lastName" : "Tywin",
      "photoURL" : null,
      "name" : "Jade Tywin",
      "type" : "END_USER",
      "email" : "[email protected]"
    },
    "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" : "[email protected]",
    "fromEmailAddress" : "[email protected]",
    "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" : "[email protected]"
    }
  } ]
}

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" : "[email protected]"
  },
  "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/call

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" : "[email protected]", "fromEmailAddress" : "[email protected]", "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" : "[email protected]"
  },
  "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" : "[email protected]",
  "fromEmailAddress" : "[email protected]",
  "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" : "[email protected]"
  },
  "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" : "[email protected]"
  },
  "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" : "[email protected]"
  },
  "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" : "[email protected]", "fromEmailAddress" : "[email protected]", "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" : "[email protected]"
  },
  "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" : "[email protected]",
  "fromEmailAddress" : "[email protected]",
  "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" : "[email protected]"
  },
  "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" : "[email protected]"
  },
  "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" : "[email protected]", "fromEmailAddress" : "[email protected]", "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" : "[email protected]"
  },
  "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" : "[email protected]",
  "fromEmailAddress" : "[email protected]",
  "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

Contacts

Contacts are the end-customers who raise requests or make enquiries/complaints with your customer service team. Each contact is mapped to an account.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the contact

customFields

deprecated

object

User-defined fields related to the contact

JSONObject

User-defined fields related to the contact

lastName

string

Last name of the contact

firstName

string

First name of the contact

facebook

string

Facebook ID of the contact

twitter

string

Twitter ID of the contact

secondaryEmail

string

Secondary email ID of the contact

email

string

Email ID of the contact

phone

string

Phone number of the contact

mobile

string

Mobile number of the contact

city

string

Contact's city of residence

country

string

Contact's country of residence

state

string

Contact's state of residence

street

string

Contact's address

zip

string

Zip code

description

string

Contact description

title

string

Contact title

type

string

Contact type

ownerId

long

ID of the user who creates the contact

object

Details of the user to whom the contact is assigned.

long

Account to which the contact is mapped

zohoCRMContact

object

Contact details fetched from Zoho CRM

customerHappiness

object

Average customer happiness rating of the contact

isDeleted

boolean

Key that returns if the contact is deleted or not

isTrashed

boolean

Field that denotes whether the contact is in trash

isSpam

boolean

Field that denotes whether the contact is spam

photoURL

string

URL of the file containing the image of the contact

webUrl

string

URL to access the resource

createdTime

timestamp

Time of creating the contact

modifiedTime

timestamp

Time of modifying the contact

language

string

Language preference to set for the Contact

Example

{ "lastName" : "Smith", "modifiedTime" : "2015-03-02T14:49:32.000Z", "country" : null, "secondaryEmail" : null, "city" : null, "description" : null, "ownerId" : "3263000000057001", "type" : null, "title" : null, "photoURL" : null, "twitter" : null, "isDeleted" : false, "isTrashed" : false, "street" : null, "createdTime" : "2015-02-16T14:46:24.000Z", "zohoCRMContact" : { "id" : "5000000014010", "type" : "potentials" }, "state" : null, "customerHappiness" : { "badPercentage" : "22", "okPercentage" : "31", "goodPercentage" : "47" }, "id" : "3263000000064001", "email" : "[email protected]", "zip" : null, "cf" : { "cf_permanentaddress" : null, "cf_lastcontactedon" : null }, "isFollowing" : "true", "facebook" : null, "mobile" : null, "accountId" : null, "firstName" : "Jade", "phone" : "123 99 888 23", "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38", "isSpam" : false }



Get Contact

This API fetches a single contact from your help desk portal.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

string

optional,
max chars : 100

Allowed values are : accounts , owner

GET /api/v1/contacts/{contact_id}

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/contacts/1892000000042032?include=owner
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "lastName" : "Lawrence",
  "modifiedTime" : "2016-05-04T09:57:17.000Z",
  "country" : null,
  "secondaryEmail" : null,
  "city" : null,
  "description" : null,
  "language" : "English",
  "ownerId" : "1892000000042001",
  "type" : null,
  "title" : null,
  "photoURL" : "https://desk.zoho.com/api/v1/contacts/1892000000042032/photo",
  "twitter" : null,
  "isDeleted" : false,
  "isTrashed" : false,
  "street" : null,
  "createdTime" : "2013-11-04T11:21:07.000Z",
  "zohoCRMContact" : {
    "id" : "5000000014010",
    "type" : "contacts_leads"
  },
  "customerHappiness" : {
    "badPercentage" : "22",
    "okPercentage" : "31",
    "goodPercentage" : "47"
  },
  "state" : null,
  "id" : "1892000000042032",
  "email" : "[email protected]",
  "zip" : null,
  "owner" : {
    "firstName" : "Twin",
    "lastName" : "john",
    "id" : "1892000000042001"
  },
  "cf" : {
    "cf_permanentaddress" : null,
    "cf_lastcontactedon" : null
  },
  "isFollowing" : "true",
  "facebook" : null,
  "mobile" : null,
  "accountId" : "1892000000975382",
  "firstName" : "Jennifer",
  "isAnonymous" : false,
  "phone" : "1 888 900 9646",
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
  "isSpam" : false
}

List contacts

This API lists a particular number of contacts, 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

list

optional

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

from

integer

optional

Index number, starting from which the contacts must be fetched

limit

string

optional,
max chars : 100,
range : 1-100

Number of contacts to fetch

viewId

integer

optional

ID of the view to apply while fetching the resources

sortBy

string

optional,
max chars : 100

Sort by a specific attribute: firstName, lastName, or createdTime.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: photoURL, webUrl. Maximum of 30 fields is supported as comma separated values.

GET /api/v1/contacts

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL

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

Response Example

{
  "data" : [ {
    "lastName" : "Case",
    "secondaryEmail" : null,
    "mobile" : "+91 8508569683",
    "ownerId" : null,
    "type" : null,
    "accountId" : "1892000000091433",
    "firstName" : "Jonathan",
    "photoURL" : "https://desk.zoho.com/api/v1/contacts/1892000000772003/photo",
    "isAnonymous" : false,
    "phone" : "1 888 900 9646",
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "createdTime" : "2015-02-16T14:46:24.000Z",
    "isEndUser" : false,
    "zohoCRMContact" : null,
    "id" : "1892000000772003",
    "isSpam" : false,
    "customerHappiness" : {
      "badPercentage" : "0",
      "okPercentage" : "0",
      "goodPercentage" : "0"
    },
    "email" : "[email protected]"
  }, {
    "lastName" : "Jade",
    "secondaryEmail" : null,
    "mobile" : null,
    "ownerId" : null,
    "type" : null,
    "accountId" : "1892000000052077",
    "firstName" : "Christ",
    "photoURL" : null,
    "isAnonymous" : false,
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "createdTime" : "2015-02-16T14:46:24.000Z",
    "isEndUser" : false,
    "zohoCRMContact" : {
      "id" : "1892000000772030",
      "type" : "contacts_leads"
    },
    "id" : "1892000000772001",
    "isSpam" : false,
    "customerHappiness" : {
      "badPercentage" : "22",
      "okPercentage" : "31",
      "goodPercentage" : "47"
    },
    "email" : "[email protected]"
  } ]
}

Create Contact

This API creates a contact in your help desk portal.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
customFields
deprecated

object

optional

User-defined fields related to the contact

cf

JSONObject

optional

User-defined fields related to the contact

lastName

string

required,
max chars : 200

Last name of the contact

firstName

string

optional,
max chars : 40

First name of the contact

facebook

string

optional,
max chars : 100

Facebook ID of the contact

twitter

string

optional,
max chars : 100

Twitter ID of the contact

secondaryEmail

string

optional,
max chars : 100

Secondary email ID of the contact

email

string

optional,
max chars : 255

Email ID of the contact

phone

string

optional,
max chars : 50

Phone number of the contact

mobile

string

optional,
max chars : 50

Mobile number of the contact

city

string

optional,
max chars : 100

Contact's city of residence

country

string

optional,
max chars : 100

Contact's country of residence

state

string

optional,
max chars : 100

Contact's state of residence

street

string

optional,
max chars : 250

Contact's address

zip

string

optional,
max chars : 30

Zip code

description

string

optional,
max chars : 65535

Contact description

title

string

optional,
max chars : 100

Contact title

type

string

optional,
max chars : 120

Contact type

ownerId

long

optional

ID of the user who creates the contact

long

optional

Account to which the contact is mapped

language

string

optional,
max chars : 255

Language preference to set for the Contact

POST /api/v1/contacts

OAuth Scope

Desk.contacts.CREATE

Request Example

  • CURL

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

  -d'{ "zip" : "123902", "lastName" : "Jack", "country" : "USA", "secondaryEmail" : "[email protected]", "city" : "Texas", "facebook" : "hugh jacks", "mobile" : "+10 2328829010", "description" : "first priority contact", "ownerId" : "1892000000056007", "type" : "paidUser", "title" : "The contact", "accountId" : "1892000000052077", "firstName" : "hugh", "twitter" : "Hugh jack", "phone" : "91020080878", "street" : "North street", "state" : "Austin", "email" : "[email protected]" }'

Response Example

{
  "lastName" : "Jack",
  "modifiedTime" : "2016-07-26T13:11:02.000Z",
  "country" : "USA",
  "secondaryEmail" : "[email protected]",
  "city" : "Texas",
  "description" : "first priority contact",
  "language" : "English",
  "ownerId" : "1892000000056007",
  "type" : "paidUser",
  "title" : "The contact",
  "photoURL" : null,
  "twitter" : "Hugh jack",
  "isDeleted" : false,
  "isTrashed" : false,
  "street" : "North street",
  "createdTime" : "2016-07-26T13:11:02.000Z",
  "zohoCRMContact" : null,
  "state" : "Austin",
  "id" : "1892000001128052",
  "customerHappiness" : {
    "badPercentage" : "0",
    "okPercentage" : "0",
    "goodPercentage" : "0"
  },
  "email" : "[email protected]",
  "zip" : "123902",
  "cf" : {
    "cf_permanentaddress" : null,
    "cf_lastcontactedon" : null
  },
  "isFollowing" : "true",
  "facebook" : "hugh jack",
  "mobile" : "+10 2328829010",
  "accountId" : "1892000000052077",
  "firstName" : "hugh",
  "isAnonymous" : false,
  "phone" : "91020080878",
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
  "isSpam" : false
}

Update a contact

This API updates details of an existing contact.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
customFields
deprecated

object

optional

User-defined fields related to the contact

cf

JSONObject

optional

User-defined fields related to the contact

lastName

string

optional,
max chars : 200

Last name of the contact

firstName

string

optional,
max chars : 40

First name of the contact

facebook

string

optional,
max chars : 100

Facebook ID of the contact

twitter

string

optional,
max chars : 100

Twitter ID of the contact

secondaryEmail

string

optional,
max chars : 100

Secondary email ID of the contact

email

string

optional,
max chars : 255

Email ID of the contact

phone

string

optional,
max chars : 50

Phone number of the contact

mobile

string

optional,
max chars : 50

Mobile number of the contact

city

string

optional,
max chars : 100

Contact's city of residence

country

string

optional,
max chars : 100

Contact's country of residence

state

string

optional,
max chars : 100

Contact's state of residence

street

string

optional,
max chars : 250

Contact's address

zip

string

optional,
max chars : 30

Zip code

description

string

optional,
max chars : 65535

Contact description

title

string

optional,
max chars : 100

Contact title

type

string

optional,
max chars : 120

Contact type

ownerId

long

optional

ID of the user who creates the contact

long

optional

Account to which the contact is mapped

language

string

optional,
max chars : 255

Language preference to set for the Contact

PATCH /api/v1/contacts/{contact_id}

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "zip" : "123902", "lastName" : "john" }'

Response Example

{
  "lastName" : "john",
  "modifiedTime" : "2016-07-26T13:11:02.000Z",
  "country" : "USA",
  "secondaryEmail" : "[email protected]",
  "city" : "Texas",
  "description" : "first priority contact",
  "language" : "English",
  "ownerId" : "1892000000056007",
  "type" : "paidUser",
  "title" : "The contact",
  "photoURL" : null,
  "twitter" : "stephen john",
  "isDeleted" : false,
  "isTrashed" : false,
  "street" : "East street",
  "createdTime" : "2016-07-26T13:11:02.000Z",
  "zohoCRMContact" : null,
  "state" : "Austin",
  "id" : "1892000001128052",
  "customerHappiness" : {
    "badPercentage" : "0",
    "okPercentage" : "0",
    "goodPercentage" : "0"
  },
  "email" : "[email protected]",
  "zip" : "123902",
  "cf" : {
    "cf_permanentaddress" : null,
    "cf_lastcontactedon" : null
  },
  "isFollowing" : "true",
  "facebook" : "Steve john",
  "mobile" : "+129737289298",
  "accountId" : "1892000000052077",
  "firstName" : "Stephen",
  "isAnonymous" : "false",
  "phone" : "8981901921",
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
  "isSpam" : false
}

Delete Contacts

This API moves the contacts specified to the Recycle Bin.

Credit: 6 credits/record

Attributes

Param Name
Data Type
Description
contactIds

list

required

IDs of the contacts to move to the Recycle Bin

POST /api/v1/contacts/moveToTrash

OAuth Scope

Desk.contacts.DELETE

Request Example

  • CURL

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

  -d'{ "contactIds" : [ "2000032002145" ] }'

Response Example

204

Delete spam contacts

This API deletes the given spam contacts

Credit: 6 credits/record

Attributes

Param Name
Data Type
Description
contactIds

list

required

IDs of the spam contacts

POST /api/v1/contacts/deleteSpam

OAuth Scope

Desk.contacts.DELETE

Request Example

  • CURL

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

  -d'{ "contactIds" : [ "1892000000004507", "1892000000004508" ] }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "1892000000004507",
    "errors" : null
  }, {
    "success" : false,
    "id" : "1892000000004508",
    "errors" : {
      "errorMessage" : null,
      "errorCode" : "UNPROCESSABLE_ENTITY",
      "httpCode" : "422",
      "errorJson" : { }
    }
  } ]
}

Get Contact Profiles

This api fetches the list of profiles of this contact from various 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

list

optional

Additional information related to the profile's channel. Values allowed are: source

GET /api/v1/contacts/{contact_id}/profiles

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL

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

Response Example

{
  "data" : [ {
    "photoURL" : "https://www.youtube.com/user/iwe3in2/photo",
    "displayName" : "Jade Vlogs",
    "name" : "Jade Zylker",
    "channel" : "YOUTUBE",
    "id" : "3923923923",
    "source" : {
      "appName" : "Youtube Sync App",
      "permalink" : "https://www.examplechannel.com/apps/redirect.php?entity=profile&id=3290dweiod",
      "appPhotoURL" : "https://desk.zoho.com/api/v1/channels/youtube/photo?orgId=666236571"
    }
  }, {
    "photoURL" : "https://www.intagram.com/johninsta/photo",
    "displayName" : "John Insta",
    "name" : "John Zylker",
    "channel" : "INSTAGRAM",
    "id" : "3923923924",
    "source" : {
      "appName" : "Instagram Syncing App",
      "permalink" : "https://www.examplechannel.com/apps/redirect.php?entity=profile&id=3290dweiod",
      "appPhotoURL" : "https://desk.zoho.com/api/v1/channels/instagram/photo?orgId=666236571"
    }
  } ]
}

Update many contacts

This API updates multiple contacts 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 : 320

Value in the field

isCustomField

boolean

optional

Key that denotes if the field is a user-defined field or not

POST /api/v1/contacts/updateMany

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "fieldName" : "mobile", "isCustomField" : false, "ids" : [ "1892000000093303", "1892000000085009", "1892000000050003" ], "fieldValue" : "8508569875" }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "1892000000093303",
    "errors" : null
  }, {
    "success" : true,
    "id" : "1892000000085009",
    "errors" : null
  }, {
    "success" : false,
    "id" : "1892000000050003",
    "errors" : {
      "errorCode" : "UNPROCESSABLE_ENTITY",
      "httpCode" : "422"
    }
  } ]
}

List Contacts By Ids

This API lists details of specific contacts, based on the IDs passed in the 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
ids

long

required

List of Contact Ids (separated by comma) which must be fetched. The maximum number of IDs allowed is 20.

GET /api/v1/contacts/contactsByIds

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/contacts/contactsByIds?ids=1892000000772001,1892000000772003
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "lastName" : "Case",
    "secondaryEmail" : null,
    "mobile" : "+91 8508569683",
    "ownerId" : null,
    "type" : null,
    "accountId" : "1892000000091433",
    "firstName" : "Jonathan",
    "photoURL" : "https://desk.zoho.com/api/v1/contacts/1892000000772003/photo",
    "isAnonymous" : false,
    "phone" : "1 888 900 9646",
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "createdTime" : "2017-10-12T13:11:50.000Z",
    "isEndUser" : false,
    "zohoCRMContact" : null,
    "id" : "1892000000772003",
    "isSpam" : false,
    "customerHappiness" : {
      "badPercentage" : "0",
      "okPercentage" : "0",
      "goodPercentage" : "0"
    },
    "email" : "[email protected]"
  }, {
    "lastName" : "Jade",
    "secondaryEmail" : null,
    "mobile" : null,
    "ownerId" : null,
    "type" : null,
    "accountId" : "1892000000052077",
    "firstName" : "Christ",
    "photoURL" : null,
    "isAnonymous" : false,
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "createdTime" : "2017-10-12T13:11:50.000Z",
    "isEndUser" : false,
    "zohoCRMContact" : {
      "id" : "1892000000772030",
      "type" : "contacts_leads"
    },
    "id" : "1892000000772001",
    "customerHappiness" : {
      "badPercentage" : "22",
      "okPercentage" : "31",
      "goodPercentage" : "47"
    },
    "isSpam" : false,
    "email" : "[email protected]"
  } ]
}

List tickets by contact

This API lists tickets received from a specific contact.

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: productsdepartmentsteamisRead and assignee. You can pass multiple values by separating them with a comma in the API request.

GET /api/v1/contacts/{contact_id}/tickets

OAuth Scope

Desk.search.READ , Desk.tickets.READ , Desk.contacts.READ

Request Example

  • CURL

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

Response Example

{
  "data" : [ {
    "ticketNumber" : "149",
    "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" : "[email protected]",
    "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",
    "isSpam" : false,
    "assignee" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agent/1892000000042001/photo",
      "id" : "1892000000042001",
      "email" : "[email protected]"
    },
    "status" : "Open"
  } ]
}

List products by contact

This API lists products associated for a specific contact.

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

From index

limit

integer

optional,
range : 1-100

Number of products to fetch

departmentId
see documentation

long

optional

Department from which the products need to be queried

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

OAuth Scope

Desk.products.READ , Desk.settings.READ , Desk.contacts.READ

Request Example

  • CURL

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

Response Example

{
  "data" : [ {
    "unitPrice" : "0.0",
    "productCode" : null,
    "id" : "4000000012009",
    "productName" : "Dell"
  } ]
}

Get contacts count

This API displays the count for the number of contacts in a custom view

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
viewId

long

required

Custom view ID

startsWith

String

optional

Displays the number of contacts whose first name or last name begins with the letter you specify. Displays the total number of contacts if you do not specify a letter.

GET api/v1/contacts/count

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL

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

Response Example

{
  "count" : "10"
}

Get contact statistics

This API fetches the overall statistics of an contact.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
departmentId

long

optional

ID of the department from which the statistics must be fetched. If you do not pass this parameter in the API request, statistics from all permitted departments will be fetched.

GET /api/v1/contacts/{contact_id}/statistics

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL

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

Response Example

{
  "firstResponseTime" : "120000",
  "openTickets" : "11",
  "responseTime" : "13150000",
  "spamTickets" : "0",
  "totalTickets" : "36",
  "customerHappiness" : {
    "badCount" : "50",
    "goodCount" : "0",
    "okCount" : "50"
  },
  "closedTickets" : "23",
  "resolutionTime" : "0",
  "channelWiseCount" : {
    "Web" : "12",
    "Forums" : "14",
    "Chat" : "10"
  },
  "onholdTickets" : "2",
  "escalatedTickets" : "0",
  "overdueTickets" : "0"
}

Merge Contacts

This API merges two or more contacts

Note:
Though portal users (users who signed up via the help center) are saved as contacts in the help desk, their records cannot be merged with other records/contacts.

Credit: 30 credits/call

Attributes

Param Name
Data Type
Description
ids

list

required

Array containing the IDs of the contacts to merge

object

optional

JSON object containing contact details, where each contact is identified by a unique ID.
The attributes in the object provide information based on the specified contact ID

POST /api/v1/contacts/{contact_id}/merge

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "ids" : [ "4000000018011", "4000000018021" ], "source" : { "zip" : "4000000018011", "lastName" : "4000000018011", "country" : "4000000018011", "secondaryEmail" : "4000000018011", "cf" : { "cf_permanentaddress" : 1892220000042001 }, "city" : "4000000018011", "facebook" : "4000000018011", "mobile" : "4000000018011", "description" : "4000000018011", "language" : "4000000018011", "type" : "4000000018011", "title" : "4000000018011", "firstName" : "4000000018011", "accountId" : "4000000018011", "twitter" : "4000000018011", "phone" : "4000000018011", "street" : "4000000018011", "email" : "4000000018011" } }'

Response Example

{
  "lastName" : "Lawrence",
  "modifiedTime" : "2016-05-04T09:57:17.000Z",
  "country" : null,
  "secondaryEmail" : null,
  "city" : null,
  "description" : null,
  "language" : "English",
  "ownerId" : "1892000000042001",
  "type" : null,
  "title" : null,
  "photoURL" : "https://desk.zoho.com/api/v1/contacts/1892000000042032/photo",
  "twitter" : null,
  "isDeleted" : false,
  "street" : null,
  "createdTime" : "2013-11-04T11:21:07.000Z",
  "zohoCRMContact" : {
    "id" : "5000000014010",
    "type" : "contacts_leads"
  },
  "customerHappiness" : {
    "badPercentage" : "22",
    "okPercentage" : "31",
    "goodPercentage" : "47"
  },
  "state" : null,
  "id" : "1892000000042032",
  "email" : "[email protected]",
  "zip" : null,
  "cf" : {
    "cf_permanentaddress" : null,
    "cf_lastcontactedon" : null
  },
  "isFollowing" : "true",
  "facebook" : null,
  "mobile" : null,
  "accountId" : "1892000000975382",
  "firstName" : "Jennifer",
  "isAnonymous" : false,
  "phone" : "1 888 900 9646",
  "isSpam" : false
}

Mark contact as spam

This API marks contacts as spam.

Credit: 1 credit/2 records

Attributes

Param Name
Data Type
Description
ids

list

required

ID(s) of the contact(s) that must be marked or unmarked as spam

isSpam

boolean

required

Key that marks or unmarks a single contact or multiple contacts as spam

handleExistingTickets

boolean

optional

Key that marks or unmarks tickets from the contact(s) as spam

POST /api/v1/contacts/markSpam

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "handleExistingTickets" : "true", "ids" : [ "1000000030065", "1000000030068" ], "isSpam" : "true" }'

Response Example

{
  "results" : [ {
    "success" : false,
    "id" : "1000000030068",
    "errors" : {
      "errorCode" : "UNPROCESSABLE_ENTITY",
      "httpCode" : "422"
    }
  }, {
    "success" : true,
    "id" : "1000000030063",
    "errors" : null
  } ]
}

Associate products with a contact

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

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
ids

list

required

IDs of the resources to associate

departmentId
see documentation

long

optional

ID of the department containing the products

associate

boolean

required

true for associating the resource and false for dissociating the resource

POST api/v1/contacts/{contact_id}/associateProducts

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "departmentId" : "7000000062800", "ids" : [ "7000000027223", "7000000043968" ], "associate" : true }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "7000000027223",
    "errors" : null
  }, {
    "success" : false,
    "id" : "7000000043968",
    "errors" : {
      "errorCode" : "UNPROCESSABLE_ENTITY",
      "httpCode" : "422"
    }
  } ]
}

Get contact history

This API fetches the ticket history of a contact.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
departmentId

long

optional

ID of the department from which the history details must be fetched

agentId

long

optional

Key that filters ticket activities performed by a particular agent

from

Integer

optional

Index number, starting from which the history details must be fetched

limit

Integer

optional,
range : 1-100

Number of history details to fetch

GET api/v1/contacts/{contact_id}/history

OAuth Scope

Desk.tickets.READ , Desk.contacts.READ

Request Example

  • CURL

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

Response Example

{
  "data" : [ {
    "ticketNumber" : "156648",
    "statusType" : "Open",
    "subject" : "Real Time analysis Requirement",
    "author" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000012902/photo",
      "firstName" : "Admin",
      "lastName" : "Admin",
      "id" : "4000000012902",
      "type" : "AGENT",
      "email" : "[email protected]"
    },
    "dueDate" : null,
    "departmentId" : "4000000013957",
    "priority" : null,
    "recipients" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/4000000012999",
    "eventTime" : "2019-09-19T09:37:11.000Z",
    "operation" : "Comment_Updated",
    "ticketId" : "4000000012999",
    "status" : "Open"
  }, {
    "ticketNumber" : "125289",
    "statusType" : "Open",
    "subject" : "Ticket subject here.",
    "author" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000012902/photo",
      "firstName" : "Admin",
      "lastName" : "Admin",
      "id" : "4000000012902",
      "type" : "AGENT",
      "email" : "[email protected]"
    },
    "dueDate" : null,
    "departmentId" : "4000000013701",
    "priority" : null,
    "recipients" : [ "[email protected]", "[email protected]", "[email protected]" ],
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/4000000012807",
    "eventTime" : "2019-07-22T16:27:20.000Z",
    "operation" : "Mail_Response_Forward",
    "ticketId" : "4000000012807",
    "status" : "Open"
  } ]
}

Invite multiple contacts to help center

This API helps invite multiple contacts as end-users to your help center.

Credit: 1 credit/2 records

Attributes

Param Name
Data Type
Description
contactIds

list

required

IDs of the contacts to invite

helpCenterId

long

required

ID of the help center to which you want to add the contacts

POST api/v1/contacts/inviteAsEndUser

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "helpCenterId" : "4000000021302", "contactIds" : [ "4000000012902", "40000000212902", "40000002129122" ] }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "1892000000093303",
    "errors" : null
  }, {
    "success" : true,
    "id" : "1892000000085009",
    "errors" : null
  }, {
    "success" : false,
    "id" : "1892000000050003",
    "errors" : {
      "errorCode" : "UNPROCESSABLE_ENTITY",
      "httpCode" : "422"
    }
  } ]
}

Invite contact to help center

This API helps invite a particular contact as an end-user to your help center.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
helpCenterId

long

required

ID of the help center to which you want to add the contact

POST api/v1/contacts/{contact_id}/inviteAsEndUser

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "helpCenterId" : "4000000021302" }'

Response Example

204

Delete contact photo

This API deletes the display picture of a contact.

Credit: 1 credit/call

DELETE api/v1/contacts/{contact_id}/photo

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

Response Example

204

Get status of contact in help centers

This API fetches a particular contact's activation status in all the help centers they are part of.

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
helpCenterId

Long

optional

To get specific helpcenter info

GET api/v1/contacts/{contact_id}/helpCenters

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL

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

Response Example

{
  "data" : [ {
    "helpCenter" : {
      "name" : "Zoho",
      "id" : "4000000016038",
      "url" : "https://help.zoho.com/portal/zoho",
      "status" : "ACTIVE"
    },
    "userStatus" : "ACTIVE",
    "userId" : "4000000023791"
  }, {
    "helpCenter" : {
      "name" : "CRM",
      "id" : "4000010498403",
      "url" : "https://help.zoho.com/portal/crm",
      "status" : "ACTIVE"
    },
    "userStatus" : "ACTIVE",
    "userId" : "4000000023791"
  } ]
}

List accounts of contact

This API lists the accounts associated with a particular contact.

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 list

startsWith

String

optional

Letter with which the names of the accounts must start

sortBy

string

optional,
max chars : 100

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

GET /api/v1/contacts/{contact_id}/accounts

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL

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

Response Example

{
  "data" : [ {
    "website" : "www.zoho.com",
    "accountName" : "ZOHO",
    "phone" : "8822120911",
    "mappingInfo" : {
      "mappingId" : 1892000000052072,
      "mappingType" : "PRIMARY",
      "isAccountTicketsViewable" : true
    },
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Accounts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "createdTime" : "2015-02-16T16:57:44.000Z",
    "zohoCRMAccount" : {
      "id" : "32754000000537001"
    },
    "customerHappiness" : {
      "badPercentage" : "30",
      "okPercentage" : "30",
      "goodPercentage" : "40"
    },
    "id" : "1892000000052077",
    "email" : "[email protected]"
  } ]
}

Associate accounts with contact

This API associates multiple accounts with a particular contact.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
data

list

optional

Details of the accounts to associate with the contact

POST api/v1/contacts/{contact_id}/associateAccounts

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "data" : [ { "id" : 7000000027223, "isAccountTicketsViewable" : true }, { "id" : 7000000043968, "isAccountTicketsViewable" : false } ] }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "7000000027223",
    "errors" : null
  }, {
    "success" : null,
    "id" : "7000000043968",
    "errors" : {
      "errorMessage" : "This is a deleted account. You can restore the entry from the Recycle Bin of your Zoho Desk portal.",
      "errorCode" : "UNPROCESSABLE_ENTITY",
      "httpCode" : "422"
    }
  } ]
}

Dissociate accounts from contact

This API dissociates multiple accounts from a particular contact.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
ids

list

required

IDs of the accounts to dissociate from the contact

POST api/v1/contacts/{contact_id}/dissociateAccounts

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "ids" : [ "7000000027223", "7000000043968" ] }'

Response Example

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

Dissociate account from contact

This API dissociates a particular account from a contact.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
option

String

optional

Processing option to apply to the tickets after dissociating the account from the contact. Values allowed are: Move Tickets to Contact, Move Tickets To Account, Delete Tickets, and Maintain Same Relationship (default value).

optionValue

long

optional

ID of the account or contact to which the tickets must be moved

PATCH api/v1/contacts/{contact_id}/accounts/{account_id}/dissociate

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "optionValue" : 7000000027226, "option" : "Move Tickets To Contact" }'

Response Example

204

Approve contact for help center

This API helps approve a particular contact as an end-user to your help center.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
helpCenterIds

list

required

IDs of the help center in which you want to approve/reject the contacts

POST /api/v1/contacts/{contact_id}/approveEndUserInvite

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "helpCenterIds" : [ "4000000021302" ] }'

Response Example

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

Reject contact for help center

This API helps reject a particular contact from being added as an end-user to your help center.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
helpCenterIds

list

required

IDs of the help center in which you want to approve/reject the contacts

POST /api/v1/contacts/{contact_id}/rejectEndUserInvite

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "helpCenterIds" : [ "4000000021302" ] }'

Response Example

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

Accounts

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

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ID of the account

customFields

deprecated

list

User-defined fields associated with the account

JSONObject

User-defined fields associated with the account

accountName

string

Name of the account

email

string

Email ID of the account

website

string

Website of the account

fax

string

Fax number of the account

ownerId

long

ID of account owner

object

Details of the user to whom the account is assigned.

associatedSLAIds

list

IDs of the SLAs associated with the account. An account can have multiple SLAs, but only one SLA per department can be mapped to it.

industry

string

Industry in which the account operates

city

string

City in which the account is based

country

string

Country in which the account is based

state

string

State in which the account is based

street

string

Address of the account

code

string

Zip code

description

string

A short description of the account

phone

string

Phone number of the account

annualrevenue

double

Annual revenue of the account

createdTime

timestamp

Time of creating the account

modifiedTime

timestamp

Time of modifying the account

isTrashed

boolean

Field that denotes whether the account is in trash

webUrl

string

URL to access the resource

Example

{ "country" : "USA", "modifiedTime" : "2015-03-02T14:49:18.000Z", "website" : "www.zylker.com", "code" : "4436", "cf" : { "cf_contactcount" : "1" }, "isFollowing" : "true", "accountName" : "Zylker", "city" : null, "associatedSLAIds" : [ 3263000000057, 3000000057001 ], "description" : null, "industry" : "Automation", "zohoCRMAccount" : { "id" : "32754000000537001" }, "ownerId" : "3263000000057001", "isDeleted" : false, "isTrashed" : false, "phone" : "9382991011", "street" : null, "annualrevenue" : null, "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Accounts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38", "createdTime" : "2015-02-16T16:57:44.000Z", "id" : "3263000000074571", "state" : null, "fax" : "+1 444 8439 2350", "email" : "[email protected]" }



Get Account

This API fetches an account from your help desk portal.

Credit: 1 credit/call

Query Params

Param Name
Data Type
Description

string

optional,
max chars : 100

Allowed values are : owner

GET /api/v1/accounts/{account_id}

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL
  • Java

$ curl -X GET https://desk.zoho.com/api/v1/accounts/3263000000074571?include=owner
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AccountAPI account = ZDesk.getAccountAPIInstance(mailId);
Account response = account.getAccount( accountId, include );

Response Example

{
  "country" : "USA",
  "modifiedTime" : "2015-03-02T14:49:18.000Z",
  "code" : "3211",
  "accountName" : "Zylker",
  "city" : null,
  "associatedSLAIds" : [ 3263000000057, 3000000057001 ],
  "description" : null,
  "industry" : "Automation",
  "zohoCRMAccount" : {
    "id" : "32754000000537001"
  },
  "ownerId" : "3263000000057001",
  "isDeleted" : false,
  "isTrashed" : false,
  "street" : null,
  "annualrevenue" : null,
  "createdTime" : "2015-02-16T16:57:44.000Z",
  "state" : null,
  "id" : "3263000000074571",
  "fax" : "+1 444 8656 8732",
  "email" : "[email protected]",
  "owner" : {
    "firstName" : "Twin",
    "lastName" : "john",
    "id" : "3263000000057001"
  },
  "website" : "www.zylker.com",
  "cf" : {
    "cf_contactcount" : "1"
  },
  "isFollowing" : "true",
  "phone" : "6218129190",
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Accounts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38"
}

List accounts

This API lists a particular number of accounts, 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 accounts must be listed

limit

integer

optional,
range : 1-100

Number of accounts to fetch

viewId

long

optional

ID of the view to apply while fetching the resources

sortBy

string

optional,
max chars : 100

Sort by a specific attribute: accountName or createdTime. 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: photoURL, webUrl. Maximum of 30 fields is supported as comma separated values.

GET /api/v1/accounts

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL
  • Java

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

AccountAPI account = ZDesk.getAccountAPIInstance(mailId);
GetAccountsFilter filter = new GetAccountsFilter.Builder().setViewId(viewId).build();
List<Account> response = account.getAccounts( from, limit, sortBy, isAscending, filter );

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"
    },
    "customerHappiness" : {
      "badPercentage" : "30",
      "okPercentage" : "30",
      "goodPercentage" : "40"
    },
    "id" : "1892000000052077",
    "email" : "[email protected]"
  }, {
    "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"
    },
    "customerHappiness" : {
      "badPercentage" : "20",
      "okPercentage" : "40",
      "goodPercentage" : "40"
    },
    "id" : "1892000000052090",
    "email" : "[email protected]"
  } ]
}

Create Account

This API creates an account in your help desk portal.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
customFields
deprecated

list

optional

User-defined fields associated with the account

cf

JSONObject

optional

User-defined fields associated with the account

accountName

string

required,
max chars : 200

Name of the account

email

string

optional,
max chars : 255

Email ID of the account

website

string

optional,
max chars : 120

Website of the account

fax

string

optional,
max chars : 30

Fax number of the account

ownerId

long

optional

ID of account owner

associatedSLAIds

list

optional

IDs of the SLAs associated with the account. An account can have multiple SLAs, but only one SLA per department can be mapped to it.

industry

string

optional,
max chars : 120

Industry in which the account operates

city

string

optional,
max chars : 100

City in which the account is based

country

string

optional,
max chars : 100

Country in which the account is based

state

string

optional,
max chars : 100

State in which the account is based

street

string

optional,
max chars : 250

Address of the account

code

string

optional,
max chars : 30

Zip code

description

string

optional,
max chars : 65535

A short description of the account

phone

string

optional,
max chars : 30

Phone number of the account

annualrevenue

double

optional

Annual revenue of the account

POST /api/v1/accounts

OAuth Scope

Desk.contacts.CREATE

Request Example

  • CURL
  • Java

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

  -d'{ "accountName" : "Zylker", "phone" : "98348229382" }'

AccountAPI account = ZDesk.getAccountAPIInstance(mailId);
Account accountObj = new Account();
accountObj.setCountry(country);
accountObj.setWebsite(website);
accountObj.setCode(code);
accountObj.setCity(city);
accountObj.setAccountName(accountName);
accountObj.setDescription(description);
Account response = account.createAccount( accountObj );

Response Example

{
  "country" : null,
  "modifiedTime" : "2015-03-02T14:49:18.000Z",
  "website" : null,
  "code" : null,
  "cf" : {
    "cf_contactcount" : null
  },
  "isFollowing" : "true",
  "accountName" : "Zylker",
  "city" : null,
  "associatedSLAIds" : [ 3263000000057, 3000000057001 ],
  "description" : null,
  "industry" : null,
  "zohoCRMAccount" : {
    "id" : "32754000000537001"
  },
  "ownerId" : "3263000000057001",
  "isDeleted" : false,
  "isTrashed" : false,
  "phone" : "98348229382",
  "street" : null,
  "annualrevenue" : null,
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Accounts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
  "createdTime" : "2015-02-16T16:57:44.000Z",
  "state" : null,
  "id" : "3263000000074571",
  "fax" : null,
  "email" : null
}

Update Account

This API updates details of an existing account.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
customFields
deprecated

list

optional

User-defined fields associated with the account

cf

JSONObject

optional

User-defined fields associated with the account

accountName

string

optional,
max chars : 200

Name of the account

email

string

optional,
max chars : 255

Email ID of the account

website

string

optional,
max chars : 120

Website of the account

fax

string

optional,
max chars : 30

Fax number of the account

ownerId

long

optional

ID of account owner

associatedSLAIds

list

optional

IDs of the SLAs associated with the account. An account can have multiple SLAs, but only one SLA per department can be mapped to it.

industry

string

optional,
max chars : 120

Industry in which the account operates

city

string

optional,
max chars : 100

City in which the account is based

country

string

optional,
max chars : 100

Country in which the account is based

state

string

optional,
max chars : 100

State in which the account is based

street

string

optional,
max chars : 250

Address of the account

code

string

optional,
max chars : 30

Zip code

description

string

optional,
max chars : 65535

A short description of the account

phone

string

optional,
max chars : 30

Phone number of the account

annualrevenue

double

optional

Annual revenue of the account

PATCH /api/v1/accounts/{account_id}

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL
  • Java

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

  -d'{ "accountName" : "Zylker Agents", "phone" : "82301023900123" }'

AccountAPI account = ZDesk.getAccountAPIInstance(mailId);
Account accountObj = new Account();
accountObj.setCountry(country);
accountObj.setWebsite(website);
accountObj.setCode(code);
accountObj.setCity(city);
accountObj.setAccountName(accountName);
accountObj.setDescription(description);
Account response = account.updateAccount( accountId, accountObj );

Response Example

{
  "country" : null,
  "modifiedTime" : "2015-03-02T14:49:18.000Z",
  "website" : null,
  "code" : null,
  "cf" : {
    "cf_contactcount" : "1"
  },
  "isFollowing" : "true",
  "accountName" : "Zylker Agents",
  "city" : null,
  "associatedSLAIds" : [ 3263000000057, 3000000057001 ],
  "description" : null,
  "industry" : null,
  "zohoCRMAccount" : {
    "id" : "32754000000537001"
  },
  "ownerId" : "3263000000057001",
  "isDeleted" : false,
  "isTrashed" : false,
  "phone" : "82301023900123",
  "street" : null,
  "annualrevenue" : null,
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Accounts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
  "createdTime" : "2015-02-16T16:57:44.000Z",
  "state" : null,
  "id" : "3263000000074571",
  "fax" : null,
  "email" : null
}

Delete Accounts

This API moves the accounts specified to the Recycle Bin.

Credit: 6 credits/record

Attributes

Param Name
Data Type
Description
accountIds

list

required

IDs of the accounts to move to the Recycle Bin

POST /api/v1/accounts/moveToTrash

OAuth Scope

Desk.contacts.DELETE

Request Example

  • CURL
  • Java

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

  -d'{ "accountIds" : [ "2000032003232" ] }'

AccountAPI account = ZDesk.getAccountAPIInstance(mailId);
boolean response = account.moveToTrash( accountIds );

Response Example

204

Get contract

Getting contracts of an Account

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

From index,DEFAULT 1

limit

integer

optional,
range : 1-50

Number of contracts to fetch, Ranges from 1-50, DEFAULT 50

departmentId

long

optional

ID of the department from which the contracts must be fetched

contractStatus

string

optional,
max chars : 100

Contract Status,Indicates the Current Status of the Contract, Values are ACTIVE, EXPIRED, FUTURE

GET /api/v1/accounts/{account_id}/contracts

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

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

Response Example

{
  "data" : [ {
    "slaName" : "Priority-based SLAs",
    "endDate" : "2016-07-16",
    "slaGroupId" : "4000000007069",
    "departmentId" : "4000000007043",
    "contractId" : "4000000032003",
    "contractNumber" : "1212",
    "description" : "contract for all desk account",
    "contractName" : "Contract for desk account",
    "ownerId" : "4000000008692",
    "startDate" : "2016-06-16"
  } ]
}

List all contracts count

This API lists the number of contracts made with the account.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
viewId

long

required

Custom view Id

departmentId
see documentation

String

required

Mandatory param to fetch the count of the contracts for a given ID of a department. You can also provide department as allDepartment to fetch the count of the contracts from all the departments

ownerId

long

optional

Displays the number of contracts of only a particular owner

GET api/v1/contracts/count

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/contracts/count?viewId=4000227563021&departmentId=4000000007096&ownerId=4000227563909
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "count" : "10"
}

List all accounts count

Get accounts count

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
viewId

long

required

Custom view ID

startsWith

String

optional

Displays the number of accounts whose first name or last name begins with the letter you specify. Displays the total number of accounts if you do not specify a letter.

GET api/v1/accounts/count

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL

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

Response Example

{
  "count" : "10"
}

List Associated contacts

This API lists the contacts associated with an account

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

From index

limit

integer

optional,
range : 1-100

No. of contacts to fetch

sortBy

string

optional,
max chars : 100

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

lastName,

fullName,

phone,

email,

createdTime,

modifiedTime

isSpam

boolean

optional,
default : false

Filters Spam contacts

GET api/v1/accounts/{accounts_id}/contacts?from={from}&limit={limit}&sortBy={sortingField}

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL
  • Java

$ curl -X GET https://desk.zoho.com/api/v1/accounts/4000000008784/contacts?from=0&limit=20&sortBy=-fullName
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

AccountAPI account = ZDesk.getAccountAPIInstance(mailId);
GetContactsUnderAccountFilter filter = new GetContactsUnderAccountFilter.Builder().setIsSpam(isSpam).build();
List<Contact> response = account.getContactsUnderAccount( accountId, from, limit, sortBy, isAscending, filter );

Response Example

{
  "data" : [ {
    "lastName" : "Lawrence",
    "secondaryEmail" : null,
    "mappingInfo" : {
      "mappingId" : "18026000003237019",
      "mappingType" : "PRIMARY",
      "isAccountTicketsViewable" : true
    },
    "mobile" : "+91 8508569683",
    "type" : null,
    "ownerId" : "4000000008734",
    "firstName" : null,
    "accountId" : "4000000008784",
    "photoURL" : null,
    "isAnonymous" : true,
    "phone" : "1 888 900 9646",
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Contacts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "createdTime" : "2017-10-12T13:11:50.000Z",
    "isEndUser" : "false",
    "zohoCRMContact" : {
      "id" : "5000000014010",
      "type" : "contacts_leads"
    },
    "customerHappiness" : {
      "badPercentage" : "0",
      "okPercentage" : "0",
      "goodPercentage" : "0"
    },
    "id" : "4000000008786",
    "isSpam" : false,
    "email" : "[email protected]"
  } ]
}

List tickets by account

This API lists tickets received from a specific account.

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: contactsproductsdepartmentsteamisRead and assignee. You can pass multiple values by separating them with a comma in the API request.

GET /api/v1/accounts/{account_id}/tickets

OAuth Scope

Desk.tickets.READ , Desk.search.READ

Request Example

  • CURL
  • Java

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

AccountAPI account = ZDesk.getAccountAPIInstance(mailId);
GetTicketsByAccountFilter filter = new GetTicketsByAccountFilter.Builder().setDepartmentId(departmentId).build();
List<Ticket> response = account.getTicketsByAccount( accountId, from, limit, sortBy, isAscending, include, filter );

Response Example

{
  "data" : [ {
    "ticketNumber" : "149",
    "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",
    "isRead" : false,
    "onholdTime" : null,
    "language" : "English",
    "closedTime" : null,
    "contact" : {
      "lastName" : "Carol",
      "firstName" : "Lucas",
      "phone" : "1 888 900 9646",
      "mobile" : "8845678909",
      "id" : "18944000000421011",
      "type" : null,
      "email" : "[email protected]",
      "account" : {
        "website" : "www.desk.com",
        "accountName" : "desk Account",
        "id" : "1892000000975382"
      }
    },
    "createdTime" : "2017-10-12T13:11:50.000Z",
    "id" : "18944000000336005",
    "department" : {
      "name" : "dasdasdasd",
      "id" : "1892000000006907"
    },
    "email" : "[email protected]",
    "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",
    "isSpam" : false,
    "assignee" : {
      "firstName" : "dasca",
      "lastName" : "vins",
      "photoURL" : "https://desk.zoho.com/api/v1/agent/1892000000042001/photo",
      "id" : "1892000000042001",
      "email" : "[email protected]"
    },
    "status" : "Open"
  } ]
}

List products by account

This API lists products associated for a specific account.

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

From index

limit

integer

optional,
range : 1-100

Number of products to fetch

departmentId
see documentation

long

optional

Department from which the products need to be queried

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

OAuth Scope

Desk.products.READ , Desk.settings.READ , Desk.contacts.READ

Request Example

  • CURL

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

Response Example

{
  "data" : [ {
    "unitPrice" : "0.0",
    "productCode" : null,
    "id" : "4000000012009",
    "productName" : "Dell"
  } ]
}

Merge Accounts

This API merges two or more accounts.

Credit: 30 credits/call

Attributes

Param Name
Data Type
Description
ids

list

required

Array containing the IDs of the accounts to merge

object

optional

JSON object containing details of the account

POST /api/v1/accounts/{account_id}/merge

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "ids" : [ "4000000018011", "4000000018033" ], "source" : { "country" : "4000000018011", "website" : "4000000018011", "code" : "4000000018011", "cf" : { "cf_contactcount" : 1892220000042001 }, "city" : "4000000018011", "description" : "4000000018011", "industry" : "4000000018011", "phone" : "4000000018011", "annualrevenue" : "4000000018011", "street" : "4000000018011", "state" : "4000000018011", "fax" : "4000000018011", "email" : "4000000018011" } }'

Response Example

{
  "country" : "USA",
  "modifiedTime" : "2015-03-02T14:49:18.000Z",
  "website" : "www.zylker.com",
  "code" : "3211",
  "cf" : {
    "cf_contactcount" : "1"
  },
  "isFollowing" : "true",
  "accountName" : "Zylker",
  "city" : null,
  "associatedSLAIds" : [ 3263000000057, 3000000057001 ],
  "description" : null,
  "industry" : "Automation",
  "zohoCRMAccount" : {
    "id" : "32754000000537001"
  },
  "ownerId" : "3263000000057001",
  "phone" : "6218129190",
  "street" : null,
  "annualrevenue" : null,
  "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Accounts/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
  "createdTime" : "2015-02-16T16:57:44.000Z",
  "state" : null,
  "id" : "3263000000074571",
  "fax" : "+1 444 8656 8732",
  "email" : "[email protected]"
}

Associate products with an account

This API associates products with an account. Only a maximum of 10 products can be associated with an account through a single API request.

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
ids

list

required

IDs of the resources to associate

departmentId
see documentation

long

optional

ID of the department containing the products

associate

boolean

required

true for associating the resource and false for dissociating the resource

POST api/v1/accounts/{account_id}/associateProducts

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "departmentId" : "7000000062800", "ids" : [ "7000000027223", "7000000043968" ], "associate" : true }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "7000000027223",
    "errors" : null
  }, {
    "success" : false,
    "id" : "7000000043968",
    "errors" : {
      "errorCode" : "UNPROCESSABLE_ENTITY",
      "httpCode" : "422"
    }
  } ]
}

Update many accounts

This API updates multiple accounts 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 : 320

Value in the field

isCustomField

boolean

optional

Key that denotes if the field is a user-defined field or not

POST /api/v1/accounts/updateMany

OAuth Scope

Desk.contacts.UPDATE

Request Example

  • CURL

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

  -d'{ "fieldName" : "phone", "isCustomField" : false, "ids" : [ "1892000000093303", "1892000000085009", "1892000000050003" ], "fieldValue" : "8508569875" }'

Response Example

{
  "results" : [ {
    "success" : true,
    "id" : "1892000000093303",
    "errors" : null
  }, {
    "success" : true,
    "id" : "1892000000085009",
    "errors" : null
  }, {
    "success" : false,
    "id" : "1892000000050003",
    "errors" : {
      "errorCode" : "UNPROCESSABLE_ENTITY",
      "httpCode" : "422"
    }
  } ]
}

Get account history

This API fetches the ticket history of an account.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
departmentId

long

optional

ID of the department from which the history details must be fetched

agentId

long

optional

Key that filters ticket activities performed by a particular agent

contactId

long

optional

Key that filters ticket activities related to a particular contact

from

Integer

optional

Index number, starting from which the history details must be fetched

limit

Integer

optional,
range : 1-100

Number of history details to fetch

GET api/v1/accounts/{account_id}/history

OAuth Scope

Desk.tickets.READ , Desk.contacts.READ

Request Example

  • CURL

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

Response Example

{
  "data" : [ {
    "ticketNumber" : "156648",
    "statusType" : "Open",
    "subject" : "Real Time analysis Requirement",
    "author" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000012902/photo",
      "firstName" : "Admin",
      "lastName" : "Admin",
      "id" : "4000000012902",
      "type" : "AGENT",
      "email" : "[email protected]"
    },
    "dueDate" : null,
    "departmentId" : "4000000013957",
    "priority" : null,
    "recipients" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/4000000012999",
    "eventTime" : "2019-09-19T09:37:11.000Z",
    "operation" : "Comment_Updated",
    "ticketId" : "4000000012999",
    "status" : "Open"
  }, {
    "ticketNumber" : "125289",
    "statusType" : "Open",
    "subject" : "Ticket subject here.",
    "author" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agents/4000000012902/photo",
      "firstName" : "Admin",
      "lastName" : "Admin",
      "id" : "4000000012902",
      "type" : "AGENT",
      "email" : "[email protected]"
    },
    "dueDate" : null,
    "departmentId" : "4000000013758",
    "priority" : null,
    "recipients" : [ "[email protected]", "[email protected]", "[email protected]" ],
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/4000000012807",
    "eventTime" : "2019-07-22T16:27:20.000Z",
    "operation" : "Mail_Response_Forward",
    "ticketId" : "4000000012807",
    "status" : "Open"
  } ]
}

Get account statistics

This API fetches the overall statistics of an account.

Credit: 50 credits/call

Query Params

Param Name
Data Type
Description
departmentId

long

optional

ID of the department from which the statistics must be fetched. If you do not pass this parameter in the API request, statistics from all permitted departments will be fetched.

GET /api/v1/accounts/([0-9]+)/statistics

OAuth Scope

Desk.contacts.READ

Request Example

  • CURL

$ curl -X GET https://desk.zoho.com/api/v1/accounts/([0-9]+)/statistics
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "firstResponseTime" : "120000",
  "openTickets" : "11",
  "responseTime" : "13150000",
  "spamTickets" : "0",
  "totalTickets" : "31",
  "customerHappiness" : {
    "badCount" : "50",
    "goodCount" : "0",
    "okCount" : "50"
  },
  "closedTickets" : "20",
  "resolutionTime" : "0",
  "channelWiseCount" : {
    "Web" : "15",
    "Forums" : "15",
    "Chat" : "1"
  },
  "onholdTickets" : "0",
  "escalatedTickets" : "0",
  "overdueTickets" : "0"
}

List account SLAs

This API lists a particular number of SLAs associated with an account, 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,
range : >=0

Index number, starting from which the SLAs must be fetched

limit

integer

optional,
range : 1-100

Number of SLAs to list

departmentId

long

optional

ID of the department from which the SLAs must be fetched. If you do not pass this parameter in the API request, SLAs from all permitted departments will be listed.

status

String

optional

Activation status of the SLAs. Values allowed are: ACTIVE and INACTIVE

GET /api/v1/accounts/{account_id}/sla

OAuth Scope

Desk.settings.READ

Request Example

  • CURL

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

Response Example

{
  "data" : [ {
    "slaName" : "Priority-based SLAs",
    "id" : "45794000000419372",
    "isActive" : true,
    "department" : {
      "name" : "Tesla",
      "id" : "45794000000418059"
    }
  }, {
    "slaName" : "SLA",
    "id" : "45794000000570017",
    "isActive" : true,
    "department" : {
      "name" : "BMW",
      "id" : "45794000000006907"
    }
  }, {
    "slaName" : "Silver SLAs",
    "id" : "45794000000587464",
    "isActive" : true,
    "department" : {
      "name" : "Jaguar",
      "id" : "45794000000586067"
    }
  } ]
}

Associate or dissociate SLA from account

This API associates or dissociates an SLA from an account. 

Credit: 1 credit/call

Attributes

Param Name
Data Type
Description
associate

boolean