Desk API Documentation

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

https://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


OAuth Errors

If an access token expires, you will be provided an error message as shown in the example.

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


Oauth Error Response

HTTP/1.1 401 Unauthorized
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.

Authentication

Zoho Desk's APIs can be authenticated through one of the following methods:

  • AuthToken(Deprecated)
  • OauthToken

AuthTokens (Deprecated)

You can obtain an authtoken through one of the following ways:

  1. Browser method
  2. API method

Browser Method

Obtaining an authtoken using a browser is a simple task. All that you need to do is just login to your Zoho Account and visit the following URL.


https://accounts.zoho.com/apiauthtoken/create?SCOPE=ZohoSupport/supportapi,ZohoSearch/SearchAPI

API Method

To obtain the authToken using an API, perform the following steps:

Submit an HTTP POST request to the following URL.


https://accounts.zoho.com/apiauthtoken/nb/create.


In the body of the POST request, include a string in the following format.


?SCOPE=ZohoSupport/supportapi,ZohoSearch/SearchAPI&EMAIL_ID=[ZohoID/EmailID]&PASSWORD=[Password]


Below are the mandatory case-sensitive fields to be passed in the URL.


Parameter Value to Pass
SCOPE ZohoSupport/supportapi
EMAIL_ID Your Zoho ID or Email ID
PASSWORD Your Zoho password

Request Example using authtoken

$ curl -X GET https://desk.zoho.com/api/v1/tickets
  -H "orgId:2389290"
  -H "Authorization:Zoho-authtoken 67013ab3960787bcf3affae67e649fc0a789"


OauthTokens

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 Java-based OAuth library, click here.

Obtaining the OAuthToken

To obtain the OAuthToken for your app, perform the following steps:

1. Register the App

First, register your app in Zoho's Developer Console, which you can access here.
On successful registration, you will be provided with a client ID and a client secret. These are your OAuth credentials.


2. Obtain the Authorization Grant

Next, 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.
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. Once the user accepts, a GET request will be made to the redirect_uri with the authorization code appended in the query param.


3. Obtain the Access Token

As the final step, 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.
scope Specify the scope allowed for Zoho Desk.
grant_type "authorization_code"
redirect_uri Redirect URI mentioned while registering the client.
state State is an opaque value used by the client to maintain state between the request and callback.Has to be maintained the same during the entire process for authenticity.

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



Generating Access Token from a Refresh Token

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.


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



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

Sample Success Response

Authorization Grant 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


Access Token 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
&scope=Desk.tickets.READ,Desk.basic.READ


Response Example

Generating access token using refresh token

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

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

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

Required

Actual company name of the organization/business

organizationName

string

Required

Portal name of the organization as it appears in Zoho Desk , it contains lower case letters and numbers only

phoneNumber

string

Required

Phone number of the organization

id

long

ReadOnly

Unique ID of the Organization

isDefault

boolean

ReadOnly

Field that returns if the organization is the default organization of a user

isAdminInOrg

boolean

ReadOnly

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

portalURL

string

ReadOnly

URL of the organization

logoURL

string

ReadOnly

URL of the organization's logo image file

Example

{ "isDefault" : false, "phoneNumber" : "9884358080", "organizationName" : "zohocorp", "companyName" : "zohoDesk", "portalURL" : "http://desk.zoho.com/support/zohocorp/ShowHomePage.do", "id" : 3981311, "logoURL" : "http://img.zohostatic.com/support/1284527/images/portalLogo.png", "isAdminInOrg" : true }



Get an Organization

This API fetches the details of an organization from your helpdesk.

GET /api/v1/organizations/{organization_Id}

OAuth Scope

Desk.basic.READ

Request Example

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

Response Example

{
  "isDefault" : false,
  "phoneNumber" : "9884358080",
  "organizationName" : "zohocorp",
  "companyName" : "zohoDesk",
  "portalURL" : "http://desk.zoho.com/support/zohocorp/ShowHomePage.do",
  "id" : 3981311,
  "logoURL" : "http://img.zohostatic.com/support/1284527/images/portalLogo.png",
  "isAdminInOrg" : true
}

Get all Organizations

This API lists all organizations to which the current user belongs

GET /api/v1/organizations

OAuth Scope

Desk.basic.READ

Request Example

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

Response Example

{
  "data" : [ {
    "isDefault" : "false",
    "phoneNumber" : "9884358081",
    "organizationName" : "zohocorp",
    "companyName" : "zohoDesk",
    "portalURL" : "http://desk.zoho.com/support/zohocorp/ShowHomePage.do",
    "id" : "3981311",
    "logoURL" : "http://img.zohostatic.com/support/1284527/images/portalLogo.png",
    "isAdminInOrg" : true
  }, {
    "isDefault" : "true",
    "phoneNumber" : "9884358080",
    "organizationName" : "zohotech",
    "companyName" : "zohoCrmPlus",
    "portalURL" : "http://desk.zoho.com/support/zohotech/ShowHomePage.do",
    "id" : "3981312",
    "logoURL" : "http://img.zohostatic.com/support/1284527/images/portalLogo.png",
    "isAdminInOrg" : true
  } ]
}

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

ReadOnly

Id of the ticket

subject

string

Required

Ticket subject

departmentId
see documentation

long

Required

Department to which the ticket belongs

referred object

Required

Contact who raised the ticket

productId

referred object

Optional

Product to which the ticket is mapped

list

Optional

list of attachments ,refer uploads api to create attachment

email

string

Optional

Email ID in the ticket

phone

string

Optional

Phone number in the ticket

description

string

Optional

Ticket description

status

string

Optional

Status of the ticket. Includes the custom statuses that exist in your help desk.

statusType

string

ReadOnly

Type of ticket resolution status.The possible values can be Open and Closed.

assigneeId

long

Optional

ID of agent to whom the ticket is assigned

category

string

Optional

Ticket category

subCategory

string

Optional

Ticket subcategory

resolution

string

Optional

Resolution status of the ticket

dueDate

timestamp

Optional

Ticket dueDate

priority

string

Optional

Ticket priority

channel

string

Optional

Channel through which the ticket originated.

classification

string

Optional

Ticket classification

customFields

list

Optional

Custom fields in the ticket

webUrl

string

Optional

URL to access the resource

createdTime

timestamp

ReadOnly

Time of ticket creation

modifiedTime

timestamp

ReadOnly

Time of ticket modification

timeEntryCount

integer

ReadOnly

No. of time entries associated with the ticket

approvalCount

integer

ReadOnly

No. of approvals associated with the ticket

commentCount

integer

ReadOnly

No. of comments in the ticket

attachmentCount

integer

ReadOnly

No. of attachments in the ticket

taskCount

integer

ReadOnly

No. of tasks associated with the ticket

threadCount

integer

ReadOnly

No. of threads associated with the ticket

isDeleted

boolean

ReadOnly

Field that denotes whether the ticket is deleted

product

Product

ReadOnly

Product associated with the ticket. You obtain this information using the include:product query param.

closedTime

timestamp

ReadOnly

Time of ticket closure

ticketNumber

integer

ReadOnly

Ticket Number

contact

Contact

ReadOnly

Contact who raised the ticket. You obtain this information using the include:contact query param

customerResponseTime

timestamp

ReadOnly

Time of customer response

sharedDepartments

list

Optional

Department details to which a ticket has been shared

Example

{ "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", "customFields" : { "secondaryEmail" : null, "ModelName" : "F3 2017", "severityPercentage" : "0.0", "phone" : null, "numberOfItems" : null, "dateofPurchase" : null, "permanentAddress" : null, "url" : null }, "dueDate" : "2016-06-21T16:16:16.000Z", "departmentId" : "1892000000006907", "channel" : "Email", "description" : "Hi. There is a sudden delay in the processing of the orders. Check this with high priority", "resolution" : null, "closedTime" : null, "approvalCount" : "1", "timeEntryCount" : "3", "contact" : { "lastName" : "Carol", "firstName" : "Lucas", "phone" : "1 888 900 9646", "id" : "1892000000042032", "type" : "paid", "email" : "carol@zylker.com", "account" : { "website" : "www.desk.com", "accountName" : "desk Account", "id" : "1892000000975382" } }, "createdTime" : "2013-11-04T11:21:07.000Z", "id" : "1892000000042034", "email" : "carol@zylker.com", "customerResponseTime" : "2013-11-04T11:21:07.912Z", "product" : null, "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", "category" : "general", "status" : "Open" }



Get a ticket

This API fetches a single ticket from your helpdesk.

Query Params

Param Name
Data Type
Description

string

Allowed values are : contacts, products. You can inlcude both by separating them with a comma in the query param.

GET /api/v1/tickets/{ticket_id}

OAuth Scope

Desk.tickets.READ

Request Example

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

Response Example

{
  "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",
  "customFields" : {
    "secondaryEmail" : null,
    "ModelName" : "F3 2017",
    "severityPercentage" : "0.0",
    "phone" : null,
    "numberOfItems" : null,
    "dateofPurchase" : null,
    "permanentAddress" : null,
    "url" : null
  },
  "dueDate" : "2016-06-21T16:16:16.000Z",
  "departmentId" : "1892000000006907",
  "channel" : "Email",
  "description" : "Hi. There is a sudden delay in the processing of the orders. Check this with high priority",
  "resolution" : null,
  "closedTime" : null,
  "approvalCount" : "1",
  "timeEntryCount" : "3",
  "isDeleted" : "false",
  "contact" : {
    "lastName" : "Carol",
    "firstName" : "Lucas",
    "phone" : "1 888 900 9646",
    "id" : "1892000000042032",
    "type" : null,
    "email" : "carol@zylker.com",
    "account" : {
      "website" : "www.desk.com",
      "accountName" : "desk Account",
      "id" : "1892000000975382"
    }
  },
  "createdTime" : "2013-11-04T11:21:07.000Z",
  "id" : "1892000000042034",
  "email" : "carol@zylker.com",
  "customerResponseTime" : "2013-11-04T11:21:07.912Z",
  "product" : null,
  "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",
  "category" : "general",
  "status" : "Open"
}

List all tickets

This API lists all tickets in your helpdesk.

Query Params

Param Name
Data Type
Description
from

integer

From index

limit

integer

No. of tickets to fetch

departmentId
see documentation

long

Department from which the tickets need to be queried

assignee

string

Filter by ticket assignee. Values allowed are Unassigned or valid asigneeIds. You can include multiple values by separating them with a comma

channel

string

Filter by channel through which the tickets originated. You can include multiple values by separating them with a comma

status

string

Filter by resolution status of the ticket. You can include multiple values by separating them with a comma

sortBy

string

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

receivedInDays

integer

Fetches recent tickets, based on customer response time. Values allowed are 15, 30 , 90.

string

Allowed Values are : contacts, products. You can include both by separating them with a comma in the query param.

GET /api/v1/tickets

OAuth Scope

Desk.tickets.READ

Request Example

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

Response Example

{
  "data" : [ {
    "ticketNumber" : "101",
    "customerResponseTime" : "2013-11-04T11:21:07.912Z",
    "productId" : null,
    "contactId" : "1892000000042032",
    "subject" : "Real Time analysis Requirement",
    "dueDate" : "2016-06-21T16:16:16.000Z",
    "departmentId" : "1892000000006907",
    "channel" : "Email",
    "threadCount" : "121",
    "priority" : "High",
    "assigneeId" : "1892000000056007",
    "closedTime" : null,
    "commentCount" : "1",
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b0284bc703b38",
    "contact" : {
      "firstName" : "Lucas",
      "lastName" : "Carol",
      "phone" : "1 888 900 9646",
      "id" : "1892000000042032",
      "type" : null,
      "email" : "carol@zylker.com",
      "account" : {
        "website" : null,
        "accountName" : "desk Account",
        "id" : "1892000000975382"
      }
    },
    "createdTime" : "2013-11-04T11:21:07.000Z",
    "id" : "1892000000042034",
    "email" : "carol@zylker.com",
    "status" : "Open"
  }, {
    "ticketNumber" : "176",
    "customerResponseTime" : "2014-03-22T05:05:08.471Z",
    "statusType" : "Closed",
    "productId" : null,
    "contactId" : "1892000000045028",
    "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",
    "threadCount" : "72",
    "priority" : "High",
    "assigneeId" : "1892000000056007",
    "closedTime" : null,
    "commentCount" : "0",
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d126330fb061247d9ebddaeb9d93ba74750b02214oc203b38",
    "contact" : {
      "firstName" : "Jonathan",
      "lastName" : "Casie",
      "phone" : null,
      "id" : "1892000000045028",
      "type" : null,
      "email" : "casie@zylker.com",
      "account" : {
        "website" : "www.zylker.com",
        "accountName" : "Zylker sAccount",
        "id" : "1892000000980421"
      }
    },
    "createdTime" : "2014-03-06T09:49:50.000Z",
    "id" : "1892000000094004",
    "email" : "casie@zylker.com",
    "status" : "Closed"
  }, {
    "ticketNumber" : "191",
    "customerResponseTime" : "2014-03-21T10:54:21.802Z",
    "statusType" : "Open",
    "productId" : null,
    "contactId" : "1892000000045028",
    "subject" : "Real Time analysis Requirement",
    "dueDate" : null,
    "departmentId" : "1892000000006907",
    "channel" : "Chat",
    "threadCount" : "19",
    "priority" : "High",
    "assigneeId" : "1892000000042001",
    "closedTime" : null,
    "commentCount" : "0",
    "phone" : null,
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/d11bcdfb061247d9edbacb9d93ba74750b0284bc703b38",
    "contact" : {
      "firstName" : "Jonathan",
      "lastName" : "Casie",
      "phone" : null,
      "id" : "1892000000045028",
      "type" : null,
      "email" : "casie@zylker.com",
      "account" : {
        "website" : "www.zylker.com",
        "accountName" : "Zylker Account",
        "id" : "1892000000980421"
      }
    },
    "createdTime" : "2014-03-21T09:16:03.000Z",
    "id" : "1892000000137057",
    "email" : "casie@zylker.com",
    "status" : "Open"
  } ]
}

