Kenesto Workflows API

Kenesto Web API provides the same RESTful API that Kenesto web app and Kenesto Drive uses. You can use it for all the same operations for manipulating folders, documents and tasks. You must first be registered with Kenesto which means you must have an account in Kenesto to use the API.

Contents

Each method gets optional parameter called ud (userData) that returns same value. (To keep context or anything else)

Each method returns response status – ok or failed.

If it failed exception message is also returned.

Base URL: https://app.kenesto.com/Kenesto.Web.API/KWorkflows.svc/

1.  CreateWorkflow:

Request:

CreateWorkflow?t={token}&ud={userData}

Http Method: Post

Content-Type: application/json

Parameters:

Name Type Required Description
token string yes User’s encrypted and encoded session token.
title string yes The workflow title. Must be 0-200 characters.
number string no Workflow’s unique number. If not sent, the server will generate one. Must be 0-200 characters.
description string no Workflow’s description
keywords string no Workflow’s keywords
userData string no User Data – free text.
Body Example

{

“title”: “My New Workflow”,

“number”: “27345”,

“description”: “Have Fun!”,

“keywords”: “fun”

}

Response:

Type: Json Formatted String

Response Example

{

“ResponseData”: {

“PROCESS”: {

“TENANT_ID”: “3”,

“OBJECT_ID”: “84c9079d-99f2-4b72-8953-1809094cd21a”,

“FAMILY_ID”: “100112”,

“CREATED_BY”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=Retrieved”,

“CREATION_DATE”: “03/11/2016 08:46:34”,

“DELETED_OBJECT_FLAG”: “False”,

“DESCRIPTION”: “”,

“IS_IMPORTED”: “False”,

“DELETED_CTX_ID”: “00000000-0000-0000-0000-000000000000”,

“MODIFIED_BY”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=Retrieved”,

“ORG_USER_ID”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=Retrieved”,

“OWNER”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=Retrieved”,

“IS_SYSTEM”: “False”,

“MODIFICATION_DATE”: “03/11/2016 08:46:34”,

“SHARED_OBJECT_ID”: “84c9079d-99f2-4b72-8953-1809094cd21a”,

“PUBLIC_ACCESS”: “False”,

“IS_EXT”: “False”,

“EXT_ORG_ID”: “00000000-0000-0000-0000-000000000000”,

“EXT_ORG_NAME”: “”,

“EXT_TOKEN”: “”,

“IS_SHARED”: “False”,

“EXTERNAL_IDENTIFIER”: “”,

“PLANNED_START_DATE”: “01/01/0001 00:00:00”,

“PLANNED_ORDER”: “”,

“PLANNED_DURATION”: “0”,

“ACTUAL_START_DATE”: “01/01/0001 00:00:00”,

“ACTUAL_DURATION”: “0”,

“ACTUAL_END_DATE”: “01/01/0001 00:00:00”,

“ESC_REASSIGN_USER”: “”,

“ESC_POST_USER”: “”,

“ESC_PRE_DAYS”: “0”,

“ESC_REASSIGN_DAYS”: “0”,

“ESC_POST_DAYS”: “0”,

“ESC_PRE_USER”: “”,

“PROCESS_NUMBER”: “26027”,

“TASK_DUE_DATE”: “01/01/0001 00:00:00”,

“PROCESS_DESCRIPTION”: “Have Fun!”,

“PROCESS_INITIATOR”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=Retrieved”,

“PROCESS_TERMINATOR”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=Retrieved”,

“PARENT_PROCESS”: “”,

“PROCESS_STATUS”: “CREATED”,

“PROCESS_EXTERNAL_ACTIVITY_ID”: “00000000-0000-0000-0000-000000000000”,

“PROCESS_EXTERNAL_TOKEN”: “”,

“PROCESS_IS_EXTERNAL”: “False”,

“PROCESS_EXTERNAL_ORG”: “”,

“PROCESS_KEYWORDS”: “fun”,

“PROCESS_EXTERNAL_USER”: “”,

“WORKFLOW_TEMPLATE_ID”: “00000000-0000-0000-0000-000000000000”,

“PROCESS_EXTERNAL_ORG_ID”: “00000000-0000-0000-0000-000000000000”,

“EXTERNAL_RESPONSE_TYPE”: “”,

“BLOCK_PARTNER_EXTERNAL”: “False”,

“PROCESS_EXTERNAL_FAMILY_CODE”: “”,

“PROCESS_NAME”: “My New Workflow”

},

“ACTIVITY_HUMAN_START”: {

“ACTIVITY_STATUS”: “ACTIVE”,

“ACTIVITY_NAME”: “Start – My New Workflow”,

“PROCESS_ID”: “84c9079d-99f2-4b72-8953-1809094cd21a”,

“WORKFLOW_ID”: “0ddd3a93-ea2c-4cf7-8019-dfd346d52ef3”,

“DELETED_OBJECT_FLAG”: “False”,

“HAS_DEPENDENCIES”: “false”,

“ACTIVITY_READ”: “false”,

“FAMILY_ID”: “100122”,

“OBJECT_ID”: “815e3d7d-5f17-4b63-b64c-53dc34c453ff”,

“CREATION_DATE”: “03/11/2016 08:46:35”,

“MODIFICATION_DATE”: “03/11/2016 08:46:35”,

“ORG_USER_ID”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=New”,

“CREATED_BY”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=New”,

“MODIFIED_BY”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=New”,

“OWNER”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=New”,

“TENANT_ID”: “3”

},

“ACTIVITY_HUMAN_END”: {

“ACTIVITY_NAME”: “Finish – My New Workflow”,

“ACTIVITY_STATUS”: “PENDING”,

“ACTIVITY_DESCRIPTION”: “You are on the last step of this workflow.\r\nYou may complete the workflow by completing this step or you may extend this workflow by composing additional tasks.\r\n”,

“PROCESS_ID”: “84c9079d-99f2-4b72-8953-1809094cd21a”,

“WORKFLOW_ID”: “0ddd3a93-ea2c-4cf7-8019-dfd346d52ef3”,

“DELETED_OBJECT_FLAG”: “False”,

“HAS_DEPENDENCIES”: “false”,

“ACTIVITY_READ”: “false”,

“FAMILY_ID”: “100123”,

“OBJECT_ID”: “d10d8824-01b2-4d1a-b7d8-12ef0cd13353”,

“CREATION_DATE”: “03/11/2016 08:46:35”,

“MODIFICATION_DATE”: “03/11/2016 08:46:35”,

“ORG_USER_ID”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=New”,

“CREATED_BY”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=New”,

“MODIFIED_BY”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=New”,

“OWNER”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=New”,

“TENANT_ID”: “3”

}

},

“ResponseStatus”: “OK”,

“UserData”: “My User Data”

}

