Tasks API
Scope: ZohoProjects.tasks.{Operation}
Operations: READ, CREATE, UPDATE, DELETE, ALL
Use the ALL operation to gain the scope for all the other operations like READ, CREATE, UPDATE, and DELETE at once.
| All Tasks GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/ | |
| Tasks for a Tasklist GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasklists/[TASKLISTID]/tasks/ | |
| Task Details GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/ | |
| Task Activities GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/activities/ | |
| Create Task POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/ | |
| Update Task POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/ | |
| Reorder Task POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/reorder | |
| Delete Task DELETE /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/ | |
| Create Subtask POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/subtasks/ | |
| Get My Tasks GET /restapi/portal/[PORTALID]/mytasks/ | |
| Get Subtasks GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/subtasks/ | |
| Get Comments GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/comments/ | |
| Add Comment POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/comments/ | |
| Update Comment POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/comments/[COMMENTID]/ | |
| Delete Comment DELETE /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/comments/[COMMENTID]/ | |
| Get Task Attachments GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/attachments/ | |
| Add Task Attachments POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/attachments/ | |
| Delete Task Attachments DELETE /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/attachments/[ATTACHMENTID]/ | |
| Get All Task Layouts GET /restapi/portal/[PORTALID]/tasklayouts | |
| Get Task Layout Details GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasklayouts | |
| Get Task Custom Views GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/views | |
| Get My Tasks Custom Views GET /restapi/portal/[PORTALID]/mytasks/views | |
| Set Dependency Between Tasks POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/taskdependency/ | |
| Update Lag in Dependency POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/taskdependency/ | |
| Update Dependency Type POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/taskdependency/ | |
| Remove Dependency POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/taskdependency/ | |
| Follow Task POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/follow | |
| Unfollow Task POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/unfollow | |
| Associate Bugs POST /api/v3/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/bugs | |
| Dissociate Bugs DELETE /api/v3/portal/[PORTALID]/projects/[PROJECTID]/bugs/[BUGID]/task/[TASKID] | |
| Move Tasks GET /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/move | |
| Task Status History from Portal GET /api/v3/portal/{{Portal_Id}}/taskstatushistory | |
| Task Status History from Project GET /api/v3/portal/{Portal_Id}/projects/{Project_Id}/taskstatushistory |
All Tasks
Gets all the tasks in the given project. It fetches only the main tasks and not the subtasks.
Scope: ZohoProjects.tasks.READ
Request Parameters
| index | int | Index number of the task. |
| range | int | Range of the tasks. |
| owner | String or Long | Owner of the task must be provided as all or user ID. (all - String, user ID - Long) |
| status | String | Status of the task must be all or completed or notcompleted. |
| time | String | Time period of the task must be all or overdue or today or tomorrow. |
| priority | String | Priority of the task must be all or none or low or medium or high. |
| tasklist_id | Long | ID of the tasklist. |
| custom_status | Long | The ID of the custom task status. Example : 932200000000277068. |
| sort_column | String | Sort tasks using the last modified time or time of creation. (created_time / last_modified_time) |
| sort_order | String | Sort in ascending or descending order. |
| last_modified_time | Long | Last updated time of task in milliseconds. |
| milestone_id | Long | ID of the milestone. |
| created_by | String or Long | Pass the value as all or the user ID (all - String, user ID - Long). |
| custom_fields | JSON Object | Value of the custom field. Example: {"UDF_CHAR1":"Hello"} |
| view_id | Long | View ID of the Task. view_id is obtained from the Get Task Custom Views API. |
| all_tasks | Boolean | Specify whether to retrieve subtasks in the response. Accepted values: true or false. |
Example of viewing a task with custom fields
Since custom field <display_name> is not unique, custom fields are referred by their respective < column_name>. The same custom field <display_name> will be referred with different < column_name>. The params that you need to pass for the task custom fields is the value in <column_name> in Get Task Layout Details API.
You must first get all the custom fields, and then pass the <column_name> value of the custom field as a param to create a task with the custom fields.
Example: {“UDF_CHAR1”:”Hello”}
UDF_CHAR1 is the param that you need to pass while creating tasks.
Hello is the value of the custom field.
Here is a sample response of a custom field:
{
"section_name": "New Section",
"customfield_details": [{
"column_name": "UDF_CHAR1",
"is_mandatory": false,
"is_default": false",
"display_name": "My_Field",
"column_type": "singleline" }]
}
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"tasks": [
{
"end_date": "05-09-2018",
"milestone_id": "170876000004922038",
"link": {
"timesheet": {
"url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/170876000004921003/tasks/170876000004922138/logs/"
},
"self": {
"url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/170876000004921003/tasks/170876000004922138/"
}
},
"description": "",
"start_date_long": 1524251880000,
"end_date_long": 1525893480000,
"end_date_format": "05-09-2018 12:18:00 PM",
"duration": "13",
"last_updated_time_long": 1511331772071,
"details": {
"owners": [
{
"name": "Eduardo Vargas",
"id": "2060557"
},
{
"name": "Lin Brenn",
"id": "639281665"
}
]
},
"id": 170876000004922140,
"key": "X9-T8",
"start_date": "04-20-2018",
"created_person": "Helen Collins",
"created_time_long": 1511331772071,
"created_time": "11-21-2017",
"is_reminder_set": false,
"is_recurrence_set": false,
"created_time_format": "11-21-2017 10:22:52 PM",
"subtasks": false,
"dependency": {},
"work": "208:00",
"isparent": false,
"start_date_format": "04-20-2018 12:18:00 PM",
"work_type": "work_hrs_per_day",
"completed": false,
"priority": "None",
"created_by": "639283127",
"percent_complete": "0",
"last_updated_time": "11-21-2017",
"name": "Roofing paper installed",
"id_string": "170876000004922138",
"last_updated_time_format": "11-21-2017 10:22:52 PM",
"tasklist": {
"name": "Roofing- All tasks",
"id": "170876000004922094"
},
"order_sequence": 1,
"status": {
"name": "Open",
"id": "170876000004668068",
"type": "open",
"color_code": "#568dd5"
}
}
]}Note:
- The task custom field feature is available only in the Enterprise plan.
Tasks for a Tasklist
Gets all the tasks in the given tasklist .
Scope: ZohoProjects.tasks.READ
Request Parameters
| index | int | Index number of the task. |
| range | int | Range of the tasks. |
| sort_column | String | Sort tasks using the last modified time or time of creation. (created_time / last_modified_time / end_date) |
| sort_order | String | Sort in ascending or descending order. |
| last_modified_time | Long | Last updated time of task in milliseconds. |
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"tasks": [
{
"end_date": "09-05-2020",
"is_sprints_task": false,
"link": {
"timesheet": {
"url": "https://projectsapi.zoho.com/restapi/portal/zylker/projects/170876000003066079/tasks/170876000009578967/logs/"
},
"self": {
"url": "https://projectsapi.zoho.com/restapi/portal/zylker/projects/170876000003066079/tasks/170876000009578967/"
}
},
"created_by_zpuid": "170876000007981001",
"description": "<div><br></div>",
"start_date_long": 1599244200000,
"work_form": "standard_work",
"is_comment_added": false,
"end_date_long": 1599244200000,
"end_date_format": "09-05-2020 12:00:00 AM",
"duration": "1",
"last_updated_time_long": 1617005750000,
"is_forum_associated": false,
"details": {
"owners": [
{
"zpuid": "170876000005155055",
"name": "Helen",
"id": "639283127",
"email": "helenc@zylker.com"
}
]
},
"id": 170876000009578980,
"key": "NM-T30",
"tasklist_id": "170876000009578951",
"start_date": "09-05-2020",
"created_person": "Monica Hemsworth",
"created_time_long": 1598674306701,
"created_time": "08-29-2020",
"is_reminder_set": false,
"is_recurrence_set": false,
"created_time_format": "08-29-2020 09:41:46 AM",
"subtasks": false,
"work": "8:00",
"custom_fields": [
{
"column_name": "UDF_TEXT2",
"label_name": "Feedback ",
"value": "Content Approval"
}
],
"isparent": false,
"duration_type": "days",
"start_date_format": "09-05-2020 12:00:00 AM",
"work_type": "work_hrs_per_day",
"task_followers": {
"FOLUSERS": "",
"FOLLOWERSIZE": -1,
"FOLLOWERS": []
},
"completed": false,
"priority": "Medium",
"created_by": "703961433",
"percent_complete": "0",
"GROUP_NAME": {
"ASSOCIATED_TEAMS": {
"AnyTeam": "Not Associated"
},
"ASSOCIATED_TEAMS_COUNT": 0,
"IS_TEAM_UNASSIGNED": true
},
"last_updated_time": "03-29-2021",
"name": "Layouts Finding",
"is_docs_assocoated": false,
"id_string": "170876000009578967",
"log_hours": {
"non_billable_hours": "0.0",
"billable_hours": "0.0"
},
"billingtype": "None",
"last_updated_time_format": "03-29-2021 01:45:50 PM",
"order_sequence": 3,
"status": {
"name": "Open",
"id": "170876000004668068",
"type": "open",
"color_code": "#08aeea"
}
}
]
}
Task Details
Gets all the details for the task.
Scope: ZohoProjects.tasks.READ
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"tasks": [
{
"end_date": "07-25-2019",
"milestone_id": "170876000000000073",
"link": {
"timesheet": {
"url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/170876000004154005/tasks/170876000006986036/logs/"
},
"self": {
"url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/170876000004154005/tasks/170876000006986036/"
}
},
"start_date_long": 1562869800000,
"is_comment_added": false,
"end_date_long": 1564050600000,
"end_date_format": "07-25-2019 04:00:00 PM",
"duration": "15",
"last_updated_time_long": 1574762930961,
"is_forum_associated": false,
"details": {
"owners": [
{
"name": "Unassigned"
}
]
},
"id": 170876000006986050,
"key": "DC-T666",
"start_date": "07-12-2019",
"created_person": "Helen Collins",
"created_time_long": 1562950590000,
"created_time": "07-12-2019",
"is_reminder_set": false,
"is_recurrence_set": false,
"created_time_format": "07-12-2019 10:26:30 PM",
"subtasks": false,
"dependency": {
"dependencyDetails": {
"170876000006750097": {
"DEPENDENCY_TYPE": "FS"
}
},
"successor": [
"170876000006750097"
]
},
"work": "120:00",
"custom_fields": [],
"forecasted_cost": 0,
"isparent": false,
"duration_type": "days",
"start_date_format": "07-12-2019 12:00:00 AM",
"work_type": "work_hrs_per_day",
"task_followers": {
"FOLUSERS": "",
"FOLLOWERSIZE": -1,
"FOLLOWERS": []
},
"completed": false,
"priority": "None",
"created_by": "639283127",
"percent_complete": "0",
"last_updated_time": "11-26-2019",
"actual_cost": 0,
"name": "Ledger Reports",
"is_docs_assocoated": false,
"id_string": "170876000006986036",
"log_hours": {
"non_billable_hours": "0.0",
"billable_hours": "0.0"
},
"last_updated_time_format": "11-26-2019 03:38:50 PM",
"tasklist": {
"name": "Electricity and wiring",
"id": "170876000006986046"
},
"planned_cost": 0,
"order_sequence": 9,
"status": {
"name": "Open",
"id": "170876000004668068",
"type": "open",
"color_code": "#568dd5"
}
}
]
}Task Activities
This API fetches the details of who modified a specific task and when.
Scope: ZohoProjects.tasks.READ
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"activities": [
{
"time_format": "03-12-2020 06:27:46 PM",
"activity_by": "Monica Hemsworth",
"time_long": 1584017866187,
"name": "Task 1",
"id_string": "170876000008601005",
"old_value": "",
"id": 170876000008601005,
"state": "new",
"time": "03-12-2020",
"new_value": "",
"zuid": "703961433"
}
]
}
Create Task
Scope: ZohoProjects.tasks.CREATE
If you are uploading files in the task, you must additionally use this Scope: ZohoPC.files.CREATE
If your Zoho Projects portal is integrated with Zoho Workdrive, you must additionally use this Scope: WorkDrive.files.ALL
Request Parameters
| person_responsible | Long | Owner ID of the task. User ID for multiple owners must be separated by commas. |
| tasklist_id | Long | ID of the tasklist. |
| name* | String | Name of the task. |
| start_date | String [MM-DD-YYYY] | Start date of the task. |
| end_date | String [MM-DD-YYYY] | End date of the task. You must also provide the start_date value to update end_date. |
| duration | int | Duration of the task. |
| duration_type | String | Duration of the task type in days or hrs. |
| priority (None or Low or Medium or High) | String | Priority of the task must be None or Low or Medium or High. |
| description | String | Description for the task. |
| uploaddoc | File | Add file to a task. |
| start_time | String | Start time can be specified in either 12 hour or 24 hour format. Eg. 01:00 pm or 13:00 |
| end_time | String | End time can be specified in either 12 hour or 24 hour format. Eg. 09:00 pm or 21:00 |
| owner_work | JSON Array | user_id and working_hours must be given in the array to assign work hours to task owners. [{"user_id":"xxxxxx","working_hours":"2"}] Note: person_responsible parameter is mandatory to add owner_work |
| associated_teams | JSON Array | Team ID ex: [4000000086001] |
| work_type | String | Allocate work_hrs_per_day or work_in_percentage or work_hours. |
| rate_per_hour | Float | Specify rate per hour if your billing method is based on task hours. |
| custom_fields | JSON Object | Value of the custom field. Example: {“UDF_CHAR1”:”Hello”} |
| completed_on | String [MM-DD-YYYY] | Completed date of the task. |
| reminder_string | JSON Object | Get reminders about tasks at a specified date. Ex: reminder_string : { "reminder" : [ { "reminder_criteria" : "customdate" , "day_before" : "5" , "custom_date" : "12-10-2019" , "reminder_time" : "21:30" , "reminder_notify_users" : "owner,follower" } ] }
|
| json_string | JSON Object | If you set a task as recurring task, it will automatically get recreated after the specified time period. Specify the recurring criteria values in the json_string. Separate multiple values using comma. Ex: { "recurrence" : { "recurring_frequency" : "monthly", "time_span" : "15", "number_of_occurrences" : "30","is_comments_recurred":"true","set_previous_business_day":"false","recurrence_type":"specified_interval_creation"} }
|
| budget_value | Float | Enter the Cost Budget or Budgeted Hours based on the selected budget type. |
| budget_threshold | Float | Enter the Budgeted Hours Threshold or Cost Budget Threshold. |
| tagIds | JSONArray | Tag IDs to associate with the task |
| coat_per_hour | Float | Specify the cost per hour. |
| revenue_budget | Float | Specify the Revenue Budget. |
* Indicates a mandatory param
Example of creating a task with custom fields.
Sample Response
Status: 201 Created Content Type: application/json;charset=utf-8
{
"tasks": [
{
"end_date": "11-30-2019",
"reminder_date_long": 1573266600000,
"milestone_id": "170876000000000073",
"reminder_date": "11-09-2019",
"link": {
"timesheet": {
"url": "https://projectsapi.zoho.com/restapi/portal/zylker/projects/170876000001871117/tasks/170876000002120001/logs/"
},
"self": {
"url": "https://projectsapi.zoho.com/restapi/portal/zylker/projects/170876000001871117/tasks/170876000002120001/"
}
},
"start_date_long": 1572546600000,
"is_comment_added": false,
"end_date_long": 1575109800000,
"end_date_format": "11-30-2019 04:00:00 PM",
"duration": "23",
"last_updated_time_long": 1572861349173,
"is_forum_associated": false,
"reminder_notify_users": [
{
"reminder_user": {
"value": "owner",
"key": "owner"
},
"reminder_user_type": "reminder_default_user"
},
{
"reminder_user": {
"value": "creator",
"key": "creator"
},
"reminder_user_type": "reminder_default_user"
}
],
"remind_on": "customdate",
"details": {
"owners": [
{
"work": "8:15",
"name": "Amritha Agrawal",
"id": "2063270"
}
]
},
"id": 170876000002120001,
"key": "SP-T45",
"start_date": "11-01-2019",
"created_person": "Helen Collins",
"created_time_long": 1422422831353,
"reminder_time": "8 : 00 am",
"created_time": "01-28-2015",
"is_reminder_set": true,
"is_recurrence_set": true,
"created_time_format": "01-28-2015 10:57:11 AM",
"subtasks": false,
"work": "181:30",
"isparent": false,
"duration_type": "days",
"start_date_format": "11-01-2019 12:00:00 AM",
"work_type": "work_hrs_per_day",
"task_followers": {
"FOLUSERS": "",
"FOLLOWERSIZE": -1,
"FOLLOWERS": []
},
"completed": false,
"priority": "Medium",
"created_by": "639283127",
"percent_complete": "50",
"recurrence": {
"number_of_times": "2",
"is_recurring_comments": false,
"timespan": "1",
"recurrence_frequency": "daily"
},
"last_updated_time": "11-04-2019",
"name": "Review blog post",
"is_docs_assocoated": false,
"id_string": "170876000002120001",
"log_hours": {
"non_billable_hours": "0.0",
"billable_hours": "0.0"
},
"last_updated_time_format": "11-04-2019 03:25:49 PM",
"tasklist": {
"name": "General",
"id": "170876000001882560"
},
"order_sequence": 1,
"status": {
"name": "Open",
"id": "170876000004668068",
"type": "open",
"color_code": "#568dd5"
}
}
]
}Update Task
Updates the task in the given project
Scope: ZohoProjects.tasks.UPDATE
If you are uploading files in the task, you must additionally use this Scope: ZohoPC.files.CREATE
Request Parameters
| person_responsible | Long | ZUID of the task owner. User ID for multiple owners must be separated by commas. If you need to remove users assigned to the task, pass '0' in the parameter. |
| person_responsible_zpuid | Long | ZPUID of the task owner. User ID for multiple owners must be separated by commas. If you need to remove users assigned to the task, pass '0' in the parameter. |
| name | String | Name of the task. |
| start_date | String [MM-DD-YYYY] | Start date of the task. |
| end_date | String [MM-DD-YYYY] | End date of the task. You must also provide the start_date value to update end_date. |
| percent_complete | int | Task completed percentage must be provided in multiple of 10's. [10 to 100] |
| duration | int | Duration of the task. |
| duration_type | String | Duration of the task type in days or hrs. |
| priority (None or Low or Medium or High) | String | Priority of the task must be None or Low or Medium or High. |
| description | String | Description for the task. |
| start_time | String | Start time can be specified in either 12 hour or 24 hour format. Eg. 01:00 pm or 13:00 |
| end_time | String | End time can be specified in either 12 hour or 24 hour format. Eg. 01:00 pm or 13:00 |
| owner_work | JSON Array | user_id and working_hours must be given in the array to assign work hours to task owners. Note: person_responsible parameter is mandatory to update owner_work |
| associated_teams | JSON Array | Team ID ex: [4000000086001] |
| work_type | String | Allocate work_hrs_per_day or work_in_percentage or work_hours. |
| billingtype | Boolean | Available values: 'none', 'billable', and 'non billable'. |
| rate_per_hour | Float | Specify rate per hour if your project budget is based on task hours. |
| task_duration_as_work | String | Allocates entire task duration as work hours for the task owners if value is true |
| reminder_string | JSON Object | Get reminders about tasks at a specified date. Ex: reminder_string : { "reminder" : [ { "reminder_criteria" : "customdate" , "day_before" : "5" , "custom_date" : "12-10-2019" , "reminder_time" : "21:30" , "reminder_notify_users" : "owner,follower" } ] }
|
| uploaddoc | File | Add a file to the task. |
| custom_fields | JSON Object | Value of the custom field. Example : {"UDF_CHAR1":"Hello"} |
| custom_status | Long | The ID of the custom task status. Example : 932200000000277068 |
| clear_date | Boolean | Clears the start date and end date of the task. (true / false) |
| make_as_task | Boolean | Make a sub_task as task. (true / false) |
| json_string | JSON Object | If you set a task as recurring task, it will automatically get recreated after the specified time period. Specify the recurring criteria values in the json_string. Separate multiple values using comma. Ex: { "recurrence" : { "recurring_frequency" : "monthly", "time_span" : "15", "number_of_occurrences" : "30","is_comments_recurred":"true","set_previous_business_day":"false","recurrence_type":"specified_interval_creation"} }
|
budget_value | Float | Enter the Cost Budget or Budgeted Hours based on the selected budget type. |
budget_threshold | Float | Enter the Budgeted Hours Threshold or Cost Budget Threshold. |
| tagIds | JSONArray | Tag IDs to associate with the task |
| cost_per_hour | Float | Specify the cost per hour. |
| revenue_budget | Float | Specify the Revenue Budget. |
| ignore_bug_association | Boolean | The task is associated with one or many open issue(s). Select "Yes" to close the task anyway. |
Note:
- Add the param removeLag = true to remove the lag, if any, set between your task and its predecessor.
Example of updating task with custom fields.
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"tasks": [
{
"id": 170876000001849020,
"name": "Fix QA comments",
"completed": false,
"created_by": "2060758",
"created_person": "Patricia Boyle",
"priority": "None",
"percent_complete": 0,
"custom_fields": [{
"column_name": "UDF_DATE1",
"label_name": "My_date",
"value": "11-11-2017 12:00:00 AM"
}],
"recurrence": {
"number_of_times": "30",
"timespan": "15",
"is_recurring_comments": true,
"recurrence_frequency": "daily"
},
"order_sequence": 11,
"details": {
"owners": [
{
"name": "Unassigned"
}
]
},
"link": {
"self": {
"url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/ 170876000000147021/tasks/170876000001849039/"
},
"timesheet": {
"url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/ 170876000000147021/tasks/170876000001849039/logs/"
}
},
"status": {
"name": "Open",
"id": "4000000000335",
"type": "open",
"color_code": "#eb5768"
}
}
]
}Reorder Task
Reorders the tasks in the given project
Scope: ZohoProjects.tasks.UPDATE
Request Parameters
| json_string* | json object | Task will be reordered in-between two tasks based on the previous and next task IDs. Specify the previous_task_id and next_task_id values(Long) in json_string. Separate the values using comma. Ex. { "task_order" : { "previous_task_id" : 4000000021037, "next_task_id" : 4000000029097 } } If there is no previous task, you can specify only the next_task_id. The task will be reordered above the task with the next_task_id. |
* Indicates a mandatory param
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"message": "Tasks reordered..."
}
Delete Task
Deletes the tasks in the given project.
Scope: ZohoProjects.tasks.DELETE
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"response": "Task Deleted Successfully"
}
Create Subtask
Scope: ZohoProjects.tasks.CREATE
Request Parameters
| person_responsible | Long | Owner ID of the task. User ID for multiple owners must be separated by commas. |
| name* | String | Name of the task. |
| start_date | String [MM-DD-YYYY] | Start date of the task. |
| end_date | String [MM-DD-YYYY] | End date of the task. You must also provide the start_date value to update end_date. |
| duration | int | Duration of the task. |
| duration_type | String | Duration of the task type in days or hrs. |
| priority (None or Low or Medium or High) | String | Priority of the task must be None or Low or Medium or High. |
| description | String | Description of the task. |
| custom_fields | JSON Object | Value of the custom field. Example: {“UDF_CHAR1”: ”Hello”} |
| reminder_string | JSON Object | Get reminders about tasks at a specified date. Ex: reminder_string : { "reminder" : [ { "reminder_criteria" : "customdate" , "day_before" : "5" , "custom_date" : "12-10-2019" , "reminder_time" : "21:30" , "reminder_notify_users" : "owner,follower" } ] }
|
* Indicates a mandatory param
Example of creating a subtask with custom fields.
Sample Response
Status: 201 Created Content Type: application/json;charset=utf-8
{
"tasks": [
{
"parent_task_id": "170876000006360581",
"reminder_date_long": 1572834600000,
"start_date_long": 1572546600000,
"is_comment_added": false,
"end_date_format": "11-30-2019 04:00:00 PM",
"last_updated_time_long": 1572862066540,
"is_forum_associated": false,
"remind_on": "daily",
"details": {
"owners": [
{
"name": "Helen Collins",
"id": "639283127"
}
]
},
"id": 170876000006360599,
"created_time": "04-08-2019",
"work": "184:00",
"isparent": false,
"start_date_format": "11-01-2019 12:00:00 AM",
"completed_time_long": 1569654333117,
"work_type": "work_hrs_per_day",
"task_followers": {
"FOLUSERS": "",
"FOLLOWERSIZE": -1,
"FOLLOWERS": []
},
"completed": false,
"priority": "None",
"created_by": "639283127",
"last_updated_time": "11-04-2019",
"actual_cost": 0,
"root_task_id": "170876000006360581",
"name": "Windows",
"is_docs_assocoated": false,
"last_updated_time_format": "11-04-2019 03:37:46 PM",
"tasklist": {
"name": "General",
"id": "170876000006360573"
},
"order_sequence": 2,
"status": {
"name": "Open",
"id": "170876000004668068",
"type": "open",
"color_code": "#568dd5"
},
"end_date": "11-30-2019",
"milestone_id": "170876000000000073",
"reminder_date": "11-04-2019",
"link": {
"timesheet": {
"url": "https://projectsapi.zoho.com/restapi/portal/zylker/projects/170876000006360425/tasks/170876000006360599/logs/"
},
"self": {
"url": "https://projectsapi.zoho.com/restapi/portal/zylker/projects/170876000006360425/tasks/170876000006360599/"
}
},
"completed_time_format": "09-28-2019 12:35:33 PM",
"end_date_long": 1575109800000,
"duration": "23",
"reminder_notify_users": [
{
"reminder_user": {
"value": "owner",
"key": "owner"
},
"reminder_user_type": "reminder_default_user"
},
{
"reminder_user": {
"value": "creator",
"key": "creator"
},
"reminder_user_type": "reminder_default_user"
}
],
"key": "DA3-T5",
"start_date": "11-01-2019",
"created_person": "Helen Collins",
"created_time_long": 1554694012220,
"reminder_time": "8 : 00 am",
"is_reminder_set": true,
"is_recurrence_set": false,
"created_time_format": "04-08-2019 08:56:52 AM",
"subtasks": false,
"forecasted_cost": 10120,
"duration_type": "days",
"parenttask_id": "170876000006360581",
"percent_complete": "0",
"depth": 1,
"completed_time": "09-28-2019",
"id_string": "170876000006360599",
"log_hours": {
"non_billable_hours": "0.0",
"billable_hours": "0.0"
},
"planned_cost": 10120
}
]
}Note:
- The task custom field feature is available only in the Enterprise plan.
Get My Tasks
Gets all your tasks in the portal.
Scope: ZohoProjects.tasks.READ
Request Parameters
| index | int | Index number of the task. |
| range | int | Range of the tasks. |
| owner | String or Long | Owner of the task must be provided as all or user ID. (all - String, user ID - Long) |
| status | String | Status of the task must be all or open or closed. |
| time | String | Time period of the task must be all or overdue or today or tomorrow. |
| priority | String | Priority of the task must be low or medium or high or none. |
| projects_ids | Long | The project ID of the task. Multiple project IDs must be separated by commas. |
| sort_column | String | Sort tasks using the last modified time or time of creation. (created_time / last_modified_time) |
| sort_order | String | Sort in ascending or descending order. |
| customview_id | long | Custom view ID of the task. view_id is obtained from the Get My Task Custom Views API. |
| last_modified_time | Long | Last updated time of task in milliseconds. |
| created_by | String or Long | Pass the value as all or the user ID (all - String, user ID - Long). |
| owner_email | String | Email ID of the owner. |
| reverse_order | Boolean | Pass the value as true or false. |
| filter | JSONArray | Contains maximum of two objects. |
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
Public
{
"tasks": [
{
"milestone_id": "170876000004154071",
"project": {
"name": "Donnelly Apartments Construction",
"id": 170876000004154020
},
"last_updated_time_long": 1518530491135,
"details": {
"owners": [
{
"name": "Patricia Boyle",
"id": "2060758"
},
{
"work": "40:00",
"name": "Helen Collins",
"id": "639283127"
}
]
},
"id": 170876000004685020,
"key": "DC-T158",
"created_person": "Helen Collins",
"created_time_long": 1499061211693,
"created_time": "07-02-2017",
"is_reminder_set": false,
"is_recurrence_set": false,
"created_time_format": "07-02-2017 10:53:31 PM",
"subtasks": true,
"work": "40:00",
"custom_fields": [],
"isparent": true,
"work_type": "work_hours",
"completed": false,
"priority": "None",
"created_by": "639283127",
"percent_complete": "10",
"last_updated_time": "02-13-2018",
"name": "Roof trusses construction",
"id_string": "170876000004685009",
"tasklist": {
"name": "Finish coat",
"id": 170876000004154530
},
"last_updated_time_format": "02-13-2018 06:01:31 AM",
"order_sequence": 1,
"status": {
"name": "In Progress",
"id": "170876000004771005",
"type": "open",
"color_code": "#878b8e"
}
},
{
"milestone_id": "170876000004521019",
"project": {
"name": "Pet Drive",
"id": 170876000004521000
},
"last_updated_time_long": 1507111847000,
"details": {
"owners": [
{
"name": "Helen Collins",
"id": "639283127"
}
]
},
"id": 170876000004850020,
"key": "KH-T17",
"created_person": "Patricia Boyle",
"created_time_long": 1507110576936,
"created_time": "10-04-2017",
"is_reminder_set": false,
"is_recurrence_set": false,
"created_time_format": "10-04-2017 02:49:36 AM",
"subtasks": false,
"work": "200:00",
"custom_fields": [],
"isparent": false,
"parenttask_id": "170876000004521105",
"work_type": "work_hrs_per_day",
"completed": false,
"priority": "None",
"created_by": "2060758",
"percent_complete": "0",
"depth": 1,
"last_updated_time": "10-04-2017",
"name": "test",
"id_string": "170876000004850031",
"tasklist": {
"name": "Place and venue",
"id": 170876000004521020
},
"last_updated_time_format": "10-04-2017 03:10:47 AM",
"order_sequence": 4,
"status": {
"name": "Open",
"id": "170876000004668068",
"type": "open",
"color_code": "#568dd5"
}
{
"criteria": [
{
"field_name": "start_date",
"filter_type": "between",
"from": "2021-08-25T09:00:00+05:00",
"to": "2021-08-25T09:30:00+05:00"
},
{
"field_name": "end_date",
"filter_type": "between",
"from": "2021-08-26T09:00:00+05:00",
"to": "2021-08-26T09:30:00+05:00"
}
],
"condition": "AND"
}
]}
Get Subtasks
Get all the subtasks of the given task.
Scope: ZohoProjects.tasks.READ
Request Parameters
| index | int | Index number of the subtask. |
| range | int | Range of the subtasks. |
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"tasks": [{
"created_by": "2060758",
"subtasks": false,
"start_date_long": 1408365000000,
"link": {
"self": {
"url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/
170876000001865067/tasks/170876000001868770/"
},
"timesheet": {
"url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/
170876000001865067/tasks/170876000001868770/logs/"
}
},
"tasklist": {
"id": 170876000001868599,
"name": "ERP Phase III"
},
"depth": 1,
"end_date_format": "08-19-2014 06:30 AM",
"id": 170876000001868770,
"percent_complete": "60",
"duration": "2",
"created_person": "Boyle Patricia",
"end_date": "08-19-2014",
"details": {
"owners": [{
"id": "2060556",
"name": "Hiyoshi Nakano"
}, {
"id": "2060755",
"name": "Manish Patel"
}]
},
"priority": "None",
"name": "Work on Finance Budget for this month",
"end_date_long": 1408483800000,
"start_date_format": "08-17-2014 09:30 PM",
"start_date": "08-17-2014",
"completed": false
}]
}Get Comments
Get all the task comments.
Scope: ZohoProjects.tasks.READ
Request Parameters
| index | int | Index number of the task comment. |
| range | int | Range of the task comments. |
| sort_column | String | Sort task comments using the last modified time or time of creation. (created_time/last_modified_time) |
| sort_order | String | Sort in ascending or descending order. |
| last_modified_time | Long | Last updated time of the task comment in milliseconds. |
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"comments": [
{
"created_time_long": 1574763010989,
"created_time": "11-26-2019",
"created_time_format": "11-26-2019 03:40:10 PM",
"added_by": "639283127",
"id_string": "170876000007835007",
"project": {
"name": "Donnelly Apartments Construction",
"id": "170876000004154005"
},
"added_person": "Helen Collins",
"id": 170876000007835000,
"content": "Testing Need to be Done"
},
{
"created_time_long": 1574763020347,
"created_time": "11-26-2019",
"created_time_format": "11-26-2019 03:40:20 PM",
"added_by": "639283127",
"id_string": "170876000007835011",
"project": {
"name": "Donnelly Apartments Construction",
"id": "170876000004154005"
},
"added_person": "Helen Collins",
"id": 170876000007835000,
"content": "Waiting for approval"
}
]
}Add Comment
Adds a task comment.
Scope: ZohoProjects.tasks.CREATE
If you are uploading files in the task comment, you must additionally use this Scope: ZohoPC.files.CREATE
Request Parameters
| content* | String | Comment for the task. |
| uploaddoc | File | Add file in the task comment. |
* Indicates a mandatory param
Sample Response
Status: 201 Created Content Type: application/json;charset=utf-8
{
"comments": [{
"content": "Setup Demo Video",
"id": 57000001149011,
"created_time_long": 1411756962722,
"added_by": "2060758",
"added_person": "Boyle Patricia",
"created_time_format": "09-26-2014 03:42 AM",
"created_time": "09-26-2014"
}]
}Update Comment
Updates the description of task comment.
Scope: ZohoProjects.tasks.UPDATE
Request Parameters
| content* | String | Comment for the task. |
* Indicates a mandatory param
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"comments": [{
"content": "Setup Demo Video",
"id": 57000001149011,
"created_time_long": 1411756962722,
"added_by": "2060758",
"added_person": "Boyle Patricia",
"created_time_format": "09-26-2014 03:42 AM",
"created_time": "09-26-2014"
}]
}Delete Comment
Deletes the task comment.
Scope: ZohoProjects.tasks.DELETE
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"response": "Comment Deleted Successfully"
}Get Task Attachments
Retrieve details of attachments associated to the task.
Scope: ZohoProjects.tasks.READ, ZohoPC.files.READ
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
[{
"CONTENT_TYPE": "pdf",
"AUTHOR_ID": "565296969",
"THUMBNAIL_URL": "https://download.zoho.com/paramdownloadservlet?x-service=EX&x-encoding=gzip&x-mode=2&x-resource_id=033zqca7d98669ef541348a5d2ded5d44ff3d&event-id=033zqca7d98669ef541348a5d2ded5d44ff3d_350x262&x-w=350&x-h=262",
"FILENAME": "mybook.pdf",
"UPLOADED_TIME": 1476939840136,
"DOWNLOAD_URL": "https://download.zoho.com/paramdownloadservlet?x-service=EX&event-id=033zqca7d98669ef541348a5d2ded5d44ff3d_1476939885220&x-encoding=gzip&x-resource_id=033zqca7d98669ef541348a5d2ded5d44ff3d",
"RESOURCE_ID": "033zqca7d98669ef541348a5d2ded5d44ff3d",
"OWNER": "Boyle Patricia"
}]
Add Task Attachments
Add attachments to a task.
POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/tasks/[TASKID]/attachments/
Scope: ZohoProjects.tasks.READ, ZohoPC.files.ALL
Request Parameters
| uploaddoc* | File | Add file to task comment. |
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
[{
"CONTENT_TYPE": "pdf",
"AUTHOR_ID": "565296969",
"THUMBNAIL_URL": "https://download.zoho.com/paramdownloadservlet?x-service=EX&x-encoding=gzip&x-mode=2&x-resource_id=033zqca7d98669ef541348a5d2ded5d44ff3d&event-id=033zqca7d98669ef541348a5d2ded5d44ff3d_350x262&x-w=350&x-h=262",
"FILENAME": "mybook.pdf",
"UPLOADED_TIME": 1476939840136,
"DOWNLOAD_URL": "https://download.zoho.com/paramdownloadservlet?x-service=EX&event-id=033zqca7d98669ef541348a5d2ded5d44ff3d_1476939885220&x-encoding=gzip&x-resource_id=033zqca7d98669ef541348a5d2ded5d44ff3d",
"RESOURCE_ID": "033zqca7d98669ef541348a5d2ded5d44ff3d",
"OWNER": "Boyle Patricia"
}]
Delete Task Attachments
Delete attachments associated with the task.
Scope: ZohoProjects.tasks.DELETE, ZohoPC.files.ALL
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"response": "Task Document Deleted Successfully"
}
Get All Task Layouts
View the list of all the task layouts available in your portal.
Scope: ZohoProjects.projects.READ
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"layouts": [{
"layout_name": "CustomizedLayout",
"layout_id": "932200000000304001",
"is_default": false
}, {
"layout_name": "Standard Layout",
"layout_id": "932200000000277011",
"is_default": true
}]
}
}]
}Get Task Layout Details
Fetch the details of a task layout as necessary.
Scope: ZohoProjects.projects.READ
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"layout_id": "932200000000304001",
"section_details": [{
"section_name": "Task Information",
"customfield_details": [{
"column_name": "LOGINNAME",
"is_mandatory": false,
"is_default": true,
"display_name": "Owner",
"column_type": "userpicklist"
}, {
"column_name": "CUSTOM_STATUSID",
"is_mandatory": false,
"is_default": true,
"display_name": "Status",
"column_type": "picklist"
}, {
"column_name": "PRIORITY",
"is_mandatory": false,
"is_default": true,
"display_name": "Priority",
"column_type": "picklist"
}, {
"column_name": "PERCENTCOMPLETE",
"is_mandatory": false,
"is_default": true,
"display_name": "Percentcomplete",
"column_type": "singleline"
}],
"is_default": false
}, {
"section_name": "New Section",
"customfield_details": [{
"column_name": "UDF_CHAR1",
"is_mandatory": false,
"is_default": false,
"display_name": "My_Field",
"column_type": "singleline"
}, {
"column_name": "UDF_DATE1",
"is_mandatory": false,
"is_default": false,
"display_name": "My_Date",
"column_type": "date"
}],
"is_default": false
}],
"status_details": [{
"is_start": true,
"color": "#eb5768",
"name": "Open",
"id": "932200000000277068",
"is_default": true,
"type": "open"
}, {
"is_start": false,
"color": "#8eb15a",
"name": "Closed",
"id": "932200000000277071",
"is_default": true,
"type": "closed"
}, {
"is_start": false,
"color": "#935b1a",
"name": "To be Tested",
"id": "932200000000345019",
"is_default": false,
"type": "open"
}]
}
}]
}Get Task Custom Views
Gets all the task custom views.
Scope: ZohoProjects.tasks.READ
Request Parameters
| index | int | Index number of the task view. |
| range | int | Range of the task view. |
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"views": [
{
"edit_permission": false,
"is_favorite": false,
"name": "All Tasks",
"id": "0",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "All Open",
"id": "6",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "All Closed",
"id": "7",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "All Overdue & Open",
"id": "38",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "Not Assigned",
"id": "21",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "Unscheduled Tasks",
"id": "10",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "My Open",
"id": "19",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "My Closed",
"id": "20",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "My Overdue & Open",
"id": "37",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "Today Tasks",
"id": "23",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "Tasks I Follow",
"id": "25",
"is_default": true
}
]
}Get My Task Custom Views
Gets all the task custom views that you own.
Scope: ZohoProjects.tasks.READ
Request Parameters
| index | int | Index number of the task view. |
| range | int | Range of the task view. |
Sample Response
Status: 200 Success Content Type: application/json;charset=utf-8
{
"views": [
{
"edit_permission": false,
"is_favorite": false,
"name": "All Tasks",
"id": "0",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "All Open",
"id": "6",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "All Closed",
"id": "7",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "All Overdue & Open",
"id": "38",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "Not Assigned",
"id": "21",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "Unscheduled Tasks",
"id": "10",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "My Open",
"id": "19",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "My Closed",
"id": "20",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "My Overdue & Open",
"id": "37",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "Today Tasks",
"id": "23",
"is_default": true
},
{
"edit_permission": false,
"is_favorite": false,
"name": "Tasks I Follow",
"id": "25",
"is_default": true
}
]
}Set Dependency Between Tasks
Set dependency between two tasks.
Scope: ZohoProjects.tasks.READ
Request Parameters
| taskid* | long | ID of the task |
| predids | long | Predecessor ID of the task |
| projId* | long | ID of the project |
| toupdate* | string | Set the value to dependencyset |
| childprojId | long | Project ID of the child task |
| dependencytype | string | FS, SS, SF, or FF |
| gapvalue | days/hours | lag time |
| gaptype | string | format of lag time in days or hours |
* Indicates a mandatory param
Sample Response
Status: 200 Success
Content Type: application/json;charset=utf-8
{
"PROJECTID": "1288763000000029023",
"RESULT": "SUCCESS",
"GANTTRESPONSE": {
"PREDECESSORS": {
"1288763000000072001": {
"PROJECTID": 1288763000000029000,
"DEPENDENCYTYPE": "FS"
}
},
"UPDATEDCHILDREN": {
"1288763000000072007": {
"DURINDAYS": 1,
"STARTDATE": "2019,9,05,00,00",
"STARTDATE_LONG": "1567666800000",
"ENDTDATE_LONG": "1567666800000",
"ENDDATE": "2019,9,05,00,00"
}
}
}
}
]}Update Lag between Dependent Tasks
Update lag between dependent tasks.
Scope: ZohoProjects.tasks.READ
Request Parameters
| taskid* | long | ID of the task |
| predids | long | Predecessor ID of the task |
| projId* | long | ID of the project |
| toupdate* | string | Set the value to gapupdate |
| gapvalue | days/hours | lag time |
| gaptype | string | format of lag time in days or hours |
Sample Response
Status: 200 Success
Content Type: application/json;charset=utf-8
{
"PROJECTID": "1288763000000029023",
"RESULT": "SUCCESS",
"GANTTRESPONSE": {
"PREDECESSORS": {
"1288763000000072001": {
"GAPTYPE": "Days",
"PROJECTID": 1288763000000029000,
"GAPTYPE_FORMATTED": "day(s)",
"DEPENDENCYTYPE": "FS",
"GAPVALUE": 4
}
},
"PREDCHILDS": {},
"UPDATEDCHILDREN": {
"1288763000000072007": {
"DURINDAYS": 1,
"STARTDATE": "2019,9,09,00,00",
"STARTDATE_LONG": "1568012400000",
"ENDTDATE_LONG": "1568012400000",
"ENDDATE": "2019,9,09,00,00"
}
}
}
}
]}Update Dependency Type
Update dependency type between tasks.
Scope: ZohoProjects.tasks.READ
Request Parameters
| taskid* | long | ID of the task |
| predids | long | Predecessor ID of the task |
| projId* | long | ID of the project |
| toupdate* | string | Set the value to dependencytypeupdate |
| dependencytype | string | FS, SS, SF, or FF |
* Indicates a mandatory param
Sample Response
Status: 200 Success
Content Type: application/json;charset=utf-8
{
"PROJECTID": "1288763000000029023",
"RESULT": "SUCCESS",
"GANTTRESPONSE": {
"PREDECESSORS": {
"1288763000000072001": {
"GAPTYPE": "Days",
"PROJECTID": 1288763000000029000,
"GAPTYPE_FORMATTED": "day(s)",
"DEPENDENCYTYPE": "FF",
"GAPVALUE": 4
}
},
"PREDCHILDS": {},
"UPDATEDCHILDREN": {
"1288763000000072007": {
"DURINDAYS": 1,
"STARTDATE": "2019,9,08,00,00",
"STARTDATE_LONG": "1567926000000",
"ENDTDATE_LONG": "1567926000000",
"ENDDATE": "2019,9,08,00,00"
}
}
}
}
]}Remove Dependency
Remove dependency between tasks.
Scope: ZohoProjects.tasks.READ
Request Parameters
| taskid* | long | ID of the task |
| predids | long | Predecessor ID of the task |
| projId* | long | ID of the project |
| toupdate* | string | Set the value to removedependency |
* Indicates a mandatory param
Sample Response
Status: 200 Success
Content Type: application/json;charset=utf-8
{
"PROJECTID": "1288763000000029023",
"RESULT": "SUCCESS"
}
]}Follow Task
Follow a task in the given project
Scope: ZohoProjects.tasks.UPDATE
Request Parameters
| followers | long | User ID for multiple followers must be separated by commas. |
Sample Response
Status: 200 Success
Content Type: application/json;charset=utf-8
{
"tasks": [
{
"end_date": "04-21-2021",
"is_sprints_task": false,
"milestone_id": "170876000010385161",
"link": {
"timesheet": {
"url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/170876000010385143/tasks/170876000010385355/logs/"
},
"self": {
"url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/170876000010385143/tasks/170876000010385355/"
}
},
"description": "",
"start_date_long": 1618885800000,
"is_comment_added": false,
"end_date_long": 1619001000000,
"end_date_format": "04-21-2021 04:00:00 PM",
"duration": "2",
"last_updated_time_long": 1612507314000,
"is_forum_associated": false,
"details": {
"owners": [
{
"zpuid": 170876000005155070,
"name": "Einhard Klein",
"id": "2060761",
"email": "dieterk@zillum.com"
}
]
},
"id": 170876000010385340,
"key": "GV1-T60",
"start_date": "04-20-2021",
"created_person": "Charu Mathi S Charu Mathi S",
"created_time_long": 1611302141327,
"created_time": "01-22-2021",
"is_reminder_set": false,
"is_recurrence_set": false,
"created_time_format": "01-22-2021 01:25:41 PM",
"subtasks": false,
"work": "16:00",
"custom_fields": [],
"isparent": false,
"duration_type": "days",
"start_date_format": "04-20-2021 08:00:00 AM",
"work_type": "work_hrs_per_day",
"task_followers": {
"FOLUSERS": "639281665,668494696",
"FOLLOWERSIZE": 2,
"FOLLOWERS": [
{
"FPHOTO": "https://contacts.zoho.com/file?fs=thumb&exp=600&ID=639281665",
"FOLLOWERID": "639281665",
"FNAME": "Lin Lin Brenn"
},
{
"FPHOTO": "https://contacts.zoho.com/file?fs=thumb&exp=600&ID=668494696",
"FOLLOWERID": "668494696",
"FNAME": "Charu Mathi S Charu Mathi S"
}
]
},
"completed": false,
"priority": "Low",
"created_by": "668494696",
"percent_complete": "20",
"tags": [
{
"name": "Q2",
"id": "170876000010385441",
"color_class": "bg-tag8"
}
],
"last_updated_time": "02-05-2021",
"name": "Basic division",
"is_docs_assocoated": false,
"id_string": "170876000010385355",
"log_hours": {
"non_billable_hours": "0.0",
"billable_hours": "0.0"
},
"billingtype": "None",
"last_updated_time_format": "02-05-2021 12:11:54 PM",
"tasklist": {
"name": "Math",
"id": "170876000010385293"
},
"order_sequence": 3,
"status": {
"name": "Open",
"id": "170876000004668068",
"type": "open",
"color_code": "#08aeea"
}
}
]
}
Unfollow Task
Unfollow a task in the given project
Scope: ZohoProjects.tasks.UPDATE
Sample Response
Status: 200 Success
Content Type: application/json;charset=utf-8
{
"tasks": [
{
"end_date": "04-21-2021",
"is_sprints_task": false,
"milestone_id": "170876000010385161",
"link": {
"timesheet": {
"url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/170876000010385143/tasks/170876000010385355/logs/"
},
"self": {
"url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/170876000010385143/tasks/170876000010385355/"
}
},
"description": "",
"start_date_long": 1618885800000,
"is_comment_added": false,
"end_date_long": 1619001000000,
"end_date_format": "04-21-2021 04:00:00 PM",
"duration": "2",
"last_updated_time_long": 1612507388000,
"is_forum_associated": false,
"details": {
"owners": [
{
"zpuid": 170876000005155070,
"name": "Einhard Klein",
"id": "2060761",
"email": "dieterk@zillum.com"
}
]
},
"id": 170876000010385340,
"key": "GV1-T60",
"start_date": "04-20-2021",
"created_person": "Charu Mathi S Charu Mathi S",
"created_time_long": 1611302141327,
"created_time": "01-22-2021",
"is_reminder_set": false,
"is_recurrence_set": false,
"created_time_format": "01-22-2021 01:25:41 PM",
"subtasks": false,
"work": "16:00",
"custom_fields": [],
"isparent": false,
"duration_type": "days",
"start_date_format": "04-20-2021 08:00:00 AM",
"work_type": "work_hrs_per_day",
"task_followers": {
"FOLUSERS": "639281665,668494696",
"FOLLOWERSIZE": 2,
"FOLLOWERS": [
{
"FPHOTO": "https://contacts.zoho.com/file?fs=thumb&exp=600&ID=639281665",
"FOLLOWERID": "639281665",
"FNAME": "Lin Lin Brenn"
},
{
"FPHOTO": "https://contacts.zoho.com/file?fs=thumb&exp=600&ID=668494696",
"FOLLOWERID": "668494696",
"FNAME": "Charu Mathi S Charu Mathi S"
}
]
},
"completed": false,
"priority": "Low",
"created_by": "668494696",
"percent_complete": "20",
"tags": [
{
"name": "Q2",
"id": "170876000010385441",
"color_class": "bg-tag8"
}
],
"last_updated_time": "02-05-2021",
"name": "Basic division",
"is_docs_assocoated": false,
"id_string": "170876000010385355",
"log_hours": {
"non_billable_hours": "0.0",
"billable_hours": "0.0"
},
"billingtype": "None",
"last_updated_time_format": "02-05-2021 12:13:08 PM",
"tasklist": {
"name": "Math",
"id": "170876000010385293"
},
"order_sequence": 3,
"status": {
"name": "Open",
"id": "170876000004668068",
"type": "open",
"color_code": "#08aeea"
}
}
]
}
Associate Bugs
Associate related bugs to a task
Scope: ZohoProjects.tasks.CREATE
Request Parameters
| bug_ids* | JSON Array | ID of the bugs |
* Indicates a mandatory param
Sample Response
Status :200 success
Content Type: application/json;charset=utf-8
{
"is_task_bug_mapped", true
}Dissociate Bugs
Dissociate bugs from a task
Scope: ZohoProjects.tasks.DELETE
Sample Response
Status : 204 success
Move Tasks
Moves a task from one tasklist to another tasklist. The target tasklist can be of the same project or different project.
Scope: ZohoProjects.tasks.UPDATE
Request Parameters
| from_todolist* | Long | ID of the tasklist in which the task exists. |
| to_todolist* | Long | ID of the tasklist to which the task has to be moved. |
* Indicates a mandatory param
Sample Response
Status: 200 Success
Content Type: application/json;charset=utf-8
{
"message": "task moved successfully"
}
Task Status History from Portal
Fetches status history of tasks from the Portal.
Scope: ZohoProjects.tasks.READ
Request Parameters
| Param | Data Type | Description |
| index | int | Index number of the task. |
| range | int | Range of the tasks. |
| last_modified_time | long | Time in milliseconds. |
Sample Response
[
{
"name": "CART2",
"status_history": [
{
"updated_on": "2021-12-15T06:11:09.381Z",
"updated_status": {
"name": "Waiting",
"id": "1287511000000171001"
},
"updated_by": {
"name": "Malathie C",
"id": "668495354",
"email": "malathie.c@zohocorp.com",
"zp_id": "1287511000000020034"
},
"transition_time": {
"duration": "5 days 20 hrs 56 mins 37 secs",
"duration_in_millis": "507397317"
},
"previous_status": {
"name": "Open",
"id": "1287511000000016068"
}
}
],
"project": {
"id": "1287511000000465161"
},
"id": "1287511000000478003",
"status": {
"name": "Waiting",
"id": "1287511000000171001"
}
},
{
"name": "Task2",
"status_history": [
{
"updated_on": "2021-12-15T06:11:25.675Z",
"updated_status": {
"name": "In Progress",
"id": "1287511000000027065"
},
"updated_by": {
"name": "Malathie C",
"id": "668495354",
"email": "malathie.c@zohocorp.com",
"zp_id": "1287511000000020034"
},
"transition_time": {
"duration": "5 secs",
"duration_in_millis": "5478"
},
"previous_status": {
"name": "Open",
"id": "1287511000000016068"
}
}
],
"project": {
"id": "1287511000000465161"
},
"id": "1287511000000507023",
"status": {
"name": "In Progress",
"id": "1287511000000027065"
}
}
]
Task Status History from Project
Fetches status history of tasks from the Project.
Scope: ZohoProjects.tasks.READ
Request Parameters
| Param | Data Type | Description |
| index | int | Index number of the task. |
| range | int | Range of the tasks. |
| last_modified_time | long | Time in milliseconds. |
Sample Response
[
{
"name": "CART2",
"status_history": [
{
"updated_on": "2021-12-15T06:11:09.381Z",
"updated_status": {
"name": "Waiting",
"id": "1287511000000171001"
},
"updated_by": {
"name": "Malathie C",
"id": "668495354",
"email": "malathie.c@zohocorp.com",
"zp_id": "1287511000000020034"
},
"transition_time": {
"duration": "5 days 20 hrs 56 mins 37 secs",
"duration_in_millis": "507397317"
},
"previous_status": {
"name": "Open",
"id": "1287511000000016068"
}
}
],
"project": {
"id": "1287511000000465161"
},
"id": "1287511000000478003",
"status": {
"name": "Waiting",
"id": "1287511000000171001"
}
},
{
"name": "Task2",
"status_history": [
{
"updated_on": "2021-12-15T06:11:25.675Z",
"updated_status": {
"name": "In Progress",
"id": "1287511000000027065"
},
"updated_by": {
"name": "Malathie C",
"id": "668495354",
"email": "malathie.c@zohocorp.com",
"zp_id": "1287511000000020034"
},
"transition_time": {
"duration": "5 secs",
"duration_in_millis": "5478"
},
"previous_status": {
"name": "Open",
"id": "1287511000000016068"
}
}
],
"project": {
"id": "1287511000000465161"
},
"id": "1287511000000507023",
"status": {
"name": "In Progress",
"id": "1287511000000027065"
}
}
]