Create a ticket

This API creates a ticket in your helpdesk.

POST /api/v1/tickets

OAuth Scope

Desk.tickets.CREATE

Request Example

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

  -d '{ "subCategory" : "Sub General", "productId" : "", "contactId" : "1892000000042032", "subject" : "Real Time analysis Requirement", "customFields" : { "secondaryEmail" : null, "ModelName" : "F3 2017", "severityPercentage" : "0.0", "phone" : null, "numberOfItems" : null, "dateofPurchase" : null, "permanentAddress" : null, "url" : null }, "dueDate" : "2016-06-21T16:16:16.000Z", "departmentId" : "1892000000006907", "channel" : "Email", "description" : "Hai This is Description", "priority" : "High", "classification" : "", "assigneeId" : "1892000000056007", "phone" : "1 888 900 9646", "category" : "general", "email" : "carol@zylker.com", "status" : "Open" }'

Response Example

{
  "modifiedTime" : "2016-06-21T12:50:04.000Z",
  "ticketNumber" : "773",
  "subCategory" : "Sub General",
  "statusType" : "Open",
  "subject" : "Real Time analysis Requirement",
  "customFields" : {
    "secondaryEmail" : null,
    "ModelName" : "F3 2017",
    "severityPercentage" : "0.0",
    "phone" : null,
    "numberOfItems" : null,
    "dateofPurchase" : null,
    "permanentAddress" : null,
    "url" : null
  },
  "dueDate" : "2016-06-21T18:50:04.573Z",
  "departmentId" : "1892000000006907",
  "channel" : "Email",
  "description" : "Hai This is description",
  "resolution" : null,
  "closedTime" : null,
  "approvalCount" : "0",
  "timeEntryCount" : "0",
  "isDeleted" : "false",
  "createdTime" : "2016-06-21T12:50:04.000Z",
  "id" : "1892000001054003",
  "email" : "carol@zylker.com",
  "customerResponseTime" : "2013-11-04T11:21:07.912Z",
  "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",
  "category" : "general",
  "status" : "Open"
}

Update a ticket

This API updates an existing ticket.

PATCH /api/v1/tickets/{ticket_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

  -d '{ "subCategory" : "Sub General", "productId" : "", "contactId" : "1892000000042032", "subject" : "Real Time analysis Requirement", "customFields" : { "secondaryEmail" : null, "ModelName" : "F3 2017", "severityPercentage" : "0.0", "phone" : null, "numberOfItems" : null, "dateofPurchase" : null, "permanentAddress" : null, "url" : null }, "dueDate" : "2016-06-21T16:16:16.000Z", "departmentId" : "1892000000006907", "channel" : "Phone", "description" : "Sample Ticket", "priority" : "Low", "classification" : "", "assigneeId" : "1892000000056007", "phone" : "1 888 900 9646", "category" : "general", "email" : "carol@zylker.com", "status" : "Open" }'

Response Example

{
  "modifiedTime" : "2016-06-21T12:58:09.122Z",
  "ticketNumber" : "773",
  "subCategory" : "Sub General",
  "statusType" : "Open",
  "subject" : "Real Time analysis Requirement",
  "customFields" : {
    "secondaryEmail" : null,
    "ModelName" : "F3 2017",
    "severityPercentage" : "0.0",
    "phone" : null,
    "numberOfItems" : null,
    "dateofPurchase" : null,
    "permanentAddress" : null,
    "url" : null
  },
  "dueDate" : "2016-06-23T12:58:09.211Z",
  "departmentId" : "1892000000006907",
  "channel" : "Phone",
  "description" : "Sample Ticket",
  "resolution" : null,
  "closedTime" : null,
  "approvalCount" : "0",
  "timeEntryCount" : "0",
  "isDeleted" : "false",
  "createdTime" : "2016-06-21T12:50:04.000Z",
  "id" : "1892000001054003",
  "email" : "carol@zylker.com",
  "customerResponseTime" : "2013-11-04T11:21:07.912Z",
  "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",
  "category" : "general",
  "status" : "Open"
}

Merge two tickets

This API merges two different tickets.

POST /api/v1/tickets/{ticket_id}/merge

OAuth Scope

Desk.tickets.UPDATE

Request Example

$ 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

{
  "modifiedTime" : "2016-06-21T10:16:15.000Z",
  "ticketNumber" : "101",
  "subCategory" : "Sub General",
  "statusType" : "Open",
  "subject" : "Real Time analysis Requirement",
  "customFields" : {
    "secondaryEmail" : null,
    "ModelName" : "F3 2017",
    "severityPercentage" : "0.0",
    "phone" : null,
    "numberOfItems" : null,
    "dateofPurchase" : null,
    "permanentAddress" : null,
    "url" : null
  },
  "dueDate" : "2016-06-21T16:16:16.000Z",
  "departmentId" : "42000000006907",
  "channel" : "Email",
  "description" : "Real Time analysis Requirement",
  "resolution" : null,
  "closedTime" : null,
  "approvalCount" : "0",
  "timeEntryCount" : "3",
  "createdTime" : "2013-11-04T11:21:07.000Z",
  "id" : "4000000008749",
  "email" : "carol@zylker.com",
  "customerResponseTime" : "2013-11-04T11:21:07.912Z",
  "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",
  "attachmentCount" : "1",
  "category" : "general",
  "status" : "Open"
}

Move ticket

This API moves a ticket from one department to another.

Query Params

Param Name
Data Type
Description
departmentId
see documentation

long

ID of the department to which you want to move the ticket

POST /api/v1/tickets/{ticket_id}/move

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

Response Example

200

Split tickets

This API splits a thread into a ticket.

POST /api/v1/tickets/{ticket_id}/thread/{thread_id}/split

OAuth Scope

Desk.tickets.CREATE

Request Example

$ 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",
  "customFields" : {
    "secondaryEmail" : null,
    "ModelName" : "F3 2017",
    "severityPercentage" : "0.0",
    "phone" : null,
    "numberOfItems" : null,
    "dateofPurchase" : null,
    "permanentAddress" : null,
    "url" : null
  },
  "dueDate" : "2016-06-21T16:16:16.000Z",
  "departmentId" : "1892000000006907",
  "channel" : "Email",
  "description" : "Real Time analysis Requirement",
  "resolution" : null,
  "closedTime" : null,
  "approvalCount" : "0",
  "timeEntryCount" : "3",
  "createdTime" : "2013-11-04T11:21:07.000Z",
  "id" : "1892000000042034",
  "email" : "carol@zylker.com",
  "customerResponseTime" : "2013-11-04T11:21:07.912Z",
  "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",
  "category" : "general",
  "status" : "Open"
}

Update many tickets

This API updates multiple tickets at once.

POST /api/v1/tickets/updateMany

OAuth Scope

Desk.tickets.UPDATE

Request Example

$ 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

Mark spam

This API marks a ticket as spam.

POST /api/v1/tickets/markSpam

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

  -d '{ "ids" : [ 1892000001021097 ], "isSpam" : "true" }'

Response Example

200

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

ReadOnly

ID of the thread

channel

string

Required

Channel through which the thread originated. Values allowed are FACEBOOK, TWITTER, EMAIL and FORUMS .

status

string

ReadOnly

Status of the thread.Possible values are(SUCCESS,PENDING,FAILED,DRAFT)

content

string

Required

Content of the thread

contentType

string

Optional

Used to denote the content-type(need to be given only when channel is EMAIL) which maybe html or plainText. The default type is plainText.

isForward

boolean

Optional

States whether the thread data was forwarded, applicable only for EMAIL

inReplyToThreadId

long

Optional

ID of the thread to which this thread is a reply, applicable only for EMAIL

list

Optional

List of attachment IDs, applicable only for EMAIL. You can obtain attachment IDs from Uploads API

createdTime

timestamp

ReadOnly

Time of thread creation

direction

string

Optional

Returns whether the thread is incoming or outgoing

object

ReadOnly

Details of the thread Author.

fromEmailAddress
see documentation

string

Optional

Mandatory param for creating an email thread, applicable only for EMAIL, ONLINE_CHAT, OFFLINE_CHAT, CUSTOMERPORTAL, and FORUMS.

to

string

Optional

To ID in the thread, applicable only for EMAIL

cc

string

Optional

CC-ed email ID, if any exist. Applicable only for EMAIL

bcc

string

Optional

BCC-ed email ID, if any exist. Applicable only for EMAIL

phoneno

string

ReadOnly

Phone number through which the thread originated, applicable only for ZTI and TWILIO

summary

string

ReadOnly

Summary of the thread

attachments

object

ReadOnly

Attachments in the thread

hasAttach

boolean

Optional

States whether the thread has attachments

list

ReadOnly

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.

Example

{ "hasAttach" : true, "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" } ], "visibility" : "public", "author" : { "photoURL" : "https://desk.zoho.com/api/v1/agent/176276372673/photo", "name" : "Jade Tywin", "type" : "AGENT", "email" : "jade@zylker.zohodesk.com" }, "channel" : "FORUMS", "createdTime" : "2016-03-21T08:46:48.248Z", "id" : "1892000000135387", "actions" : [ ], "content" : "How was our Customer Service ?", "status" : "SUCCESS", "direction" : "out" }



Get a thread

This API fetches a single thread from your helpdesk.

GET /api/v1/tickets/{ticket_id}/threads/{thread_id}

OAuth Scope

Desk.tickets.READ

Request Example

$ curl -X GET https://desk.zoho.com/api/v1/tickets/1892000000094004/threads/1892000000135387
  -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/1892000000093205/threads/1892000001083008/attachments/1892000001083005/content"
  } ],
  "bcc" : "",
  "visibility" : "public",
  "author" : {
    "photoURL" : null,
    "name" : "Jade Tywin",
    "type" : "END_USER",
    "email" : "jade12tywin@gmail.com"
  },
  "channel" : "EMAIL",
  "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,
  "createdTime" : "2016-06-02T18:17:55.000Z",
  "to" : "techsupport@zylker.zohodesk.com",
  "id" : "1892000000135387",
  "fromEmailAddress" : "jade12tywin@gmail.com",
  "actions" : [ ],
  "status" : "SUCCESS",
  "direction" : "in"
}

List all threads

This API lists all threads in your helpdesk.

Query Params

Param Name
Data Type
Description
from

integer

The from index of the threads

limit

integer

The number of threads in the case to be displayed

GET /api/v1/tickets/{ticket_id}/threads

OAuth Scope

Desk.tickets.READ

Request Example

$ 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" : [ {
    "hasAttach" : false,
    "visibility" : "public",
    "author" : {
      "photoURL" : "https://desk.zoho.com/api/v1/user/176276372673/photo",
      "name" : "Jade Tywin",
      "type" : "END_USER",
      "email" : "jade12tywin@gmail.com"
    },
    "channel" : "FEEDBACK",
    "createdTime" : "2015-03-25T13:40:23.031Z",
    "id" : "1892000000413186",
    "fromEmailAddress" : "jade12tywin@gmail.com",
    "actions" : [ ],
    "status" : "SUCCESS",
    "direction" : "in"
  }, {
    "summary" : "Customer Rating",
    "cc" : "",
    "bcc" : "",
    "visibility" : "public",
    "author" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agent/1892000000042001/photo",
      "name" : "Jade Tywin",
      "type" : "AGENT",
      "email" : "jade12tywin@zylker.com"
    },
    "channel" : "EMAIL",
    "isForward" : false,
    "hasAttach" : true,
    "responderId" : "1892000000042001",
    "createdTime" : "2016-05-25T10:06:09.686Z",
    "id" : "1892000001004072",
    "to" : "carol@zoho.com",
    "fromEmailAddress" : "techsupport@zylker.zohodesk.com",
    "actions" : [ {
      "method" : "POST",
      "rel" : "send",
      "href" : "https://desk.zoho.com/api/v1/tickets/1892000000093205/resendFailedThread?threadId=1892000001083008"
    } ],
    "status" : "FAILED",
    "direction" : "out"
  }, {
    "hasAttach" : false,
    "summary" : "Please fix this problem, since it is urgent posted the issue on Facebook ",
    "responderId" : "2150000000043591",
    "visibility" : "public",
    "author" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agent/2150000000043591/photo",
      "name" : "Jade Tywin",
      "type" : "AGENT",
      "email" : "jade12tywin@zylker.com"
    },
    "channel" : "FACEBOOK",
    "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"
    } ],
    "status" : "DRAFT",
    "direction" : "out"
  }, {
    "hasAttach" : false,
    "visibility" : "public",
    "author" : {
      "photoURL" : "https://desk.zoho.com/api/v1/user/176276372673/photo",
      "name" : "Jade Tywin",
      "type" : "END_USER",
      "email" : "jade12tywin@gmail.com"
    },
    "channel" : "FEEDBACK",
    "createdTime" : "2015-03-25T13:40:23.031Z",
    "id" : "1892000000413189",
    "fromEmailAddress" : "jade12tywin@gmail.com",
    "actions" : [ ],
    "status" : "SUCCESS",
    "direction" : "in"
  } ]
}