2.    AddTasksToWorkflow:

Request:

AddTasksToWorkflow?t={token}&ud={userData}

Http Method: Post

Content-Type: application/json

Parameters:

Name Type Required Description
token string yes User’s encrypted and encoded session token.
processId Guid yes The task’s Id – unique identifier of the task.
sourceTaskId Guid yes The task’s Id – unique identifier of the task.
tasks Object collection
Title string yes The task title. Must be 0-200 characters.
AssigneeUsername string yes The assignee username – email address.
Instructions string no Task’s instructions. Can have up to 4000 characters.
userData string no User Data – free text.
Body Example

{

“processId”: “84c9079d-99f2-4b72-8953-1809094cd21a”,

“sourceTaskId”: “815e3d7d-5f17-4b63-b64c-53dc34c453ff”,

“tasks”: [{

“Title”: “My New Task1”,

“AssigneeUsername”: “[email protected]”,

“Instructions”: “Have Fun!”

}, {

“Title”: “My New Task2”,

“AssigneeUsername”: “[email protected]”,

“Instructions”: “Have Fun!”

}, {

“Title”: “My New Task3”,

“AssigneeUsername”: “[email protected]”,

“Instructions”: “Have Fun!”

}]}

Response:

Type: Json Formatted String

Response Example

{

“ResponseData”: {

“RESPONSE”: {

“RESPONSE_TYPE”: “USER_DEFINED”,

“RESPONSE_NAME”: “My New Task1”,

“IS_SYSTEM_RESPONSE”: “False”,

“DELETED_OBJECT_FLAG”: “False”,

“FAMILY_ID”: “100130”,

“OBJECT_ID”: “415bf6ec-0970-4c0b-94a7-d107a79ce7f4”,

“CREATION_DATE”: “03/11/2016 09:36:17”,

“MODIFICATION_DATE”: “03/11/2016 09:36:17”,

“ORG_USER_ID”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=New”,

“CREATED_BY”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=New”,

“MODIFIED_BY”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=New”,

“OWNER”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=New”,

“TENANT_ID”: “3”

}

},

“ResponseStatus”: “OK”,

“UserData”: “My User Data”

}

3.    WorkflowTaskCompleted:

Request:

WorkflowTaskCompleted?t={token}&ud={userData}

