Update an Existing Task : /tasks/{task_id}
Purpose
This endpoint is used to update an existing task in the Exsited system. Tasks may evolve over time as workflow requirements change, and this endpoint allows partial updates to task attributes such as name, display name, description, priority, dates, task status, and assignees. This ensures flexibility and efficiency when maintaining or adjusting tasks within workflows or standalone task structures.
Use Case
This endpoint is used when a task needs to be modified after creation. Common scenarios include updating task names, adjusting start or end dates, changing priority, updating task status, or reassigning labours, employees, or other assignee types. It is also used during workflow adjustments, operational changes, or QA testing to validate that task updates are correctly reflected in the system. Since PATCH supports partial updates, it is ideal for incremental modifications without overwriting the entire task.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| task_id | String | Unique identifier of the task to be updated. |
Query Parameters
This endpoint does not have any query parameters.
Request Body
The request body contains only the fields that need to be updated. This may include task metadata such as name, display name, description, priority, scheduling dates, task status, and assignees. The API supports updating multiple fields at once, and assignees can be replaced by providing a new list of assignment objects.
{
"task": {
"name": "TASK_NAME",
"display_name": "TASK_DISPLAY_NAME",
"description": "TASK_DESCRIPTION",
"priority": "TASK_PRIORITY",
"start_date": "START_DATE",
"end_date": "END_DATE",
"task_status": "TASK_PROGRESS_STATUS",
"assignees": [
{
"type": "ASSIGNEE_TYPE",
"labour_code": "LABOUR_CODE"
},
{
"type": "ASSIGNEE_TYPE",
"employee_code": "EMPLOYEE_CODE"
}
]
}
}
| Attribute | Type | Description |
|---|---|---|
| task | Object | Contains the fields to update. |
| task.name | String | Updated internal name of the task. |
| task.display_name | String | Updated user‑friendly name. |
| task.description | String | Updated description. |
| task.priority | String | Updated priority (LOW, MEDIUM, HIGH, CRITICAL). |
| task.start_date | DateTime | Updated start date. |
| task.end_date | DateTime | Updated end date. |
| task.task_status | String | Updated task status (e.g., IN_PROGRESS, COMPLETED). |
| task.assignees | Array | Updated list of assignees. |
| assignees[].type | String | LABOUR, EMPLOYEE, OPERATOR, etc. |
| assignees[].labour_code | String | Labour code (if type = LABOUR). |
| assignees[].employee_code | String | Employee code (if type = EMPLOYEE). |
Response
The endpoint successfully returns the updated task object with all modified fields applied. The response includes updated metadata such as name, display name, description, priority, dates, and task status. It also returns the updated assignee list with expanded details for each assigned labour or employee. Checklist items, alerts, and other task components remain unchanged unless explicitly updated. The response includes audit information such as last_updated_by, last_updated_on, and activity logs, ensuring full traceability of the update operation.
Response Body
{
"task": {
"uuid": "TASK_UUID",
"code": "TASK_CODE",
"status": "TASK_STATUS",
"task_status": "TASK_PROGRESS_STATUS",
"name": "TASK_NAME",
"display_name": "TASK_DISPLAY_NAME",
"description": "TASK_DESCRIPTION",
"priority": "TASK_PRIORITY",
"sort_order": "TASK_SORT_ORDER",
"estimated_hours": "ESTIMATED_HOURS",
"actual_hours": "ACTUAL_HOURS",
"start_date": "START_DATE",
"due_date": "DUE_DATE",
"completed_at": "COMPLETED_AT",
"completed_by": "COMPLETED_BY",
"created_on": "CREATED_TIMESTAMP",
"checklist": [
{
"uuid": "CHECKLIST_UUID",
"name": "CHECKLIST_NAME",
"display_name": "CHECKLIST_DISPLAY_NAME",
"description": "CHECKLIST_DESCRIPTION",
"status": "CHECKLIST_STATUS",
"sort_order": "CHECKLIST_SORT_ORDER",
"completed_at": "CHECKLIST_COMPLETED_AT",
"completed_by": "CHECKLIST_COMPLETED_BY"
},
{
"uuid": "CHECKLIST_UUID",
"name": "CHECKLIST_NAME",
"display_name": "CHECKLIST_DISPLAY_NAME",
"description": "CHECKLIST_DESCRIPTION",
"status": "CHECKLIST_STATUS",
"sort_order": "CHECKLIST_SORT_ORDER",
"completed_at": "CHECKLIST_COMPLETED_AT",
"completed_by": "CHECKLIST_COMPLETED_BY"
}
],
"assignees": {
"selected_operators": "SELECTED_OPERATORS",
"selected_account_contacts": "SELECTED_ACCOUNT_CONTACTS",
"selected_labours": [
{
"uuid": "LABOUR_UUID",
"name": "LABOUR_NAME",
"display_name": "LABOUR_DISPLAY_NAME",
"email": "LABOUR_EMAIL",
"display_order": "LABOUR_DISPLAY_ORDER",
"labour_code": "LABOUR_CODE",
"labour_uuid": "LABOUR_UUID",
"responsibility_uuid": "RESPONSIBILITY_UUID",
"responsibility_name": "RESPONSIBILITY_NAME",
"responsibility_display_name": "RESPONSIBILITY_DISPLAY_NAME"
}
],
"selected_employees": [
{
"uuid": "EMPLOYEE_UUID",
"name": "EMPLOYEE_NAME",
"display_name": "EMPLOYEE_DISPLAY_NAME",
"email": "EMPLOYEE_EMAIL",
"employee_code": "EMPLOYEE_CODE",
"employee_uuid": "EMPLOYEE_UUID",
"responsibility_uuid": "RESPONSIBILITY_UUID",
"responsibility_name": "RESPONSIBILITY_NAME",
"responsibility_display_name": "RESPONSIBILITY_DISPLAY_NAME"
}
],
"manually_added_account_contacts": "MANUALLY_ADDED_ACCOUNT_CONTACTS"
},
"alerts": [
{
"uuid": "ALERT_UUID",
"name": "ALERT_NAME",
"display_name": "ALERT_DISPLAY_NAME",
"description": "ALERT_DESCRIPTION",
"type": "ALERT_TYPE",
"trigger_value": "ALERT_TRIGGER_VALUE",
"trigger_unit": "ALERT_TRIGGER_UNIT",
"trigger": "ALERT_TRIGGER",
"trigger_field": "ALERT_TRIGGER_FIELD",
"alert_content": "ALERT_CONTENT",
"status": "ALERT_STATUS",
"recipients": [
{
"uuid": "RECIPIENT_UUID",
"display_order": "RECIPIENT_DISPLAY_ORDER",
"account_code": "RECIPIENT_ACCOUNT_CODE",
"user_uuid": "RECIPIENT_USER_UUID",
"contact_uuid": "RECIPIENT_CONTACT_UUID",
"labour_code": "RECIPIENT_LABOUR_CODE",
"labour_uuid": "RECIPIENT_LABOUR_UUID",
"name": "RECIPIENT_NAME",
"display_name": "RECIPIENT_DISPLAY_NAME",
"email": "RECIPIENT_EMAIL",
"type": "RECIPIENT_TYPE"
}
],
"responsibilities": "ALERT_RESPONSIBILITIES",
"actions": "ALERT_ACTIONS"
}
],
"parent_organization": "PARENT_ORGANIZATION",
"created_by": "CREATED_BY",
"last_updated_by": "LAST_UPDATED_BY",
"last_updated_on": "LAST_UPDATED_TIMESTAMP",
"version": "TASK_VERSION",
"activity_logs": [
{
"activity": "ACTIVITY_LOG_ENTRY"
},
{
"activity": "ACTIVITY_LOG_ENTRY"
}
]
}
}
| Attribute | Type | Description |
|---|---|---|
| uuid | String | Unique identifier of the task. |
| code | String | Task code. |
| status | String | ACTIVE / INACTIVE. |
| task_status | String | Updated task progress status. |
| name | String | Updated task name. |
| display_name | String | Updated display name. |
| description | String | Updated description. |
| priority | String | Updated priority. |
| sort_order | String | Task order. |
| estimated_hours | String | Estimated time. |
| actual_hours | String | Actual time spent. |
| start_date | DateTime | Updated start date. |
| due_date | DateTime | Updated end date. |
| checklist | Array | Existing checklist items. |
| assignees | Object | Updated list of assigned labours, employees, etc. |
| alerts | Array | Existing alerts. |
| parent_organization | String | Organization ID. |
| created_by | String | Creator of the task. |
| last_updated_by | String | User who performed the update. |
| last_updated_on | DateTime | Timestamp of the update. |
| version | String | Updated version number. |
| activity_logs | Array | Activity history showing update actions. |
Update a Checklist Item : /tasks/{task_id}/checklist/{checklist_id}
Purpose
This API is used to update a specific checklist item under a task. Checklist items represent smaller actionable steps within a task, and this endpoint allows modifying their details such as name, display name, description, status, and optional custom attributes. It supports partial updates, meaning only the fields provided in the request body will be updated. This ensures flexibility when refining or correcting checklist entries without affecting the rest of the task.
Use Case
This endpoint is used when a checklist item needs to be modified due to workflow changes, updated requirements, or corrections. For example, a checklist item may need a new name, updated description, or a status change from PENDING to COMPLETED. It is also used during QA validation to ensure checklist updates behave correctly and reflect accurately in the task’s checklist list. Since checklist items often represent sequential or dependent steps, updating them ensures the task remains aligned with operational needs.
Path Parameters
| Attribute | Type | Description |
|---|---|---|
| id | String | Unique identifier of the task containing the checklist item. |
| checklistId | String | Unique identifier of the checklist item to update. |
Query Parameters
This endpoint does not have any query parameters.
Request Body
The request body contains the fields to be updated for the checklist item. Only the provided fields will be modified, allowing partial updates. Fields such as name, display name, description, status, and custom attributes can be updated. Custom attributes allow additional metadata to be attached to the checklist item.
{
"checklist": {
"name": "CHECKLIST_NAME",
"display_name": "CHECKLIST_DISPLAY_NAME",
"description": "CHECKLIST_DESCRIPTION",
"status": "CHECKLIST_STATUS"
}
}
| Attribute | Type | Description |
|---|---|---|
| checklist | Object | Contains the fields to update. |
| checklist.name | String | Updated internal name of the checklist item. |
| checklist.display_name | String | Updated user‑friendly name. |
| checklist.description | String | Updated description. |
| checklist.status | String | Updated status (PENDING or COMPLETED). |
| checklist.custom_attributes | Array | Updated custom attributes. |
| custom_attributes[].name | String | Attribute name. |
| custom_attributes[].value | String | Attribute value. |
Response
The API returns the updated task object, including the modified checklist item with its new values. The response also includes all other existing checklist items, task metadata, assignees, alerts, and audit information. The updated checklist item is returned with its UUID and updated fields, confirming that the changes were successfully applied. This ensures full visibility into the updated task structure and supports accurate workflow execution.
Response Body
{
"task": {
"uuid": "TASK_UUID",
"code": "TASK_CODE",
"status": "TASK_STATUS",
"task_status": "TASK_PROGRESS_STATUS",
"name": "TASK_NAME",
"display_name": "TASK_DISPLAY_NAME",
"description": "TASK_DESCRIPTION",
"priority": "TASK_PRIORITY",
"sort_order": "TASK_SORT_ORDER",
"estimated_hours": "ESTIMATED_HOURS",
"actual_hours": "ACTUAL_HOURS",
"start_date": "START_DATE",
"due_date": "DUE_DATE",
"completed_at": "COMPLETED_AT",
"completed_by": "COMPLETED_BY",
"created_on": "CREATED_TIMESTAMP",
"checklist": [
{
"uuid": "CHECKLIST_UUID",
"name": "CHECKLIST_NAME",
"display_name": "CHECKLIST_DISPLAY_NAME",
"description": "CHECKLIST_DESCRIPTION",
"status": "CHECKLIST_STATUS",
"sort_order": "CHECKLIST_SORT_ORDER",
"completed_at": "CHECKLIST_COMPLETED_AT",
"completed_by": "CHECKLIST_COMPLETED_BY"
},
{
"uuid": "CHECKLIST_UUID",
"name": "CHECKLIST_NAME",
"display_name": "CHECKLIST_DISPLAY_NAME",
"description": "CHECKLIST_DESCRIPTION",
"status": "CHECKLIST_STATUS",
"sort_order": "CHECKLIST_SORT_ORDER",
"completed_at": "CHECKLIST_COMPLETED_AT",
"completed_by": "CHECKLIST_COMPLETED_BY"
}
],
"assignees": {
"selected_operators": "SELECTED_OPERATORS",
"selected_account_contacts": "SELECTED_ACCOUNT_CONTACTS",
"selected_labours": [
{
"uuid": "LABOUR_UUID",
"name": "LABOUR_NAME",
"display_name": "LABOUR_DISPLAY_NAME",
"email": "LABOUR_EMAIL",
"display_order": "LABOUR_DISPLAY_ORDER",
"labour_code": "LABOUR_CODE",
"labour_uuid": "LABOUR_UUID",
"responsibility_uuid": "RESPONSIBILITY_UUID",
"responsibility_name": "RESPONSIBILITY_NAME",
"responsibility_display_name": "RESPONSIBILITY_DISPLAY_NAME"
}
],
"selected_employees": [
{
"uuid": "EMPLOYEE_UUID",
"name": "EMPLOYEE_NAME",
"display_name": "EMPLOYEE_DISPLAY_NAME",
"email": "EMPLOYEE_EMAIL",
"employee_code": "EMPLOYEE_CODE",
"employee_uuid": "EMPLOYEE_UUID",
"responsibility_uuid": "RESPONSIBILITY_UUID",
"responsibility_name": "RESPONSIBILITY_NAME",
"responsibility_display_name": "RESPONSIBILITY_DISPLAY_NAME"
}
],
"manually_added_account_contacts": "MANUALLY_ADDED_ACCOUNT_CONTACTS"
},
"alerts": [
{
"uuid": "ALERT_UUID",
"name": "ALERT_NAME",
"display_name": "ALERT_DISPLAY_NAME",
"description": "ALERT_DESCRIPTION",
"type": "ALERT_TYPE",
"trigger_value": "ALERT_TRIGGER_VALUE",
"trigger_unit": "ALERT_TRIGGER_UNIT",
"trigger": "ALERT_TRIGGER",
"trigger_field": "ALERT_TRIGGER_FIELD",
"alert_content": "ALERT_CONTENT",
"status": "ALERT_STATUS",
"recipients": [
{
"uuid": "RECIPIENT_UUID",
"display_order": "RECIPIENT_DISPLAY_ORDER",
"account_code": "RECIPIENT_ACCOUNT_CODE",
"user_uuid": "RECIPIENT_USER_UUID",
"contact_uuid": "RECIPIENT_CONTACT_UUID",
"labour_code": "RECIPIENT_LABOUR_CODE",
"labour_uuid": "RECIPIENT_LABOUR_UUID",
"name": "RECIPIENT_NAME",
"display_name": "RECIPIENT_DISPLAY_NAME",
"email": "RECIPIENT_EMAIL",
"type": "RECIPIENT_TYPE"
}
],
"responsibilities": "ALERT_RESPONSIBILITIES",
"actions": "ALERT_ACTIONS"
}
],
"parent_organization": "PARENT_ORGANIZATION",
"created_by": "CREATED_BY",
"last_updated_by": "LAST_UPDATED_BY",
"last_updated_on": "LAST_UPDATED_TIMESTAMP",
"version": "TASK_VERSION"
}
}
| Attribute | Type | Description |
|---|---|---|
| uuid | String | Unique identifier of the task. |
| code | String | Task code. |
| status | String | ACTIVE / INACTIVE. |
| task_status | String | Current task progress status. |
| name | String | Task name. |
| display_name | String | Display name. |
| description | String | Task description. |
| priority | String | Task priority. |
| sort_order | String | Task order. |
| start_date | DateTime | Start date. |
| due_date | DateTime | End date. |
| checklist | Array | Updated list of checklist items. |
| checklist[].uuid | String | Unique identifier of the checklist item. |
| checklist[].name | String | Updated checklist name. |
| checklist[].display_name | String | Updated display name. |
| checklist[].description | String | Updated description. |
| checklist[].status | String | Updated status. |
| checklist[].sort_order | String | Sort order. |
| checklist[].completed_at | DateTime | Completion timestamp. |
| checklist[].completed_by | String | User who completed the item. |
| assignees | Object | Assigned operators, labours, employees, etc. |
| alerts | Array | Alerts configured for the task. |
| parent_organization | String | Organization ID. |
| created_by | String | Creator of the task. |
| last_updated_by | String | User who performed the update. |
| last_updated_on | DateTime | Timestamp of the update. |
| version | String | Version number. |