Send Email Reply

This API sends an email reply.The from address of the email must be one of the from addresses configured in your helpdesk.

POST /api/v1/tickets/{ticket_id}/sendReply

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

  -d '{ "channel" : "EMAIL", "attachmentIds" : [ "1312123141313" ], "to" : "carol@zoho.com", "fromEmailAddress" : "techsupport@zylker.zohodesk.com", "contentType" : "plainText", "content" : "We have identified the root cause and fixed it.", "isForward" : "true" }'

Response Example

{
  "summary" : "We have identified the root cause and fixed it.",
  "cc" : "",
  "bcc" : "",
  "attachments" : [ {
    "size" : "818",
    "name" : "atach.png",
    "id" : "1892000000042043",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000093205/threads/1892000001083008/attachments/1892000001083005/content"
  } ],
  "visibility" : "public",
  "author" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agent/176276372673/photo",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@gmail.com"
  },
  "channel" : "EMAIL",
  "content" : "We have identified the root cause and fixed it.",
  "isForward" : true,
  "hasAttach" : true,
  "responderId" : "1892000000042001",
  "createdTime" : "2016-05-25T10:06:09.686Z",
  "id" : "1892000001004072",
  "to" : "carol@zoho.com",
  "fromEmailAddress" : "techsupport@zylker.zohodesk.com",
  "actions" : [ ],
  "status" : "PENDING",
  "direction" : "out"
}

Draft Email Reply

This API drafts an email reply.The from address of the email must be one of the from addresses configured in your helpdesk.

POST /api/v1/tickets/{ticket_id}/draftReply

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

  -d '{ "channel" : "EMAIL", "attachmentIds" : [ "1312123141313" ], "to" : "carol@zoho.com", "fromEmailAddress" : "techsupport@zylker.zohodesk.com", "contentType" : "plainText", "content" : "We have escaled the issue. Will update you regarding the progress.", "isForward" : "true" }'

Response Example

{
  "summary" : "We have escaled the issue. Will update you regarding the progress.",
  "cc" : "",
  "bcc" : "",
  "attachments" : [ {
    "size" : "324",
    "name" : "atach.png",
    "id" : "1892000000042043",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000093205/threads/1892000001083008/attachments/1892000001083005/content"
  } ],
  "visibility" : "public",
  "author" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agent/1892000000042001/photo",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  },
  "channel" : "EMAIL",
  "content" : "We have escaled the issue. Will update you regarding the progress.",
  "isForward" : false,
  "hasAttach" : true,
  "responderId" : "1892000000042001",
  "createdTime" : "2016-05-25T10:06:09.686Z",
  "id" : "1892000001004072",
  "to" : "carol@zoho.com",
  "fromEmailAddress" : "techsupport@zylker.zohodesk.com",
  "actions" : [ {
    "method" : "POST",
    "rel" : "send",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/sendDraft?draftThreadId=1892000001004072"
  }, {
    "method" : "DELETE",
    "rel" : "delete",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/draftReply/1892000001004072"
  } ],
  "status" : "DRAFT",
  "direction" : "out"
}

Update Draft

This API updates a draft thread.Update Draft is only applicable for EMAIL,FACEBOOK and FORUM