Http Method: Post

Content-Type: application/json

Parameters:

Name Type Required Description
token string yes User’s encrypted and encoded session token.
processId Guid yes The process’s Id – unique identifier of the process.
taskId Guid yes The task’s Id – unique identifier of the task.
approverUsername string yes The approver username – email address.
comments string no Comments – free text.
userData string no User Data – free text.
Body Example

{

“processId”: “84c9079d-99f2-4b72-8953-1809094cd21a”,

“taskId”: “f84f7503-9f79-4e35-a183-e153f3286a25”,

“approverUsername”: “[email protected]”,

“comments”: “Imported comments”

}

Response:

Type: Json Formatted String

Response Example

{

“ResponseData”: {},

“ResponseStatus”: “OK”,

“UserData”: “My User Data”

}

4.    TerminateWorkflow:

Request:

TerminateWorkflow?t={token}&ud={userData}

Http Method: Post

Content-Type: application/json

Parameters:

Name Type Required Description
token string yes User’s encrypted and encoded session token.
processId Guid yes The process’s Id – unique identifier of the process.
userData string no User Data – free text.
Body Example

{

“processId”: “84c9079d-99f2-4b72-8953-1809094cd21a”

}

Response:

Type: Json Formatted String

Response Example

{

“ResponseData”: {

“PROCESS”: {

“TENANT_ID”: “3”,

“FAMILY_ID”: “100112”,

“OBJECT_ID”: “84c9079d-99f2-4b72-8953-1809094cd21a”,

“PROCESS_EXTERNAL_ACTIVITY_ID”: “00000000-0000-0000-0000-000000000000”,

“PROCESS_IS_EXTERNAL”: “False”,

“PROCESS_EXTERNAL_TOKEN”: “”,

“PROCESS_EXTERNAL_ORG”: “”,

“PROCESS_EXTERNAL_USER”: “”,

“CREATED_BY”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=Retrieved”,

“CREATION_DATE”: “03/11/2016 08:46:34”,

“IS_IMPORTED”: “False”,

“MODIFIED_BY”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=Retrieved”,

“OWNER”: “ParticipantUserNtt ID=be3a3293-bc0a-a046-bbcd-704bfb068a2f, FamilyCode=PARTICIPANT_USER, Status=Retrieved”,

“MODIFICATION_DATE”: “03/11/2016 10:12:41”,

“SHARED_OBJECT_ID”: “84c9079d-99f2-4b72-8953-1809094cd21a”,

“PUBLIC_ACCESS”: “False”,

“IS_EXT”: “False”,

“EXT_ORG_ID”: “00000000-0000-0000-0000-000000000000”,

“EXT_ORG_NAME”: “”,

“EXT_TOKEN”: “”,

“IS_SHARED”: “False”,

“PLANNED_START_DATE”: “01/01/0001 00:00:00”,

“PLANNED_ORDER”: “”,

“PLANNED_DURATION”: “0”,

“ACTUAL_START_DATE”: “01/01/0001 00:00:00”,

“ACTUAL_DURATION”: “0”,

“ACTUAL_END_DATE”: “01/01/0001 00:00:00”,

“ESC_REASSIGN_USER”: “”,

“ESC_POST_USER”: “”,

“ESC_PRE_DAYS”: “0”,

“ESC_REASSIGN_DAYS”: “0”,

“ESC_POST_DAYS”: “0”,

“ESC_PRE_USER”: “”,

“PROCESS_NUMBER”: “26027”,

“TASK_DUE_DATE”: “01/01/0001 00:00:00”,

“PROCESS_DESCRIPTION”: “Have Fun!”,

“PARENT_PROCESS”: “”,

“PROCESS_STATUS”: “TERMINATED_BY_USER”,

“PROCESS_KEYWORDS”: “fun”,

“BLOCK_PARTNER_EXTERNAL”: “False”,

“PROCESS_EXTERNAL_FAMILY_CODE”: “”,

“PROCESS_NAME”: “My New Workflow”

}

},

“ResponseStatus”: “OK”,

“UserData”: “My User Data”

}

5.    GetWorkflowTasks:

Request:

GetWorkflowTasks?t={token}&pid={processId}&ud={userData}

Http Method: Get

Parameters:

Name Type Required Description
token string yes User’s encrypted and encoded session token.
processId Guid yes The workflow’s Id – unique identifier of the workflow.
userData string no User Data – free text.
Body Example

{

“processId”: “84c9079d-99f2-4b72-8953-1809094cd21a”

}

Response:

Type: Json Formatted String

