Rest APIs

The REST APIs can be accessed using the following URL:

https://<zenworks_service_desk_server>/servicedesk-apidocs/

Where zenworks_service_desk_server is ZENworks Service Desk server IP or hostname.

Add note to the request – Technician Portal

[POST] https://<zsdserver>/LiveTime/services/v1/user/requests/{requestId}/notes

Request parameters

Content-Type: multipart/form-data
Body:
noteData: "{
"noteTime":5,
"noteText":"Test note from rest call",
"hidden": false,
"customers": true,
"customerCcs": true, 
"technicians": true,
"technicianCcs": true,
"vendors": false,
"addToRelatedIncidents": false,
"addTimeToRelatedIncidents": false,
"createKnowledge": false,
"needInfo": false,
"includeDirectLink": true,
"action":"ADDNOTE",
"existingAttachmentIds": [10,20],
"selectedTechnicianIds": [21,34],
"customerCcAddresses":"user1@zsd.com, user2@zsd.com",
"technicianCcAddresses":"user10@zsd.com, user21@zsd.com",
"parentId": 10
}"

For adding attachments, you can provide any name for file and select the required file, but if additional file information (like private visibility and description) has to be provided, then use the same name for this data also. For more information, refer to the attached screenshots.

All available actions:

ADDNOTE, SOLUTION, PROPOSE, DRAFT, DELETEDRAFT

Get applicable actions for the request

[GET] https://<zsdserver>/LiveTime/services/v1/user/requests/{requestId}/requestActions

“addNote” - true (for ADDNOTE)

[GET] https://<zsdserver>/LiveTime/services/v1/user/requests/{requestId}/noteprivileges

"isDraft" - true (for DELETEDRAFT)
 "showSolutionButton" - true (for SOLUTION)
 "showProposeButton" - true (for PROPOSE)

Some parameters in the add note service are eligible if the respective value is true in the following service:

[GET] https://<zsdserver>/LiveTime/services/v1/user/requests/{requestId}/noteprivileges

For example : “createKnowledge” can be set in addnote service if “showCreateKnowledge” is true in the noteprivilege service.

Examples

Bulk Request Update (Close, Reopen and Delete) – Technician Portal

[PUT] https://<zsdserver>/LiveTime/services/v1/user/requests/bulkUpdate

Query Parameters

"currentPage" : String ( Allowed values - mytask, incident, service, change, problem)
"filterId" : int
"includeAll" : Boolean
"includedExcludedIds" : List<Integer>

Request Parameters

Content-Type: multipart/form-data
Body:
data: "{
"action":"CLOSE",
"searchCriteria" : {
 "slaBreachedOnly": false,
 "escalatedOnly": false,
 "awaitingInfoOnly": false,
 "awaitingMyApprovalOnly": false,
 "searchTerm" : "test",
 "requestFilterInfo" : {
"type": "incident", (incident/service/change/problem)
"scope": "My Tasks", (My Tasks, My Team Tasks)
"incidentId": "100003",
"groupName": "test",
"loggedBy": "User1",
"technicians": [12, 15],
"teams": [2, 8],
"workflowId": 7,
"statusSearchType": 0, (Allowed values: 0/1/2/3)
"statusTypes": [12,14],
"problemtypeId": 10,
"customClassString": "test",
"priorityTypes": [1, 2],
"solId": 1,
"waId": 2,
"firstName": "first name",
"lastName": "last name",
"email": "user1@gmail.com",
"orgUnit": "My Company",
"clientRoom": "10",
"clientCity": "bangalore",
"incidentLocation": "Chennai",
},
"requestAdditionalSearchInfo" : {
 "incidentId": 100120,
 "item": "test item",
 "itemType": "Software",
 "itemStatus": "Available",
 "team": "Incident team",
 "workflow": "Incident workflow"
}
}
}"

All Available Actions

CLOSE, REOPEN and DELETE.

  1. If “includeAll “ is false then action will be performed on the requests provided in the “includedExcludedIds “. (The other request search parameters will not be considered)

  2. If “includeAll “ is true, then the action will be performed on the requests depends on the search criterias provided. In this case the request ids provided in the “includedExcludedIds” will be excluded from the results.

  3. If any request is not eligible for the provided action, that request will be skipped.

Add Attachment to the Request/Note – Technician Portal

[POST] https://<zsdserver>/LiveTime/services/v1/user/requests/100002/attachments

Request Parameters

Content-Type: multipart/form-data
Body:
 "file1": Selected File,
"file1": {
 "privatevisibility": true,
 "description": "Request Attachment 1"
},
 "file2": Selected File,
"file2": {
"privatevisibility": false,
 "description": "Request Attachment 2"
}

For adding attachments, you can provide any name for file and select the required file, but if additional file information (like private visibility and description) has to be provided, then use the same name for this data also. For more information, refer to the above example and the following screenshot.