PATCH /api/v1/tickets/{ticket_id}/draftReply/{thread_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

  -d '{ "channel" : "EMAIL", "to" : "carol@zoho.com", "fromEmailAddress" : "techsupport@zylker.zohodesk.com", "contentType" : "plainText", "content" : "We are analysing the issue currently , will update you with a solution as early as possible" }'

Response Example

{
  "summary" : "We are analysing the issue currently , will update you with a solution as early as possible",
  "cc" : "",
  "bcc" : "",
  "visibility" : "public",
  "author" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agent/1892000000042001/photo",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  },
  "channel" : "EMAIL",
  "content" : "We are analysing the issue currently , will update you with a solution as early as possible",
  "isForward" : false,
  "hasAttach" : false,
  "responderId" : "1892000000042001",
  "createdTime" : "2016-05-25T10:06:09.686Z",
  "id" : "1892000001004072",
  "to" : "carol@zoho.com",
  "fromEmailAddress" : "techsupport@zylker.zohodesk.com",
  "actions" : [ {
    "method" : "POST",
    "rel" : "send",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/sendDraft?draftThreadId=1892000001004072"
  }, {
    "method" : "DELETE",
    "rel" : "delete",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000000094004/draftReply/1892000001004072"
  } ],
  "status" : "DRAFT",
  "direction" : "out"
}

Delete an attachment

This API deletes the draft attachment in a thread.

DELETE /api/v1/tickets/{ticket_id}/threads/{thread_id}/attachments/{attachment_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

$ curl -X DELETE https://desk.zoho.com/api/v1/tickets/1892000000093205/threads/1892000001083008/attachments/1892000001083005
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

200

Tickets Comments

Ticket comments are ticket-related conversations that occur mainly between different agents in the help desk. Comments marked as private in a ticket are visible only to agents, whereas comments marked as public appear on the customer portal too.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ReadOnly

ID of the comment

content

string

Optional

Content of the comment. To retrieve or set user mentions, use this code format: zsu[@user:{zuid}zsu.

isPublic

boolean

Optional

Attribute that returns if a comment is public or not. The value of this attribute can be set only at the time of making a comment.

commenterId

string

ReadOnly

ID of the user who made the comment

commentedTime

timestamp

ReadOnly

Time of comment creation

modifiedTime

timestamp

ReadOnly

Time of comment modification

commenter

object

ReadOnly

Details of the user who made the comment.

Example

{ "commentedTime" : "2014-11-28T10:25:13.000Z", "isPublic" : false, "id" : "1892000000366001", "content" : "This is a comment structure", "commenterId" : "1892000000042001", "commenter" : { "photoURL" : "https://desk.zoho.com/api/v1/portalUser/4000000008692/photo", "name" : "Jade Tywin", "type" : "END_USER", "email" : "jade12tywin@zylker.com" } }



Create a ticket comment

This API adds a comment to a ticket. To include an @mention, follow this format: zsu[@user:{zuid}]zsu.

POST api/v1/tickets/{ticket_id}/comments

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

  -d '{ "isPublic" : "true", "attachmentIds" : [ "4000000008892" ], "content" : "zsu[@user:11550965]zsu Please fix this ASAP" }'

Response Example

{
  "modifiedTime" : null,
  "attachments" : [ {
    "size" : "12734",
    "name" : "Attachment.png",
    "id" : "4000000008892",
    "href" : "https://desk.zoho.com/api/v1/tickets/4000000528005/comments/4000000529001/attachments/4000000008892/content"
  } ],
  "commentedTime" : "2017-01-24T14:06:58.193Z",
  "isPublic" : true,
  "id" : "4000000529001",
  "content" : "zsu[@user:11550965]zsu Please fix this ASAP",
  "commenterId" : "4000000008692",
  "commenter" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agent/4000000008692/photo",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  }
}

Update a ticket comment

This API modifies an existing comment. To include an @mention, follow this format: zsu[@user:{zuid}]zsu.

PATCH api/v1/tickets/{ticket_id}/comments/{comment_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

  -d '{ "attachmentIds" : [ "4000000008994" ], "content" : "Edited comment." }'

Response Example

{
  "modifiedTime" : "2017-01-24T14:12:45.163Z",
  "attachments" : [ {
    "size" : "12734",
    "name" : "Attachment_edited.png",
    "id" : "4000000008994",
    "href" : "https://desk.zoho.com/api/v1/tickets/4000000528005/comments/4000000529001/attachments/4000000008994/content"
  } ],
  "commentedTime" : "2017-01-24T14:06:58.000Z",
  "isPublic" : true,
  "id" : "4000000529001",
  "commenterId" : "4000000008692",
  "content" : "Fixed the issue.",
  "commenter" : {
    "photoURL" : "https://desk.zoho.com/api/v1/portalUser/4000000008692/photo",
    "name" : "Jade Tywin",
    "type" : "END_USER",
    "email" : "jade12tywin@zylker.com"
  }
}

Delete a ticket comment

This API deletes an existing comment.

DELETE api/v1/tickets/{ticket_id}/comments/{comment_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

Response Example

200

Get a ticket comment

This API fetches a comment from a ticket.

GET api/v1/tickets/{ticket_id}/comments/{comment_id}

OAuth Scope

Desk.tickets.READ

Request Example

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

Response Example

{
  "modifiedTime" : "2017-01-24T14:12:45.000Z",
  "attachments" : [ {
    "size" : "12734",
    "name" : "Attachment_edited.png",
    "id" : "4000000008994",
    "href" : "https://desk.zoho.com/api/v1/tickets/4000000528005/comments/4000000529001/attachments/4000000008994/content"
  } ],
  "commentedTime" : "2017-01-24T14:06:58.000Z",
  "isPublic" : true,
  "id" : "4000000529001",
  "commenterId" : "4000000008692",
  "content" : "Fixed the issue.",
  "commenter" : {
    "photoURL" : "https://desk.zoho.com/api/v1/agent/4000000008692/photo",
    "name" : "Jade Tywin",
    "type" : "AGENT",
    "email" : "jade12tywin@zylker.com"
  }
}

List all ticket comments

This API lists a particular number of comments recorded on a ticket, based on the limit specified. 

Query Params

Param Name
Data Type
Description
from

integer

Index number starting from which the comments must be fetched

limit

integer

No. of comments to fetch

sortBy

string

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

GET api/v1/tickets/{ticket_id}/comments

OAuth Scope

Desk.tickets.READ

Request Example

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

Response Example

{
  "data" : [ {
    "modifiedTime" : "2017-01-24T14:12:45.000Z",
    "attachments" : [ {
      "size" : "12734",
      "name" : "Attachment_edited.png",
      "id" : "4000000008994",
      "href" : "https://desk.zoho.com/api/v1/tickets/4000000528005/comments/4000000529001/attachments/4000000008994/content"
    } ],
    "commentedTime" : "2017-01-24T14:06:58.000Z",
    "isPublic" : true,
    "id" : "4000000529001",
    "content" : "Fixed the issue.",
    "commenterId" : "4000000008692",
    "commenter" : {
      "photoURL" : "https://desk.zoho.com/api/v1/agent/4000000008692/photo",
      "name" : "Jade Tywin",
      "type" : "AGENT",
      "email" : "jade12tywin@zylker.com"
    }
  }, {
    "modifiedTime" : null,
    "commentedTime" : "2017-01-24T14:14:37.000Z",
    "isPublic" : false,
    "id" : "4000000529007",
    "content" : "zsu[@user:11550965]zsu Please fix this ASAP",
    "commenterId" : "4000000008692",
    "commenter" : {
      "photoURL" : "https://desk.zoho.com/api/v1/portalUser/4000000008692/photo",
      "name" : "Jade Tywin",
      "type" : "END_USER",
      "email" : "jade12tywin@zylker.com"
    }
  } ]
}

Ticket Attachments

Ticket attachments are the files you attach to a ticket to aid quick resolution.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ReadOnly

ID of the attachment

creatorId

long

ReadOnly

ID of user who added the attachment

createdTime

timestamp

ReadOnly

Time of file attachment

name

string

ReadOnly

Name of the attachment

isPublic

boolean

ReadOnly

Visibility setting of the attachment

size

long

ReadOnly

Size of the attachment

Example

{ "size" : "1079", "creatorId" : "1892000000047001", "name" : "ScreenShot", "createdTime" : "2013-11-06T10:25:03.000Z", "isPublic" : true, "id" : "1892000000047041", "href" : "https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments/1892000000047041/content" }



List all attachments

This API lists all attachments in a ticket.

Query Params

Param Name
Data Type
Description
sortBy

string

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

from

integer

from Index

limit

integer

the number of attachments to be displayed

isPublic

Boolean

To get the Public or Private or All Attachment

GET /api/v1/tickets/{ticket_id}/attachments

OAuth Scope

Desk.tickets.READ

Request Example

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

Response Example

{
  "data" : [ {
    "size" : "1079",
    "creatorId" : "1892000000047001",
    "name" : "issues.txt",
    "createdTime" : "2013-11-06T10:25:03.000Z",
    "isPublic" : true,
    "id" : "1892000000047041",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments/1892000000047041/content"
  }, {
    "size" : "135222",
    "creatorId" : "1892000000047001",
    "name" : "guidelines.pdf",
    "createdTime" : "2014-03-05T06:16:15.000Z",
    "isPublic" : true,
    "id" : "1892000000089041",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments/1892000000089041/content"
  }, {
    "size" : "97951",
    "creatorId" : "1892000000042001",
    "name" : "CreditHistory.pdf",
    "createdTime" : "2016-06-21T10:15:34.000Z",
    "isPublic" : false,
    "id" : "1892000001052021",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments/1892000001052021/content"
  }, {
    "size" : "97951",
    "creatorId" : "1892000000042001",
    "name" : "values.txt",
    "createdTime" : "2016-06-21T10:15:49.000Z",
    "isPublic" : false,
    "id" : "1892000001052025",
    "href" : "https://desk.zoho.com/api/v1/tickets/1892000001004024/attachments/1892000001052025/content"
  } ]
}

Create an attachment

This API attaches a file to a ticket.

File Params

file

Content-Type:multipart/form-data

File to attach to the ticket

POST /api/v1/tickets/{ticket_id}/attachments

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

Response Example

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

Update an attachment

This API updates an existing attachment.

PATCH /api/v1/tickets/{ticket_id}/attachments/{attachment_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

  -d '{ "isPublic" : true }'

Response Example

200

Delete an attachment

This API deletes an attachment from a ticket.

DELETE /api/v1/tickets/{ticket_id}/attachments/{attachment_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

Response Example

200

Ticket TimeEntry

Ticket Time Entry refers to the time taken by an agent to resolve a ticket.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ReadOnly

Id of the timeEntry

ticketId

long

ReadOnly

Id of the ticket

requestChargeType

string

Optional

Description of the time entry

ownerId

string

Optional

Owner of time entry

executedTime

timestamp

Optional

Execution time

hoursSpent

integer

Optional

Hours spent on the ticket

minutesSpent

integer

Optional

Minutes spent on the ticket

secondsSpent

integer

Optional

Seconds spent on the ticket

agentCostPerHour

double

Optional

Cost of an agent per hour

additionalCost

double

Optional

Additional cost incurred

totalCost

double

ReadOnly

Total cost incurred

description

string

Optional

Description of the time entry

customFields

list

Optional

Custom Fields in the time entry

createdTime

timestamp

ReadOnly

Time of creating the ticket time entry

modifiedTime

timestamp

ReadOnly

Time of modifying the ticket time entry

createdBy

string

ReadOnly

User who created the Time Entry

modifiedBy

string

ReadOnly

User who modified the Time Entry

Example

{ "secondsSpent" : "0", "executedTime" : null, "customFields" : { }, "minutesSpent" : "0", "creatorId" : "4000000008688", "agentCostPerHour" : null, "description" : "Time Entry description", "hoursSpent" : "2", "ownerId" : null, "createdTime" : "2016-05-30T09:58:08.149Z", "id" : "4000000033010", "requestChargeType" : "Product Consultation", "additionalCost" : null, "totalCost" : null }



Get a Ticket Time Entry

This API fetches a time entry from your help desk

Query Params

Param Name
Data Type
Description

string

Allowed value is : owner

GET /api/v1/tickets/{ticket_id}/timeEntry/{timeEntry_id}

OAuth Scope

Desk.tickets.READ

Request Example

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

Response Example

{
  "owner" : {
    "photoURL" : "https://contacts.csez.zohocorpin.com/file?t=user&ID=4851669",
    "name" : "Case"
  },
  "secondsSpent" : "21",
  "executedTime" : "2016-06-22T20:30:00.000Z",
  "customFields" : {
    "timeEntryName" : "time1"
  },
  "minutesSpent" : "23",
  "creatorId" : "4000000008692",
  "agentCostPerHour" : "3.0",
  "description" : "Time Entry description",
  "hoursSpent" : "3",
  "ownerId" : "4000000008692",
  "createdTime" : "2016-06-16T07:24:44.000Z",
  "id" : "4000000033001",
  "requestChargeType" : "Customer Service",
  "additionalCost" : "10.0",
  "totalCost" : "20.17"
}

List Ticket Time Entries

This API fetches all time entries associated with a ticket

Query Params

Param Name
Data Type
Description
module

string

Module Preference. It can be either tickets tasks

isBillable

boolean

Billable Preference

from

integer

From index

limit

integer

Number of time entries to be fetched

orderBy

String

Either ASC or DESC, by default it will be in ASC order

string

Allowed value is : owner

GET /api/v1/tickets/{ticket_id}/timeEntry

OAuth Scope

Desk.tickets.READ

Request Example

$ curl -X GET https://desk.zoho.com/api/v1/tickets/4000000031007/timeEntry?from=0&limit=10&include=owner
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "owner" : {
      "photoURL" : "https://contacts.csez.zohocorpin.com/file?t=user&ID=4851669",
      "name" : "Case"
    },
    "secondsSpent" : "21",
    "executedTime" : "2016-06-22T20:30:00.000Z",
    "customFields" : {
      "timeEntryName" : "time1"
    },
    "minutesSpent" : "23",
    "creatorId" : "4000000008692",
    "agentCostPerHour" : "3.0",
    "description" : "Time Entry description",
    "hoursSpent" : "3",
    "ownerId" : "4000000008692",
    "createdTime" : "2016-06-16T07:24:44.000Z",
    "id" : "4000000033001",
    "requestChargeType" : "Customer Service",
    "additionalCost" : "10.0",
    "totalCost" : "20.17"
  }, {
    "owner" : {
      "photoURL" : "https://contacts.csez.zohocorpin.com/file?t=user&ID=4851669",
      "name" : "Case"
    },
    "secondsSpent" : "21",
    "executedTime" : "2016-06-24T19:30:00.000Z",
    "customFields" : {
      "timeEntryName" : "time2"
    },
    "minutesSpent" : "34",
    "creatorId" : "4000000008692",
    "agentCostPerHour" : "10.0",
    "description" : "Time Entry description",
    "hoursSpent" : "3",
    "ownerId" : "4000000012090",
    "createdTime" : "2016-06-16T07:46:39.000Z",
    "id" : "4000000033006",
    "requestChargeType" : "Product Consultation",
    "additionalCost" : "10.0",
    "totalCost" : "45.72"
  }, {
    "owner" : {
      "photoURL" : "https://contacts.csez.zohocorpin.com/file?t=user&ID=4851669",
      "name" : "Case"
    },
    "secondsSpent" : "22",
    "executedTime" : "2016-06-13T19:30:00.000Z",
    "customFields" : {
      "timeEntryName" : "time3"
    },
    "minutesSpent" : "22",
    "creatorId" : "4000000008692",
    "agentCostPerHour" : "20.0",
    "description" : "Time Entry description",
    "hoursSpent" : "32",
    "ownerId" : "4000000008692",
    "createdTime" : "2016-06-16T07:49:52.000Z",
    "id" : "4000000033011",
    "requestChargeType" : "Customer Service",
    "additionalCost" : "10.0",
    "totalCost" : "657.46"
  } ]
}

Add a Ticket Time Entry

This API creates a time entry in your help desk

POST /api/v1/tickets/{ticket_id}/timeEntry

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

  -d '{ "secondsSpent" : "21", "executedTime" : "2016-06-22T20:30:00.000Z", "customFields" : { "timeEntryName" : "time2" }, "minutesSpent" : "23", "agentCostPerHour" : "3.0", "description" : "Time Entry description", "hoursSpent" : "3", "ownerId" : "4000000008692", "requestChargeType" : "Customer Service", "additionalCost" : "10.0", "totalCost" : "20.17" }'

Response Example

{
  "secondsSpent" : "21",
  "executedTime" : "2016-06-22T20:30:00.000Z",
  "customFields" : {
    "timeEntryName" : "time2"
  },
  "minutesSpent" : "23",
  "creatorId" : "4000000008692",
  "agentCostPerHour" : "3.0",
  "description" : "Time Entry description",
  "hoursSpent" : "3",
  "ownerId" : "4000000008692",
  "createdTime" : "2016-06-21T05:52:00.828Z",
  "id" : "4000000045001",
  "requestChargeType" : "Customer Service",
  "additionalCost" : "10.0",
  "totalCost" : "20.17"
}

Update a Ticket Time Entry

This API updates an existing time entry

PUT /api/v1/tickets/{ticket_id}/timeEntry/{timeEntry_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

  -d '{ "description" : "Time Entry description", "requestChargeType" : "Customer Service" }'

Response Example

{
  "secondsSpent" : "21",
  "executedTime" : "2016-06-22T20:30:00.000Z",
  "customFields" : {
    "timeEntryName" : "time1"
  },
  "minutesSpent" : "23",
  "creatorId" : "4000000008692",
  "agentCostPerHour" : "3.0",
  "description" : "Time Entry description",
  "hoursSpent" : "3",
  "ownerId" : "4000000008692",
  "createdTime" : "2016-06-21T05:52:00.000Z",
  "id" : "4000000045001",
  "requestChargeType" : "Customer Service",
  "additionalCost" : "10.0",
  "totalCost" : "20.17"
}

Delete a Ticket Time Entry

This API deletes a time entry from your help desk

DELETE /api/v1/tickets/{ticket_id}/timeEntry/{timeEntry_id}

OAuth Scope

Desk.tickets.UPDATE

Request Example

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

Response Example

200

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

ReadOnly

ID of the contact

customFields

object

Optional

User-defined fields

lastName

string

Required

Last name of the contact

firstName

string

Optional

First name of the contact

facebook

string

Optional

Facebook ID of the contact

twitter

string

Optional

Twitter ID of the contact

secondaryEmail

string

Optional

Secondary email ID of the contact

email

string

Optional

Email ID of the contact

phone

string

Optional

Phone number of the contact

mobile

string

Optional

Mobile number of the contact

city

string

Optional

Contact's city of residence

country

string

Optional

Contact's country of residence

state

string

Optional

Contact's state of residence

street

string

Optional

Contact's address

zip

string

Optional

Zip code

description

string

Optional

Contact description

title

string

Optional

Contact title

type

string

Optional

Contact type

ownerId

long

Optional

Contact owner

long

Optional

Account to which the contact is mapped

zohoCRMContact

object

ReadOnly

Contact details fetched from Zoho CRM

customerHappiness

object

ReadOnly

Average customer happiness rating of the contact

isDeleted

boolean

ReadOnly

Field that denotes whether the contact is deleted

photoURL

string

ReadOnly

Photo URL of the contact

createdTime

timestamp

ReadOnly

Time of contact creation

modifiedTime

timestamp

ReadOnly

Time of contact modification

Example

{ "lastName" : "Smith", "modifiedTime" : "2015-03-02T14:49:32.000Z", "country" : null, "secondaryEmail" : null, "city" : null, "customFields" : { "permanentAddress" : null, "lastContactedOn" : null }, "description" : null, "ownerId" : "3263000000057001", "type" : null, "title" : null, "photoURL" : null, "twitter" : null, "isDeleted" : 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" : "jade@zoho.com", "zip" : null, "facebook" : null, "mobile" : null, "accountId" : null, "firstName" : "Jade", "phone" : "123 99 888 23" }



Get a contact

This API fetches a single contact from your helpdesk.

Query Params

Param Name
Data Type
Description

string

Allowed values are : accounts

GET /api/v1/contacts/{contact_id}

OAuth Scope

Desk.contacts.READ

Request Example

$ curl -X GET https://desk.zoho.com/api/v1/contacts/1892000000042032
  -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,
  "customFields" : {
    "permanentAddress" : null,
    "lastContactedOn" : null
  },
  "description" : null,
  "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" : "lawrence@zylker.com",
  "zip" : null,
  "facebook" : null,
  "mobile" : null,
  "accountId" : "1892000000975382",
  "firstName" : "Jennifer",
  "phone" : "1 888 900 9646"
}

List all contacts

This API lists all contacts in your helpdesk.

Query Params

Param Name
Data Type
Description

list

Allowed values are : accounts

from

integer

From index

limit

string

No. of contacts to fetch

sortBy

string

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

GET /api/v1/contacts

OAuth Scope

Desk.contacts.READ

Request Example

$ 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",
    "accountId" : "1892000000091433",
    "firstName" : "Jonathan",
    "photoURL" : "https://desk.zoho.com/api/v1/contacts/1892000000772003/photo",
    "secondaryEmail" : null,
    "phone" : "555555",
    "zohoCRMContact" : null,
    "id" : "1892000000772003",
    "customerHappiness" : {
      "badPercentage" : "0",
      "okPercentage" : "0",
      "goodPercentage" : "0"
    },
    "ownerId" : null,
    "type" : null,
    "email" : "case@zylker.com"
  }, {
    "lastName" : "Jade",
    "accountId" : "1892000000052077",
    "firstName" : "Christ",
    "photoURL" : null,
    "secondaryEmail" : null,
    "phone" : null,
    "zohoCRMContact" : {
      "id" : "1892000000772030",
      "type" : "contacts_leads"
    },
    "id" : "1892000000772001",
    "customerHappiness" : {
      "badPercentage" : "22",
      "okPercentage" : "31",
      "goodPercentage" : "47"
    },
    "ownerId" : null,
    "type" : null,
    "email" : "jade@zylker.com"
  } ]
}

Create a contact

This API creates a contact in your helpdesk.

POST /api/v1/contacts

OAuth Scope

Desk.contacts.CREATE

Request Example

$ 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" : "hughjack@zylker.com", "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" : "jack@zylker.com" }'

Response Example

{
  "lastName" : "Jack",
  "modifiedTime" : "2016-07-26T13:11:02.000Z",
  "country" : "USA",
  "secondaryEmail" : "hughjack@zylker.com",
  "city" : "Texas",
  "customFields" : {
    "permanentAddress" : null,
    "lastContactedOn" : null
  },
  "description" : "first priority contact",
  "ownerId" : "1892000000056007",
  "type" : "paidUser",
  "title" : "The contact",
  "photoURL" : null,
  "twitter" : "Hugh jack",
  "isDeleted" : 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" : "jack@zylker.com",
  "zip" : "123902",
  "facebook" : "hugh jack",
  "mobile" : "+10 2328829010",
  "accountId" : "1892000000052077",
  "firstName" : "hugh",
  "phone" : "91020080878"
}

Update a contact

This API updates details of an existing contact.

PATCH /api/v1/contacts/{contact_id}

OAuth Scope

Desk.contacts.UPDATE

Request Example

$ 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" : "stephen@zylker.com",
  "city" : "Texas",
  "customFields" : {
    "permanentAddress" : null,
    "lastContactedOn" : null
  },
  "description" : "first priority contact",
  "ownerId" : "1892000000056007",
  "type" : "paidUser",
  "title" : "The contact",
  "photoURL" : null,
  "twitter" : "stephen john",
  "isDeleted" : 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" : "stephent@zylker.com",
  "zip" : "123902",
  "facebook" : "Steve john",
  "mobile" : "+129737289298",
  "accountId" : "1892000000052077",
  "firstName" : "Stephen",
  "phone" : "8981901921"
}

List tickets by contact

This API lists tickets received from a specific contact.

Query Params

Param Name
Data Type
Description
departmentId

long

Department from which the tickets need to be queried

from

Integer

From index

limit

Integer

No of tickets to be fetched

sortBy

string

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

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

OAuth Scope

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

Request Example

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

Response Example

{
  "data" : [ {
    "ticketNumber" : "149",
    "customerResponseTime" : "2017-11-03T07:03:09.203Z",
    "statusType" : "Open",
    "productId" : "18944000000424033",
    "contactId" : "18944000000421011",
    "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" : "18944000000092305",
    "channel" : "Email",
    "threadCount" : "7",
    "lastThread" : null,
    "priority" : "Medium",
    "assigneeId" : null,
    "closedTime" : null,
    "commentCount" : "0",
    "phone" : "9876543321",
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/20d7881a46edfcffefe308ab38676ec3e612657a51fd5fbe",
    "createdTime" : "2017-10-12T13:11:50.000Z",
    "id" : "18944000000336005",
    "email" : "support@zohodesk.com",
    "status" : "Open"
  } ]
}

Contacts Attachments

Contacts attachments are the files you attach to a contact to aid quick resolution.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ReadOnly

ID of the attachment

creatorId

long

ReadOnly

ID of user who added the attachment

createdTime

timestamp

ReadOnly

Time of file attachment

name

string

ReadOnly

Name of the attachment

isPublic

boolean

ReadOnly

Visibility setting of the attachment

size

long

ReadOnly

Size of the attachment

Example

{ "size" : "2345", "creatorId" : "1892000000047002", "name" : "contact_details.txt", "createdTime" : "2013-11-06T10:25:03.000Z", "isPublic" : false, "id" : "1892000000047042", "href" : "https://desk.zoho.com/api/v1/contacts/1892000001004024/attachments/1892000000047041/content" }



List all attachments

This API lists all attachments in a contact.

Query Params

Param Name
Data Type
Description
sortBy

string

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

from

integer

from Index

limit

integer

the number of attachments to be displayed

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

OAuth Scope

Desk.contacts.READ

Request Example

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

Response Example

{
  "data" : [ {
    "size" : "1079",
    "creatorId" : "1892000000047002",
    "name" : "creation.txt",
    "createdTime" : "2013-11-06T10:25:03.000Z",
    "isPublic" : false,
    "id" : "1892000000047041",
    "href" : "https://desk.zoho.com/api/v1/contacts/1892000001004024/attachments/1892000000047041/content"
  }, {
    "size" : "135222",
    "creatorId" : "1892000000047002",
    "name" : "profile.jpg",
    "createdTime" : "2014-03-05T06:16:15.000Z",
    "isPublic" : false,
    "id" : "1892000000089041",
    "href" : "https://desk.zoho.com/api/v1/contacts/1892000001004024/attachments/1892000000089041/content"
  }, {
    "size" : "97951",
    "creatorId" : "1892000000042002",
    "name" : "contact_MobileNo.pdf",
    "createdTime" : "2016-06-21T10:15:34.000Z",
    "isPublic" : false,
    "id" : "1892000001052021",
    "href" : "https://desk.zoho.com/api/v1/contacts/1892000001004024/attachments/1892000001052021/content"
  }, {
    "size" : "97951",
    "creatorId" : "1892000000042002",
    "name" : "contact_profile.jpg",
    "createdTime" : "2016-06-21T10:15:49.000Z",
    "isPublic" : false,
    "id" : "1892000001052025",
    "href" : "https://desk.zoho.com/api/v1/contacts/1892000001004024/attachments/1892000001052025/content"
  } ]
}

Create an attachment

This API attaches a file to a contact.

File Params

file

Content-Type:multipart/form-data

attachment to be added

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

OAuth Scope

Desk.contacts.UPDATE

Request Example

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

Response Example

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

Delete an attachment

This API deletes an attachment from a contact.

DELETE /api/v1/contacts/{contact_id}/attachments/{attachment_id}

OAuth Scope

Desk.contacts.UPDATE

Request Example

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

Response Example

200

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

ReadOnly

ID of the account

customFields

list

Optional

User-defined fields associated with the account

accountName

string

Required

Name of the account

email

string

Optional

Email ID of the account

website

string

Optional

Website of the account

fax

string

Optional

Fax number of the account

ownerId

long

Optional

ID of account owner

associatedSLAIds

list

Optional

IDs of the SLAs associated to the account. An account can have multiple SLAs, but you can map only one SLA per department in an account

industry

string

Optional

Industry in which the account operates

city

string

Optional

City in which the account is based

country

string

Optional

Country in which the account is based

state

string

Optional

State in which the account is based

street

string

Optional

Address of the account

code

string

Optional

Zip code

description

string

Optional

A short description of the account

phone

string

Optional

Phone number of the account

annualrevenue

double

Optional

Annual revenue of the account

createdTime

timestamp

ReadOnly

Time of account creation

modifiedTime

timestamp

ReadOnly

Time of account modification

Example

{ "country" : "USA", "modifiedTime" : "2015-03-02T14:49:18.000Z", "website" : "www.zylker.com", "code" : "4436", "accountName" : "Zylker", "city" : null, "associatedSLAIds" : [ 3263000000057, 3000000057001 ], "customFields" : { "contactCount" : "1" }, "description" : null, "industry" : "Automation", "ownerId" : "3263000000057001", "phone" : "9382991011", "street" : null, "annualrevenue" : null, "createdTime" : "2015-02-16T16:57:44.000Z", "id" : "3263000000074571", "state" : null, "fax" : "+1 444 8439 2350", "email" : "support@zylker.com" }



Get an account

This API fetches an account from your helpdesk.

GET /api/v1/accounts/{account_id}

OAuth Scope

Desk.contacts.READ

Request Example

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

Response Example

{
  "country" : "USA",
  "modifiedTime" : "2015-03-02T14:49:18.000Z",
  "website" : "www.zylker.com",
  "code" : "3211",
  "accountName" : "Zylker",
  "city" : null,
  "associatedSLAIds" : [ 3263000000057, 3000000057001 ],
  "customFields" : {
    "contactCount" : "1"
  },
  "description" : null,
  "industry" : "Automation",
  "ownerId" : "3263000000057001",
  "phone" : "6218129190",
  "street" : null,
  "annualrevenue" : null,
  "createdTime" : "2015-02-16T16:57:44.000Z",
  "state" : null,
  "id" : "3263000000074571",
  "fax" : "+1 444 8656 8732",
  "email" : "support@zylker.com"
}

List all accounts

This API lists all accounts in your helpdesk.

Query Params

Param Name
Data Type
Description
from

integer

From index

limit

integer

No. of accounts to fetch

sortBy

string

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

GET /api/v1/accounts

OAuth Scope

Desk.contacts.READ

Request Example

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

Response Example

{
  "data" : [ {
    "website" : "112121",
    "accountName" : "Admin Account",
    "phone" : "121212",
    "id" : "1892000000052077",
    "email" : "admin@zylker.com"
  }, {
    "website" : "1211212",
    "accountName" : "Agent Account",
    "phone" : "11211",
    "id" : "1892000000052090",
    "email" : "agent@zylker.com"
  } ]
}

Create an account

This API creates an account in your helpdesk.

POST /api/v1/accounts

OAuth Scope

Desk.contacts.CREATE

Request Example

$ 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" }'

Response Example

{
  "country" : null,
  "modifiedTime" : "2015-03-02T14:49:18.000Z",
  "website" : null,
  "code" : null,
  "accountName" : "Zylker",
  "city" : null,
  "associatedSLAIds" : [ 3263000000057, 3000000057001 ],
  "customFields" : {
    "contactCount" : null
  },
  "description" : null,
  "industry" : null,
  "ownerId" : "3263000000057001",
  "phone" : "98348229382",
  "street" : null,
  "annualrevenue" : null,
  "createdTime" : "2015-02-16T16:57:44.000Z",
  "state" : null,
  "id" : "3263000000074571",
  "fax" : null,
  "email" : null
}

Update an account

This API updates details of an existing account.

PATCH /api/v1/accounts/{account_id}

OAuth Scope

Desk.contacts.UPDATE

Request Example

$ 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" }'

Response Example

{
  "country" : null,
  "modifiedTime" : "2015-03-02T14:49:18.000Z",
  "website" : null,
  "code" : null,
  "accountName" : "Zylker Agents",
  "city" : null,
  "associatedSLAIds" : [ 3263000000057, 3000000057001 ],
  "customFields" : {
    "contactCount" : "1"
  },
  "description" : null,
  "industry" : null,
  "ownerId" : "3263000000057001",
  "phone" : "82301023900123",
  "street" : null,
  "annualrevenue" : null,
  "createdTime" : "2015-02-16T16:57:44.000Z",
  "state" : null,
  "id" : "3263000000074571",
  "fax" : null,
  "email" : null
}

List tickets by account

This API lists tickets received from a specific account.

Query Params

Param Name
Data Type
Description
departmentId

long

Department from which the tickets need to be queried

from

Integer

From index

limit

Integer

No of tickets to be fetched

sortBy

string

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

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

OAuth Scope

Desk.accounts.READ , Desk.tickets.READ , Desk.search.READ

Request Example

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

Response Example

{
  "data" : [ {
    "ticketNumber" : "149",
    "customerResponseTime" : "2017-11-03T07:03:09.203Z",
    "statusType" : "Open",
    "productId" : "18944000000424033",
    "contactId" : "18944000000421011",
    "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" : "18944000000092305",
    "channel" : "Email",
    "threadCount" : "7",
    "lastThread" : null,
    "priority" : "Medium",
    "assigneeId" : null,
    "closedTime" : null,
    "commentCount" : "0",
    "phone" : "9876543321",
    "webUrl" : "https://desk.zoho.com/support/zylker/ShowHomePage.do#Cases/dv/20d7881a46edfcffefe308ab38676ec3e612657a51fd5fbe",
    "createdTime" : "2017-10-12T13:11:50.000Z",
    "id" : "18944000000336005",
    "email" : "support@zohodesk.com",
    "status" : "Open"
  } ]
}

Accounts Attachments

Accounts attachments are the files you attach to a account to aid quick resolution.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ReadOnly

ID of the attachment

creatorId

long

ReadOnly

ID of user who added the attachment

createdTime

timestamp

ReadOnly

Time of file attachment

name

string

ReadOnly

Name of the attachment

isPublic

boolean

ReadOnly

Visibility setting of the attachment

size

long

ReadOnly

Size of the attachment

Example

{ "size" : "2345", "creatorId" : "1892000000047002", "name" : "Associated_contacts.txt", "createdTime" : "2013-11-06T10:25:03.000Z", "isPublic" : false, "id" : "1892000000047042", "href" : "https://desk.zoho.com/api/v1/accounts/1892000001004024/attachments/1892000001052021/content" }



List all attachments

This API lists all attachments in a account.

Query Params

Param Name
Data Type
Description
sortBy

string

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

from

integer

from Index

limit

integer

the number of attachments to be displayed

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

OAuth Scope

Desk.contacts.READ

Request Example

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

Response Example

{
  "data" : [ {
    "size" : "1079",
    "creatorId" : "1892000000047002",
    "name" : "profile_photo.jpg",
    "createdTime" : "2013-11-06T10:25:03.000Z",
    "isPublic" : false,
    "id" : "1892000000047041",
    "href" : "https://desk.zoho.com/api/v1/accounts/1892000001004024/attachments/1892000000047041/content"
  }, {
    "size" : "135222",
    "creatorId" : "1892000000047002",
    "name" : "profile.pdf",
    "createdTime" : "2014-03-05T06:16:15.000Z",
    "isPublic" : false,
    "id" : "1892000000089041",
    "href" : "https://desk.zoho.com/api/v1/accounts/1892000001004024/attachments/1892000000089041/content"
  }, {
    "size" : "97951",
    "creatorId" : "1892000000042002",
    "name" : "logo.jpg",
    "createdTime" : "2016-06-21T10:15:34.000Z",
    "isPublic" : false,
    "id" : "1892000001052021",
    "href" : "https://desk.zoho.com/api/v1/accounts/1892000001004024/attachments/1892000001052021/content"
  }, {
    "size" : "97951",
    "creatorId" : "1892000000042002",
    "name" : "profile.pdf",
    "createdTime" : "2016-06-21T10:15:49.000Z",
    "isPublic" : false,
    "id" : "1892000001052025",
    "href" : "https://desk.zoho.com/api/v1/accounts/1892000001004024/attachments/1892000001052025/content"
  } ]
}

Create an attachment

This API attaches a file to a account.

File Params

file

Content-Type:multipart/form-data

attachment to be added

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

OAuth Scope

Desk.contacts.UPDATE

Request Example

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

Response Example

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

Delete an attachment

This API deletes an attachment from a account.

DELETE /api/v1/accounts/{account_id}/attachments/{attachment_id}

OAuth Scope

Desk.contacts.UPDATE

Request Example

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

Response Example

200

Tasks

Tasks are work activities assigned to agents. It is not mandatory for tasks to be related to only ticket resolution.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ReadOnly

ID of the task

customFields

list

Optional

User-defined fields related to the task

departmentId
see documentation

long

Required

Department associated with the task

subject

string

Required

Subject of the task

long

Optional

Ticket ID, if the task is associated with a particular ticket

dueDate

timestamp

Optional

Due date for completing the task

ownerId

string

Optional

Owner of the task

category

string

Optional

Category of the task

status

string

Optional

Status of task completion

priority

string

Optional

Priority of the task

description

string

Optional

Description of the task

createdTime

timestamp

ReadOnly

Time of task creation

modifiedTime

timestamp

ReadOnly

Time of task modification

creatorId

string

ReadOnly

ID of user who created the task

ticket

Ticket

ReadOnly

Ticket associated with the task

Example

{ "modifiedTime" : "2016-07-26T17:32:11.000Z", "customFields" : { }, "subject" : "New Task", "completedTime" : null, "departmentId" : "3000000007043", "dueDate" : "2016-07-29T16:16:16.000Z", "creatorId" : "3000000008692", "description" : null, "ownerId" : null, "priority" : "Normal", "createdTime" : "2016-07-26T17:32:11.000Z", "id" : "3000000018001", "category" : null, "ticketId" : "3000000008753", "status" : "Not Started" }



Get a task

This API fetches a single task from your helpdesk.

Query Params

Param Name
Data Type
Description

string

Allowed values are : tickets

GET api/v1/tasks/{task_id}

OAuth Scope

Desk.tasks.READ

Request Example

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

Response Example

{
  "modifiedTime" : "2016-07-26T17:32:11.000Z",
  "ticket" : {
    "ticketNumber" : "101",
    "contact" : {
      "firstName" : null,
      "lastName" : "Lawrence",
      "id" : "3000000008749"
    },
    "id" : "3000000008753"
  },
  "customFields" : {
  },
  "subject" : "New Task",
  "completedTime" : null,
  "departmentId" : "3000000007043",
  "dueDate" : "2016-07-29T16:16:16.000Z",
  "creatorId" : "3000000008692",
  "description" : null,
  "ownerId" : null,
  "priority" : "Normal",
  "createdTime" : "2016-07-26T17:32:11.000Z",
  "id" : "3000000018001",
  "category" : null,
  "ticketId" : "3000000008753",
  "status" : "Not Started"
}

List all tasks

This API lists all the tasks in your helpdesk.

Query Params

Param Name
Data Type
Description

string

Allowed values are : tickets

from

integer

From index

limit

integer

No. of tasks to fetch

departmentId
see documentation

long

Department from which the tasks need to be queried

sortBy

string

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

GET api/v1/tasks

OAuth Scope

Desk.tasks.READ

Request Example

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

Response Example

{
  "data" : [ {
    "modifiedTime" : "2016-07-13T06:45:56.000Z",
    "subject" : "New task",
    "completedTime" : null,
    "dueDate" : "2013-12-28T06:30:00.000Z",
    "departmentId" : "1892000000006907",
    "creatorId" : "1892000000042001",
    "description" : null,
    "ownerId" : "1892000000056007",
    "priority" : "Low",
    "isCommented" : true,
    "createdTime" : "2013-12-19T12:02:23.000Z",
    "id" : "1892000000055041",
    "category" : "Meeting",
    "ticketId" : "1892000001125055",
    "status" : "Not Started"
  }, {
    "modifiedTime" : "2014-03-21T11:31:55.000Z",
    "subject" : "Modify ticket 102",
    "completedTime" : null,
    "dueDate" : "2014-03-28T06:30:00.000Z",
    "departmentId" : "1892000000006907",
    "creatorId" : "1892000000042001",
    "description" : null,
    "ownerId" : "1892000000042001",
    "priority" : "High",
    "isCommented" : false,
    "createdTime" : "2014-03-21T11:31:03.000Z",
    "id" : "1892000000138005",
    "category" : null,
    "ticketId" : "1892000000094004",
    "status" : "Not Started"
  }, {
    "modifiedTime" : "2014-05-26T07:26:46.000Z",
    "subject" : "Review changes",
    "completedTime" : null,
    "dueDate" : null,
    "departmentId" : "1892000000006907",
    "creatorId" : "1892000000042001",
    "description" : "Make all the mentioned changes",
    "ownerId" : "1892000000042001",
    "priority" : "High",
    "isCommented" : false,
    "createdTime" : "2014-05-26T07:26:46.000Z",
    "id" : "1892000000272001",
    "category" : null,
    "ticketId" : null,
    "status" : "Not Started"
  } ]
}

Create a task

This API adds a task in your helpdesk.

POST api/v1/tasks

OAuth Scope

Desk.tasks.CREATE

Request Example

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

  -d '{ "subject" : "Bug Fix #120", "departmentId" : "3000000007043", "dueDate" : "2016-07-21T16:16:16.000Z", "category" : null, "priority" : "High", "status" : "In Progress" }'

Response Example

{
  "modifiedTime" : "2016-07-14T09:14:41.000Z",
  "customFields" : {
  },
  "subject" : "Bug Fix #120",
  "departmentId" : "3000000007043",
  "dueDate" : "2016-07-21T16:16:16.000Z",
  "creatorId" : "3000000008692",
  "description" : null,
  "ownerId" : null,
  "priority" : "High",
  "createdTime" : "2016-07-14T08:27:26.000Z",
  "id" : "3000000054002",
  "category" : "null",
  "ticketId" : "3000000008753",
  "status" : "In Progress"
}

Update a task

This API updates an existing task.

PATCH api/v1/tasks/{task_id}

OAuth Scope

Desk.tasks.UPDATE

Request Example

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

  -d '{ "subject" : "Bug Fix #120", "departmentId" : "3000000007043", "dueDate" : "2016-07-21T16:16:16.000Z", "category" : null, "priority" : "High", "status" : "In Progress" }'

Response Example

{
  "modifiedTime" : "2016-07-14T09:14:41.000Z",
  "customFields" : {
  },
  "subject" : "Bug Fix #120",
  "departmentId" : "3000000007043",
  "dueDate" : "2016-07-21T16:16:16.000Z",
  "creatorId" : "3000000008692",
  "description" : null,
  "ownerId" : null,
  "priority" : "High",
  "createdTime" : "2016-07-14T08:27:26.000Z",
  "id" : "3000000054002",
  "category" : "null",
  "ticketId" : "3000000008753",
  "status" : "In Progress"
}

List tasks by ticket

This API lists all tasks related to a particular ticket.

Query Params

Param Name
Data Type
Description
from

integer

From index

isCompleted

boolean

Completion status of the task

limit

integer

No. of tasks to fetch

GET /api/v1/tickets/{ticket_id}/tasks

OAuth Scope

Desk.tasks.READ , Desk.tickets.READ

Request Example

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

Response Example

{
  "data" : [ {
    "modifiedTime" : "2016-07-14T08:22:16.000Z",
    "customFields" : {
    },
    "subject" : "Bug Fix #120",
    "departmentId" : "3000000007043",
    "dueDate" : "2016-07-21T16:16:16.000Z",
    "creatorId" : "3000000008692",
    "description" : null,
    "ownerId" : null,
    "priority" : "Normal",
    "createdTime" : "2016-07-14T08:22:16.000Z",
    "id" : "3000000053002",
    "category" : "null",
    "ticketId" : "3000000008753",
    "status" : "In Progress"
  } ]
}

Tasks Attachments

Tasks attachments are the files you attach to a task to aid quick resolution.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ReadOnly

ID of the attachment

creatorId

long

ReadOnly

ID of user who added the attachment

createdTime

timestamp

ReadOnly

Time of file attachment

name

string

ReadOnly

Name of the attachment

isPublic

boolean

ReadOnly

Visibility setting of the attachment

size

long

ReadOnly

Size of the attachment

Example

{ "size" : "2345", "creatorId" : "1892000000047002", "name" : "taskfile.txt", "createdTime" : "2013-11-06T10:25:03.000Z", "isPublic" : false, "id" : "1892000000047042", "href" : "https://desk.zoho.com/api/v1/tasks/1892000001004024/attachments/1892000000047041/content" }



List all attachments

This API lists all attachments in a task.

Query Params

Param Name
Data Type
Description
sortBy

string

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

from

integer

from Index

limit

integer

the number of attachments to be displayed

GET /api/v1/tasks/{task_id}/attachments

OAuth Scope

Desk.tasks.READ

Request Example

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

Response Example

{
  "data" : [ {
    "size" : "1079",
    "creatorId" : "1892000000047002",
    "name" : "issue.txt",
    "createdTime" : "2013-11-06T10:25:03.000Z",
    "isPublic" : false,
    "id" : "1892000000047041",
    "href" : "https://desk.zoho.com/api/v1/tasks/1892000001004024/attachments/1892000000047041/content"
  }, {
    "size" : "135222",
    "creatorId" : "1892000000047002",
    "name" : "program.pdf",
    "createdTime" : "2014-03-05T06:16:15.000Z",
    "isPublic" : false,
    "id" : "1892000000089041",
    "href" : "https://desk.zoho.com/api/v1/tasks/1892000001004024/attachments/1892000000047041/content"
  }, {
    "size" : "97951",
    "creatorId" : "1892000000042002",
    "name" : "errorfixed.txt",
    "createdTime" : "2016-06-21T10:15:34.000Z",
    "isPublic" : false,
    "id" : "1892000001052021",
    "href" : "https://desk.zoho.com/api/v1/tasks/1892000001004024/attachments/1892000000047041/content"
  }, {
    "size" : "97951",
    "creatorId" : "1892000000042002",
    "name" : "error_page.pdf",
    "createdTime" : "2016-06-21T10:15:49.000Z",
    "isPublic" : false,
    "id" : "1892000001052025",
    "href" : "https://desk.zoho.com/api/v1/tasks/1892000001004024/attachments/1892000000047041/content"
  } ]
}

Create an attachment

This API attaches a file to a task.

File Params

file

Content-Type:multipart/form-data

attachment to be added

POST /api/v1/tasks/{task_id}/attachments

OAuth Scope

Desk.tasks.UPDATE

Request Example

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

Response Example

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

Delete an attachment

This API deletes an attachment from a task.

DELETE /api/v1/tasks/{task_id}/attachments/{attachment_id}

OAuth Scope

Desk.tasks.UPDATE

Request Example

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

Response Example

200

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

Required

Email ID of the agent

status

string

ReadOnly

Activation status of the agent: ACTIVE or DISABLED

lastName

string

Required

Last name of the agent

firstName

string

Optional

First name of the agent

phone

string

Optional

Phone number of the agent

mobile

string

Optional

Mobile number of the agent

extn

string

Optional

Extn 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

id

long

ReadOnly

ID of the agent

zuid

long

ReadOnly

Zoho user ID of the agent

roleId

long

ReadOnly

Role ID of the agent

profileId

long

ReadOnly

Profile ID of the agent

photoURL

string

ReadOnly

Photo URL of the agent

isConfirmed

boolean

ReadOnly

Confirmation status of the agent

countryCode

string

Optional

Agent country code. One can update his own countryCode only. If it is passed for other agent it will be ignored.

langCode

string

Optional

The language code for the agent. One can update his own langCode only. If it is passed for other agent it will be ignored.

Example

{ "lastName" : "case", "extn" : "3298", "roleId" : "1892000000056099", "langCode" : "fr_FR", "mobile" : "", "emailId" : "case@zylker.com", "associatedChatDepartmentIds" : [ ], "zuid" : "10687231", "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069", "1892000000639717" ], "firstName" : "", "photoURL" : null, "phone" : "12121", "profileId" : "1892000000056091", "countryCode" : "en_US", "isConfirmed" : true, "id" : "1892000000056007", "status" : "ACTIVE" }