Response Example

{

“ResponseData”: {

“RESULTS”: {

“Object 0”: {

“ACTIVITY_HUMAN_APPROVAL”: {

“TENANT_ID”: “3”,

“FAMILY_ID”: “100124”,

“OBJECT_ID”: “f84f7503-9f79-4e35-a183-e153f3286a25”,

“ACTIVITY_NAME”: “My New Task1”,

“NAMING_INDEX”: “1”,

“MODIFICATION_DATE”: “03/11/2016 09:47:56”

}

},

“Object 1”: {

“ACTIVITY_HUMAN_APPROVAL”: {

“TENANT_ID”: “3”,

“FAMILY_ID”: “100124”,

“OBJECT_ID”: “0c68bb0f-0588-4b11-9ab2-36072f8e82e8”,

“ACTIVITY_NAME”: “My New Task2”,

“NAMING_INDEX”: “1”,

“MODIFICATION_DATE”: “03/11/2016 09:47:57”

}

},

“Object 2”: {

“ACTIVITY_HUMAN_END”: {

“TENANT_ID”: “3”,

“FAMILY_ID”: “100123”,

“OBJECT_ID”: “d10d8824-01b2-4d1a-b7d8-12ef0cd13353”,

“ACTIVITY_NAME”: “Finish – My New Workflow”,

“NAMING_INDEX”: “0”,

“MODIFICATION_DATE”: “03/11/2016 08:46:36”

}

},

“Object 3”: {

“ACTIVITY_HUMAN_START”: {

“TENANT_ID”: “3”,

“FAMILY_ID”: “100122”,

“OBJECT_ID”: “815e3d7d-5f17-4b63-b64c-53dc34c453ff”,

“ACTIVITY_NAME”: “Start – My New Workflow”,

“NAMING_INDEX”: “0”,

“MODIFICATION_DATE”: “03/11/2016 09:47:44”

}

},

“Object 4”: {

“ACTIVITY_HUMAN_APPROVAL”: {

“TENANT_ID”: “3”,

“FAMILY_ID”: “100124”,

“OBJECT_ID”: “70f884ad-1478-4a62-afe7-aa4d5b28c123”,

“ACTIVITY_NAME”: “My New Task3”,

“NAMING_INDEX”: “1”,

“MODIFICATION_DATE”: “03/11/2016 09:47:56”

}

}

},

“INFO”: {

“TOTAL”: 5

}

},

“ResponseStatus”: “OK”,

“UserData”: “My User Data”

}

6.    GetMyWorkflowActiveTasks:

Request:

GetMyWorkflowActiveTasks?t={token}&pid={processId}&ud={userData}

Http Method: Get

Parameters:

Name Type Required Description
token string yes User’s encrypted and encoded session token.
processId Guid yes The workflow’s Id – unique identifier of the workflow.
userData string no User Data – free text.
Body Example

{

“processId”: “84c9079d-99f2-4b72-8953-1809094cd21a”

}

Response:

Type: Json Formatted String

Response Example

{

“ResponseData”: {

“RESULTS”: {

“Object 0”: {

“ACTIVITY_HUMAN_APPROVAL”: {

“TENANT_ID”: “3”,

“FAMILY_ID”: “100124”,

“OBJECT_ID”: “f84f7503-9f79-4e35-a183-e153f3286a25”,

“ACTIVITY_NAME”: “My New Task1”,

“NAMING_INDEX”: “1”,

“MODIFICATION_DATE”: “03/11/2016 09:47:56”

}

},

“Object 1”: {

“ACTIVITY_HUMAN_APPROVAL”: {

“TENANT_ID”: “3”,

“FAMILY_ID”: “100124”,

“OBJECT_ID”: “0c68bb0f-0588-4b11-9ab2-36072f8e82e8”,

“ACTIVITY_NAME”: “My New Task2”,

“NAMING_INDEX”: “1”,

“MODIFICATION_DATE”: “03/11/2016 09:47:57”

}

},

“Object 2”: {

“ACTIVITY_HUMAN_APPROVAL”: {

“TENANT_ID”: “3”,

“FAMILY_ID”: “100124”,

“OBJECT_ID”: “70f884ad-1478-4a62-afe7-aa4d5b28c123”,

“ACTIVITY_NAME”: “My New Task3”,

“NAMING_INDEX”: “1”,

“MODIFICATION_DATE”: “03/11/2016 09:47:56”

}

}

},

“INFO”: {

“TOTAL”: 3

}

},

“ResponseStatus”: “OK”,

“UserData”: “My User Data”

}