Get an agent

This API fetches the details of an agent from your helpdesk.

Query Params

Param Name
Data Type
Description

string

Allowed Values are : profile, role, associatedDepartments, associatedChatDepartments You can provide multiple values by separating them with a comma in the query param.

GET /api/v1/agents/{agent_id}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

$ 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"

Response Example

{
  "associatedChatDepartments" : [ {
    "name" : "Developement",
    "id" : "1892000000006907"
  } ],
  "lastName" : "case",
  "extn" : "3298",
  "role" : {
    "name" : "CEO",
    "id" : "1892000000056099"
  },
  "roleId" : "1892000000056099",
  "langCode" : "fr_FR",
  "profile" : {
    "name" : "Administrator",
    "id" : "1892000000056091"
  },
  "mobile" : "",
  "emailId" : "case@zylker.com",
  "associatedChatDepartmentIds" : [ "1892000000006907" ],
  "zuid" : "10687231",
  "associatedDepartmentIds" : [ "1892000000006907", "1892000000082069" ],
  "associatedDepartments" : [ {
    "name" : "Developement",
    "id" : "1892000000006907"
  }, {
    "name" : "R & D",
    "id" : "1892000000082069"
  } ],
  "firstName" : "",
  "photoURL" : null,
  "phone" : "12121",
  "profileId" : "1892000000056091",
  "countryCode" : "en_US",
  "isConfirmed" : true,
  "id" : "1892000000056096",
  "status" : "ACTIVE"
}

List all agents

This API lists the agents in your helpdesk.

Query Params

Param Name
Data Type
Description
from

integer

From index

limit

integer

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

status

string

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

GET /api/v1/agents

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

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

Response Example

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

Departments

Departments are the organizational divisions configured in your helpdesk.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ReadOnly

ID of the department

name

string

Required

Department name

nameInCustomerPortal

string

Optional

Display name of the department

description

string

Optional

Description of the department

isVisibleInCustomerPortal

boolean

Required

Visibility of the department in the customer portal

isEnabled

boolean

Optional

Activation status of the department

hasLogo

boolean

ReadOnly

States whether the department has a logo

creatorId

long

ReadOnly

ID of user who created the department

associatedAgentIds

list

Required

IDs of agents associated with the department

Example

{ "hasLogo" : true, "isVisibleInCustomerPortal" : true, "isEnabled" : true, "name" : "Testing", "creatorId" : "1892000000042001", "description" : "This is default department", "associatedAgentIds" : [ "1892000000042001", "1892000000056007", "1892000000888059" ], "id" : "1892000000082069", "nameInCustomerPortal" : "TestingPortal" }



Get a department

This API fetches the details of a department from your helpdesk.

GET /api/v1/departments/{department_id}

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

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

Response Example

{
  "hasLogo" : false,
  "isVisibleInCustomerPortal" : true,
  "isEnabled" : true,
  "creatorId" : "1892000000042001",
  "name" : "Department 1",
  "description" : "This is  department description",
  "associatedAgentIds" : [ "1892000000042001", "1892000000056007", "1892000000888059" ],
  "id" : "1892000000006907",
  "nameInCustomerPortal" : "Customer Relations"
}

List all departments

This API lists the departments in your helpdesk.

Query Params

Param Name
Data Type
Description
isEnabled

boolean

Parameter that filters departments based on their enabled status

from

integer

From index

limit

integer

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

GET /api/v1/departments

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

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

Response Example

{
  "data" : [ {
    "isDefault" : true,
    "hasLogo" : false,
    "isVisibleInCustomerPortal" : true,
    "isEnabled" : true,
    "creatorId" : "1892000000042001",
    "name" : "Department 1",
    "description" : "This is department description",
    "associatedAgentIds" : [ "1892000000042001", "1892000000056007", "1892000000888059" ],
    "id" : "1892000000006907",
    "nameInCustomerPortal" : "Department 1"
  }, {
    "isDefault" : false,
    "hasLogo" : false,
    "isVisibleInCustomerPortal" : true,
    "isEnabled" : true,
    "creatorId" : "1892000000042001",
    "name" : "newdept",
    "description" : "Dept example",
    "associatedAgentIds" : [ "1892000000042001", "1892000000056007", "1892000000888059", "1892000000292001" ],
    "id" : "1892000000082069",
    "nameInCustomerPortal" : "newdept"
  } ]
}

Uploads

Uploads are temporary attachments that exist with a ticket for just 24 hours.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ReadOnly

ID of the attachment

creatorId

long

ReadOnly

ID of user who added the attachment

createdTime

timestamp

ReadOnly

Time of file attachment

name

string

ReadOnly

Name of the attachment

isPublic

boolean

ReadOnly

Visibility setting of the attachment

size

long

ReadOnly

Size of the attachment

Example

{ "size" : "4769", "creatorId" : "4000000008692", "name" : "zoho.jpeg", "createdTime" : "2016-06-23T07:31:42.000Z", "isPublic" : false, "id" : "4000000055001" }



Upload a file

This API uploads a file.

File Params

file

Content-Type:multipart/form-data

File to attach

POST /api/v1/uploads

OAuth Scope

Desk.basic.CREATE

Request Example

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

Response Example

{
  "size" : "4769",
  "creatorId" : "4000000008692",
  "name" : "zoho.jpeg",
  "createdTime" : "2016-06-23T07:31:42.000Z",
  "isPublic" : false,
  "id" : "4000000055001",
  "href" : "https://desk.zoho.com/api/v1/uploads/1892000001008043/contents"
}

Contracts

Contracts help you organize your desk commitments, enabling you to deliver more professional and dedicated customer service. By defining contracts, you can determine the level of service to offer and set the contract period for an account or a product.

ATTRIBUTES

Attribute Name
Data Type
Description
id

long

ReadOnly

ID of the contract

associatedSLAId

long

Optional

ID of the SLA associated with the contract

accountId

long

Optional

ID of the account associated with the contract

departmentId

long

Optional

Department to which the contract belongs

productId

long

Optional

ID of the product associated with the contract

contractNumber

string

Optional

Serial number of the contract

notificationAgentIds

list

Optional

List of agents to be notified

notifyBefore

int

Optional

Number of days before endDate when notifications about contract expiry must be sent to the agents concerned

notifyOn

date

ReadOnly

The date when the contract expiry notification must be sent

startDate

date

Optional

Date from which the contract is valid

endDate

date

Optional

Date till which the contract is valid

ownerId

long

Optional

ID of the contract owner

createdBy

string

ReadOnly

User who created the contract

modifiedBy

string

ReadOnly

User who modified the contract

createdTime

timestamp

ReadOnly

Time of contract creation

modifiedTime

timestamp

ReadOnly

Time of contract modification

contractName

string

Optional

Name of the contract

description

string

Optional

A short description of the contract

customFields

list

Optional

User-defined fields associated with the contract

Example

{ "associatedSLAId" : "5000000007671", "modifiedTime" : "2018-01-15T11:13:04.000Z", "productId" : "5000000009328", "endDate" : "2019-01-10", "customFields" : { "hasExpired" : "true" }, "departmentId" : "5000000007235", "notifyBefore" : "5", "contractNumber" : "101", "description" : null, "ownerId" : "5000000009148", "notificationAgentIds" : [ "5000000009148" ], "accountId" : "5000000009326", "createdBy" : "5000000009148", "notifyOn" : "2019-01-05", "createdTime" : "2018-01-10T11:29:41.000Z", "contractName" : "Ticket Resolution Contract for 5 Star Crisps", "modifiedBy" : "5000000009148", "id" : "5000000009331", "startDate" : "2018-01-10" }



Get a contract

This API fetches a single contract from your helpdesk.

GET api/v1/contracts/{{contract_id}}

OAuth Scope

Desk.settings.READ

Request Example

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

Response Example

{
  "associatedSLAId" : "5000000007671",
  "modifiedTime" : "2018-01-15T11:13:04.000Z",
  "productId" : "5000000009328",
  "endDate" : "2019-01-10",
  "customFields" : {
    "hasExpired" : "true"
  },
  "departmentId" : "5000000007235",
  "notifyBefore" : "5",
  "contractNumber" : "101",
  "description" : null,
  "ownerId" : "5000000009148",
  "notificationAgentIds" : [ "5000000009148" ],
  "accountId" : "5000000009326",
  "createdBy" : "5000000009148",
  "notifyOn" : "2019-01-05",
  "createdTime" : "2018-01-10T11:29:41.000Z",
  "contractName" : "Ticket Resolution Contract for 5 Star Crisps",
  "modifiedBy" : "5000000009148",
  "id" : "5000000009331",
  "startDate" : "2018-01-10"
}

List all contracts

To get a list of contracts

Query Params

Param Name
Data Type
Description
from

integer

From index

limit

integer

Number of contracts to fetch

viewId

integer

ID of the view to apply while fetching the contracts

departmentId
see documentation

long

ID of the department from which the contracts must be fetched

long

ID of the account associated with the contract

ownerId

long

ID of contract owner

sortBy

string

Parameter that sorts contracts by one of these attributes: 
accountName,
 
contractName,
 
contractEndDate,

contractStartDate,
 
createdTime, or
 
modifiedTime.
The default order of sorting is ascending. To sort in descending order, prefix a - with the parameter.

GET api/v1/contracts

OAuth Scope

Desk.settings.READ

Request Example

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

Response Example

{
  "data" : [ {
    "associatedSLAId" : "5000000007671",
    "accountId" : "5000000009326",
    "productId" : "5000000009328",
    "endDate" : "2019-01-10",
    "departmentId" : "5000000007235",
    "contractName" : "Ticket Resolution Contract for 5 Star Crisps",
    "id" : "5000000009331",
    "ownerId" : "5000000009148",
    "startDate" : "2018-01-10"
  }, {
    "associatedSLAId" : "5000000007673",
    "accountId" : "5000000009248",
    "productId" : "5000000009328",
    "endDate" : "2018-01-14",
    "departmentId" : "5000000007235",
    "contractName" : "Ticket Resolution Contract for Colum Stories",
    "id" : "5000000018008",
    "ownerId" : "5000000009148",
    "startDate" : "2018-01-01"
  } ]
}

Search across entities

This API returns information from all modules or a specific module, based on the value of the module query param.

Query Params

Param Name
Data Type
Description
searchStr

String

Keyword or phrase to search

module

String

Module to search in: tickets, accounts, contacts or tasks. The default response includes all modules.

departmentId

long

Department from which the entities need to be queried

from

int

From index, starts from 0

limit

int

No. of entities to fetch

sortBy

String

Sort by a specific attribute: relevance or modifiedTime

GET /api/v1/search?searchStr={searchStr}&departmentId={departmentId}&from={from}&limit={limit}&sortBy={sortField}

OAuth Scope

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

Request Example

$ curl -X GET https://desk.zoho.com/api/v1/search?searchStr=zylker&from=0&limit=10&sortBy=modifiedTime
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "customerResponseTime" : "2016-06-27T07:22:52.117Z",
    "productId" : "4000000013043",
    "contactId" : "4000000013012",
    "subject" : "Zylker ticket",
    "customFields" : {
      "featureRequest" : false,
      "region" : "Asia"
    },
    "module" : "tickets",
    "departmentId" : "4000000007043",
    "dueDate" : null,
    "channel" : "Phone",
    "threadCount" : "0",
    "priority" : null,
    "assigneeId" : "4000000008692",
    "closedTime" : null,
    "commentCount" : "0",
    "number" : "104",
    "phone" : null,
    "contact" : {
      "phone" : null,
      "name" : "Stephen",
      "id" : "4000000013012",
      "type" : null,
      "email" : null,
      "account" : {
        "website" : null,
        "name" : "Zylker Accounts",
        "id" : "4000000008850"
      }
    },
    "createdTime" : "2016-06-27T07:22:52.000Z",
    "assignee" : {
      "firstName" : "",
      "lastName" : "jade",
      "photoURL" : "https://contacts.zoho.com/file?t=user&ID=10657727",
      "emailId" : "jade@zylker.com",
      "id" : "5000000009116",
      "zuid" : "10657727"
    },
    "id" : "4000000016009",
    "department" : {
      "name" : "Testing",
      "id" : "5000000007235"
    },
    "email" : null,
    "status" : "Open"
  }, {
    "ticket" : null,
    "subject" : "Wifi adapter not working in zylker",
    "completedTime" : null,
    "customFields" : {
      "severity" : "High",
      "followUpDate" : "2016-07-07T19:30:00.000Z"
    },
    "module" : "tasks",
    "dueDate" : "2016-06-27T19:30:00.000Z",
    "description" : null,
    "ownerId" : "4000000008692",
    "priority" : "High",
    "isCommented" : false,
    "createdBy" : "4000000008692",
    "contact" : null,
    "createdTime" : "2016-06-27T06:39:48.000Z",
    "id" : "4000000013065",
    "assignee" : {
      "firstName" : "",
      "lastName" : "jade",
      "photoURL" : "https://contacts.zoho.com/file?t=user&ID=10657727",
      "emailId" : "jade@zylker.com",
      "id" : "5000000009116",
      "zuid" : "10657727"
    },
    "category" : null,
    "department" : {
      "name" : "Testing",
      "id" : "5000000007235"
    },
    "ticketId" : null,
    "status" : "Not Started"
  }, {
    "website" : null,
    "phone" : null,
    "accountName" : "Zylker India",
    "customFields" : {
      "city" : "Delhi",
      "state" : "India"
    },
    "module" : "accounts",
    "id" : "4000000013027",
    "email" : null
  }, {
    "lastName" : "Stephen",
    "accountId" : "4000000008850",
    "firstName" : "Henry",
    "photoURL" : null,
    "phone" : null,
    "customFields" : {
      "customerSince" : "2011",
      "editionUsed" : "Professional"
    },
    "module" : "contacts",
    "fullName" : "Henry Stephen",
    "id" : "4000000013012",
    "ownerId" : "4000000008692",
    "email" : null,
    "account" : {
      "website" : null,
      "name" : "Zylker India",
      "id" : "4000000008850"
    }
  } ],
  "count" : {
    "tickets" : 1,
    "accounts" : 1,
    "tasks" : 1,
    "contacts" : 1
  }
}

Tickets Search API

This API searches for tickets in your help desk. The values can be given comma separated, which denotes the search on the field is done using either of the values given.

Zoho Desk APIs support two types of search:exact match and wildcard match.
exact match returns resources only if the value passed exactly matches with a resource in the help desk.
wildcard match returns resources even if the value passed partially matches with a resource in the help desk.
To perform wildcard match, append an asterisk (*) after the value to search.

CustomField param Example:
customField1=ModelName:F3*
customField2=phone:902*
customField3=permanentAddress: Wall Street*

Note:
wildcard match will not be available for the custom fields that are not of type string

Urlencoded Example:
customField1=ModelName%3AF3*
customField2=phone%3A902*
customField3=permanentAddress%3AWall%20Street*

Query Params

Param Name
Data Type
Description
from

int

From index, starts from 0

limit

int

No. of entities to fetch

departmentId

long

ID of the department from which the entity must be fetched. if not passed then searches in permitted departments
exact match

ticketNumber

String

Serial number of the ticket in the help desk
exact match

subject

String

subject of the ticket in the help desk
wildcard search

status

String

Status of the ticket. Includes the custom statuses that exist in your help desk
exact match

priority

String

Priority of the ticket
exact match

email

String

Email ID in the ticket
wildcard search

phone

String

Phone number in the ticket
wildcard search

channel

String

Channel through which the ticket was received
exact match

assigneeId

String

ID of the agent assigned to resolve the ticket
exact match

contactId

String

ID of the contact who raised the ticket
exact match

accountId

String

ID of the account associated with the ticket
exact match

contactName

String

Name of the contact who raised the ticket
wildcard search

accountName

String

Name of the account associated with the ticket
wildcard search

customField1

String

Custom field in the ticket
wildcard search

customField2

String

Custom field in the ticket
wildcard search

customField3

String

Custom field in the ticket
wildcard search

GET /api/v1/tickets/search

OAuth Scope

Desk.tickets.READ , Desk.search.READ

Request Example

$ curl -X GET https://desk.zoho.com/api/v1/tickets/search?limit=1&subject=analysis*
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "ticketNumber" : "101",
    "modifiedTime" : "2016-06-21T12:58:09.122Z",
    "subCategory" : "Sub General",
    "subject" : "Real Time analysis Requirement",
    "customFields" : {
    },
    "dueDate" : "2016-06-23T12:58:09.211Z",
    "departmentId" : "1892000000006907",
    "channel" : "Email",
    "description" : "Hai This is description",
    "resolution" : null,
    "closedTime" : null,
    "isOverDue" : true,
    "responseDueDate" : null,
    "contact" : {
      "firstName" : "Jonathan",
      "lastName" : "Casie",
      "accountId" : "1892000000045028",
      "id" : "5000000009587",
      "email" : "casie@zylker.com",
      "account" : {
        "accountName" : "Zylker Account",
        "id" : "1892000000980421"
      }
    },
    "createdTime" : "2016-06-21T12:50:04.000Z",
    "modifiedBy" : "1892000000056007",
    "id" : "1892000001054003",
    "department" : {
      "name" : "Testing",
      "id" : "5000000007235"
    },
    "email" : "carol@zylker.com",
    "customerResponseTime" : "2016-11-02T10:38:07.000Z",
    "productId" : null,
    "contactId" : "1892000000042032",
    "threadCount" : "0",
    "lastThread" : null,
    "priority" : "High",
    "classification" : null,
    "assigneeId" : "1892000000056007",
    "commentCount" : "0",
    "accountId" : null,
    "phone" : null,
    "assignee" : {
      "firstName" : "",
      "lastName" : "jade",
      "photoURL" : "https://contacts.zoho.com/file?t=user&ID=10657727",
      "emailId" : "jade@zylker.com",
      "id" : "5000000009116",
      "zuid" : "10657727"
    },
    "category" : "General",
    "status" : "Open"
  } ],
  "count" : 1
}

Account Search API

This API searches for accounts in your help desk. The values can be given comma separated, which denotes the search on the field is done using either of the values given.
Zoho Desk APIs support two types of search:exact match and wildcard match.
exact match returns resources only if the value passed exactly matches with a resource in the help desk.
wildcard match returns resources even if the value passed partially matches with a resource in the help desk.
To perform wildcard match, append an asterisk (*) after the value to search.

Query Params

Param Name
Data Type
Description
from

int

From index, starts from 0

limit

int

No. of entities to fetch

accountName

String

Name of the account
wildcard search

customField1

String

Custom field in the account
wildcard search
Ex: customField1=activeAccount:true

customField2

String

Custom field in the account
wildcard search

customField3

String

Custom field in the account
wildcard search

GET /api/v1/accounts/search

OAuth Scope

Desk.accounts.READ , Desk.search.READ

Request Example

$ curl -X GET https://desk.zoho.com/api/v1/accounts/search?limit=1&accountName=Zylker
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "country" : "USA",
    "modifiedTime" : "2015-03-02T14:49:18.000Z",
    "website" : "www.zylker.com",
    "code" : "3211",
    "accountName" : "Zylker",
    "city" : null,
    "customFields" : {
    },
    "description" : null,
    "industry" : "Automation",
    "ownerId" : "3263000000057001",
    "phone" : "6218129190",
    "street" : null,
    "annualrevenue" : "0.0",
    "createdTime" : "2015-02-16T16:57:44.000Z",
    "state" : null,
    "id" : "+1 444 8656 8732",
    "fax" : null,
    "email" : "support@zylker.com"
  } ],
  "count" : 1
}

Contact Search API

This API searches for contacts in your help desk. The values can be given comma separated, which denotes the search on the field is done using either of the values given.
Zoho Desk APIs support two types of search:exact match and wildcard match.
exact match returns resources only if the value passed exactly matches with a resource in the help desk.
wildcard match returns resources even if the value passed partially matches with a resource in the help desk.
To perform wildcard match, append an asterisk (*) after the value to search.

Query Params

Param Name
Data Type
Description
from

int

From index, starts from 0

limit

int

No. of entities to fetch

id

String

ID of the contact
exact match

fullName

String

Full name of the contact
wildcard search

firstName

String

First name of the contact
wildcard search

lastName

String

Last name of the contact
wildcard search

email

String

Email ID of the contact
wildcard search

phone

String

Phone number of the contact
wildcard search

mobile

String

Mobile number of the contact
wildcard search

accountName

String

Name of the account associated with the Contact
wildcard search

customField1

String

Custom field in the Contact
wildcard search
Ex: customField1=mappedWithAccount:true

customField2

String

Custom field in the contact
wildcard search

customField3

String

Custom field in the contact
wildcard search

GET /api/v1/contacts/search

OAuth Scope

Desk.contacts.READ , Desk.search.READ

Request Example

$ curl -X GET https://desk.zoho.com/api/v1/contacts/search?limit=1&lastName=Lawrence
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "zip" : null,
    "lastName" : "Lawrence",
    "country" : null,
    "modifiedTime" : "2016-05-04T09:57:17.000Z",
    "secondaryEmail" : null,
    "city" : null,
    "customFields" : {
      "permanentAddress" : null,
      "lastContactedOn" : null
    },
    "facebook" : null,
    "mobile" : null,
    "description" : null,
    "title" : null,
    "type" : null,
    "ownerId" : "1892000000042001",
    "photoURL" : "https://desk.zoho.com/api/v1/contacts/1892000000042032/photo",
    "firstName" : null,
    "accountId" : "1892000000975382",
    "twitter" : null,
    "phone" : "1 888 900 9646",
    "street" : null,
    "createdTime" : "2013-11-04T11:21:07.000Z",
    "state" : null,
    "id" : "1892000000042032",
    "email" : "support@zohodesk.com",
    "account" : {
      "accountName" : "Zylker",
      "id" : "1892000000975382"
    }
  } ],
  "count" : 1
}

Task Search API

This API searches for tasks in your help desk. The values can be given comma separated, which denotes the search on the field is done using either of the values given.
Zoho Desk APIs support two types of search:exact match and wildcard match.
exact match returns resources only if the value passed exactly matches with a resource in the help desk.
wildcard match returns resources even if the value passed partially matches with a resource in the help desk.
To perform wildcard match, append an asterisk (*) after the value to search.

Query Params

Param Name
Data Type
Description
from

int

From index, starts from 0

limit

int

No. of entities to fetch

departmentId

long

ID of the department from which the entity must be fetched if not passed then searches in permitted departments
exact match

subject

String

subject of the task in the help desk
wildcard search

ticketNumber

String

ticket Number of the ticket that associated with the task
exact match

status

String

status of the task
exact match

priority

String

Priority of the task
exact match

customField1

String

Custom field in the task
wildcard search

customField2

String

Custom field in the task
wildcard search

customField3

String

Custom field in the task
wildcard search

GET /api/v1/tasks/search

OAuth Scope

Desk.tasks.READ , Desk.search.READ

Request Example

$ curl -X GET https://desk.zoho.com/api/v1/tasks/search?limit=1&priority=High,Low
  -H "orgId:2389290"
  -H "Authorization:Zoho-oauthtoken 1000.3d0a155402dbb59f776fd63adb1e67c0.a41ea557a6a8d7e402690098b2056f60s"

Response Example

{
  "data" : [ {
    "modifiedTime" : "2016-09-13T12:14:41.000Z",
    "ticket" : null,
    "customFields" : {
    },
    "subject" : "Bug Fix #121",
    "completedTime" : null,
    "departmentId" : "3000000007043",
    "dueDate" : "2016-09-19T12:27:26.000Z",
    "creatorId" : "3000000008692",
    "description" : null,
    "ownerId" : "3000000054002",
    "priority" : "High",
    "isCommented" : false,
    "createdTime" : "2016-08-14T08:27:26.000Z",
    "assignee" : {
      "firstName" : "",
      "lastName" : "jade",
      "photoURL" : "https://contacts.zoho.com/file?t=user&ID=10657727",
      "emailId" : "jade@zylker.com",
      "id" : "5000000009116",
      "zuid" : "10657727"
    },
    "id" : "3000000054004",
    "department" : {
      "name" : "Testing",
      "id" : "5000000007235"
    },
    "category" : null,
    "ticketId" : null,
    "status" : "Not Started"
  } ],
  "count" : 1
}

MailReplyAddress

MailReplyAddress refers to the email ID from which replies are sent to customers.

Example

{ "address" : "techsupport@zylker.com", "displayName" : "Tech", "departmentId" : "4000000007043", "id" : "4000000026003", "isActive" : true }



List all MailReplyAddresses

This API lists all mailreplyaddresses configured in your helpdesk.

Query Params

Param Name
Data Type
Description
departmentId

long

Department from which the addresses need to be queried

isActive

boolean

Activation status of the reply email ID

GET /api/v1/mailReplyAddress

OAuth Scope

Desk.settings.READ , Desk.basic.READ

Request Example

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

Response Example

{
  "data" : [ {
    "address" : "support@zylker.com ",
    "displayName" : "Support",
    "departmentId" : "4000000007043",
    "id" : "4000000025003",
    "isActive" : true
  }, {
    "address" : "market@zylker.com",
    "displayName" : "Marketing",
    "departmentId" : "4000000007043",
    "id" : "4000000026001",
    "isActive" : false
  }, {
    "address" : "techsupport@zylker.com",
    "displayName" : "Tech",
    "departmentId" : "4000000007043",
    "id" : "4000000026003",
    "isActive" : true
  } ]
}

feedPreferences