Tasks
Getting the list of all account tasks through API: get_all_tasks
Sample get_all_tasks request
?action=get_all_tasksReturns all incomplete and completed tasks of all projects *except tasks with delayed publication *subtasks can be returned with extra=subtasks parameter
Optional parameters:
- extra — additional task info (can be specified with commas, for example extra=text,files): 
- text or html — description in text or html format 
- files — attached files info (in task description) 
- comments — five last comments 
- relations — dependencies with other tasks 
- subtasks — list of subtasks (in child dataset) 
- archive — tasks of archived projects 
- filter=active — incomplete tasks (completed tasks filtering is not available) 
Returned data:
- id — task ID 
- name — task name 
- page — task link 
- status — state (active/done — incomplete/completed) 
- priority — priority (value range: 0..10) 
- user_from and user_to — task author and task executive 
- project — project info 
- text — task description in text or html format (if request contains corresponding extra parameter) 
- date_added — creation date and time 
- date_start — start date (if specified) 
- date_end — due date (if specified) 
- date_closed — closing date and time 
- time_end — due time (if specified) 
- max_time and max_money — time and financial estimates (if specified) 
- tags — array in id: name format for task tags (if specified) 
- files — attached files info (if request contains extra=files parameter): 
- id — file ID (can be used for downloading through download method) 
- size — file size (in bytes) 
- name — file name with its extension 
- page — part of the link for direct download (for the full path put the address of your account in front, for example https://youraccount.worksection.com/download/123456) 
- relations — dependencies with other tasks (if request contains extra=relations parameter): 
- from — inbound dependencies: 
- type — dependency type finish-to-start/start-to-start 
- task — linked task 
- to — outbound dependencies (similar to from) 
- child — subtasks data (if request contains extra=subtasks parameter) 
Sample JSON response
If the request succeeds, the response will contain ok status and the following data:
{
    "status": "ok",
    "data": [
        {
            "id": "TASK_ID",
            "name": "TASK_NAME_1",
            "page": "/project/PROJECT_ID/TASK_ID/",
            "status": "done",
            "priority": "0..10",
            "user_from": {
                "id": "USER_ID",
                "email": "USER_EMAIL",
                "name": "USER_NAME"
            },
            "user_to": {
                "id": "USER_ID",
                "email": "USER_EMAIL",
                "name": "USER_NAME"
            },
            "project": {
                "id": "PROJECT_ID",
                "name": "PROJECT_NAME",
                "page": "/project/PROJECT_ID/"
            },
            "text": "TASK_TEXT",
            "date_added": "YYYY—MM—DD HH:II",
            "date_start": "YYYY—MM—DD",
            "date_end": "YYYY—MM—DD",
            "date_closed": "YYYY—MM—DD HH:II",
            "time_end": "HH:II",
            "max_time": "50",
            "max_money": "100",
            "tags": {
                "TAG_ID": "TAG_NAME_1",
                "TAG_ID": "TAG_NAME_2"
            },
            "files": [
                {
                    "id": "FILE_ID",
                    "size": "FILE_SIZE",
                    "name": "Example.docx",
                    "page": "/download/FILE_ID"
                }
            ],
            "relations": {
                "to": [
                    {
                        "type": "finish-to-start",
                        "task": {
                            "id": "SUBTASK_ID",
                            "name": "SUBTASK_NAME",
                            "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                            "status": "active",
                            "priority": "0..10"
                        }
                    }
                ],
                "from": [
                    {
                        "type": "start-to-start",
                        "task": {
                            "id": "SUBTASK_ID",
                            "name": "SUBTASK_NAME",
                            "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                            "status": "done",
                            "priority": "0..10"
                        }
                    }
                ]
            },
            "child": [
                {
                    "id": "SUBTASK_ID",
                    "name": "SUBTASK_NAME_1",
                    "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                    ... ... ...,
                    "child": [
                        {
                         "id": "SUBTASK_ID",
                         "name": "SUBTASK_NAME_2",
                         "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                         ... ... ...
                        }
                    ]
                }
            ]    
        },
        {
            "id": "TASK_ID",
            "name": "TASK_NAME_2",
            "page": "/project/PROJECT_ID/TASK_ID/",
            ... ... ...
        }
    ]
}Getting the list of project tasks through API: get_tasks
Sample get_tasks request
?action=get_tasks&id_project=PROJECT_IDReturns all incomplete and completed tasks of selected project
*except tasks with delayed publication
*subtasks can be returned with extra=subtasks parameter
Required parameters:
- id_project — project ID 
Optional parameters:
- extra — additional task info (can be specified with commas, for example extra=text,files): 
- text or html — description in text or html format 
- files — attached files info (in task description) 
- comments — five last comments 
- relations — dependencies with other tasks 
- subtasks — subtasks list (in child dataset) 
- subscribers — subscribers list 
- filter=active — incomplete tasks (completed tasks filtering is not available) 
Returned data on tasks/subtasks:
- id — task ID 
- name — task name 
- page — task link 
- status — state (active/done — incomplete/completed) 
- priority — priority (value range: 0..10) 
- user_from and user_to — task author and task executive 
- project — project info 
- text — task description in text or html format (if request contains corresponding extra parameter) 
- date_added — creation date and time 
- date_start — start date (if specified) 
- date_end — due date (if specified) 
- date_closed — closing date and time 
- time_end — due time (if specified) 
- max_time and max_money — time and financial estimates (if specified) 
- tags — array in id: name format for task tags (if specified) 
- files — attached files info (if request contains extra=files parameter): 
- id — file ID (can be used for downloading through download method) 
- size — file size (in bytes) 
- name — file name with its extension 
- page — part of the link for direct download (for the full path put the address of your account in front, for example https://youraccount.worksection.com/download/123456) 
- subscribers — subscribers list (if request contains extra=subscribers parameter) 
- relations — dependencies with other tasks (if request contains extra=relations parameter): 
- from — inbound dependencies: 
- type — dependency type finish-to-start/start-to-start 
- task — linked task 
- to — outbound dependencies (similar to from) 
- child — subtasks data (if request contains extra=subtasks parameter) 
Sample JSON response
If the request succeeds, the response will contain ok status and the following data:
{
    "status": "ok",
    "data": [
        {
            "id": "TASK_ID",
            "name": "TASK_NAME_1",
            "page": "/project/PROJECT_ID/TASK_ID/",
            "status": "done",
            "priority": "0..10",
            "user_from": {
                "id": "USER_ID",
                "email": "USER_EMAIL",
                "name": "USER_NAME"
            },
            "user_to": {
                "id": "USER_ID",
                "email": "USER_EMAIL",
                "name": "USER_NAME"
            },
            "project": {
                "id": "PROJECT_ID",
                "name": "PROJECT_NAME",
                "page": "/project/PROJECT_ID/"
            },
            "text": "TASK_TEXT",
            "date_added": "YYYY—MM—DD HH:II",
            "date_start": "YYYY—MM—DD",
            "date_end": "YYYY—MM—DD",
            "date_closed": "YYYY—MM—DD HH:II",
            "time_end": "HH:II",
            "max_time": "50",
            "max_money": "100",
            "tags": {
                "TAG_ID": "TAG_NAME_1",
                "TAG_ID": "TAG_NAME_2"
            },
            "files": [
                {
                    "id": "FILE_ID",
                    "size": "FILE_SIZE",
                    "name": "Example.docx",
                    "page": "/download/FILE_ID"
                }
            ],
            "subscribers": [
                {
                    "id": "USER_ID",
                    "email": "USER_EMAIL",
                    "name": "USER_NAME_1"
                },
                {
                    "id": "USER_ID",
                    "email": "USER_EMAIL",
                    "name": "USER_NAME_2"
                }
            ],
            "relations": {
                "to": [
                    {
                        "type": "finish-to-start",
                        "task": {
                            "id": "SUBTASK_ID",
                            "name": "SUBTASK_NAME",
                            "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                            "status": "active",
                            "priority": "0..10"
                        }
                    }
                ],
                "from": [
                    {
                        "type": "start-to-start",
                        "task": {
                            "id": "SUBTASK_ID",
                            "name": "SUBTASK_NAME",
                            "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                            "status": "done",
                            "priority": "0..10"
                        }
                    }
                ]
            },
            "child": [
                {
                    "id": "SUBTASK_ID",
                    "name": "SUBTASK_NAME_1",
                    "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                    ... ... ...,
                    "child": [
                        {
                         "id": "SUBTASK_ID",
                         "name": "SUBTASK_NAME_2",
                         "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                         ... ... ...
                        }
                    ]
                }
            ]    
        },
        {
            "id": "TASK_ID",
            "name": "TASK_NAME_2",
            "page": "/project/PROJECT_ID/TASK_ID/",
            ... ... ...
        }
    ]
}Getting a project task through API: get_task
Sample get_task request
?action=get_task&id_task=TASK_IDReturns selected incomplete or completed (sub)task
*except (sub)tasks with delayed publication
*task along with its subtasks can be returned with extra=subtasks parameter
Required parameters:
- id_task — task ID 
Optional parameters:
- extra — additional task info (can be specified with commas, for example extra=text,files): 
- text or html — description in text or html format 
- files — attached files info (in task description) 
- comments — five last comments 
- relations — dependencies with other tasks 
- subtasks — subtasks list (in child dataset) 
- subscribers — subscribers list 
- filter=active — only incomplete subtasks (when using extra=subtasks parameter) Completed subtasks filtering is not available 
Returned data:
- id — task ID 
- name — task name 
- page — task link 
- status — state (active/done — incomplete/completed) 
- priority — priority (value range: 0..10) 
- user_from and user_to — task author and task executive 
- project — project info 
- parent — parent task (if request contains subtask ID) 
- text — task description in text or html format (if request contains corresponding extra parameter) 
- date_added — creation date and time 
- date_start — start date (if specified) 
- date_end — due date (if specified) 
- date_closed — closing date and time 
- time_end — due time (if specified) 
- max_time and max_money — time and financial estimates (if specified) 
- tags — array in id: name format for task tags (if specified) 
- files — attached files info (if request contains extra=files parameter): 
- id — file ID (can be used for downloading through download method) 
- size — file size (in bytes) 
- name — file name with its extension 
- page — part of the link for direct download (for the full path put the address of your account in front, for example https://youraccount.worksection.com/download/123456) 
- subscribers — subscribers list (if request contains extra=subscribers parameter) 
- relations — dependencies with other tasks (if request contains extra=relations parameter): 
- from — inbound dependencies: 
- type — dependency type finish-to-start/start-to-start 
- task — linked task 
- to — outbound dependencies (similar to from) 
- child — subtasks data (only if task ID is specified and request contains extra=subtasks parameter) 
Sample JSON response If the request succeeds, the response will contain ok status and the following data:
*for a task
{
    "status": "ok",
    "data": {
        "id": "TASK_ID",
        "name": "TASK_NAME",
        "page": "/project/PROJECT_ID/TASK_ID/",
        "status": "active",
        "priority": "0..10",
        "user_from": {
            "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "user_to": {
            "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "project": {
            "id": "PROJECT_ID",
            "name": "PROJECT_NAME",
            "page": "/project/PROJECT_ID/"
        },
        "text": "TASK_TEXT",
        "date_added": "YYYY-MM-DD HH:II",
        "date_start": "YYYY-MM-DD",
        "date_end": "YYYY-MM-DD",
        "date_closed": "YYYY-MM-DD HH:II",
        "time_end": "HH:II",
        "max_time": "25",
        "max_money": "50",
        "tags": {
            "TAG_ID": "TAG_NAME_1",
            "TAG_ID": "TAG_NAME_2"
        },
        "files": [
            {
                "id": "FILE_ID",
                "size": "FILE_SIZE",
                "name": "Example.docx",
                "page": "/download/FILE_ID"
            }
        ],
        "subscribers": [
            {
                 "id": "USER_ID",
                 "email": "USER_EMAIL",
                 "name": "USER_NAME_1"
            },
            {
                 "id": "USER_ID",
                 "email": "USER_EMAIL",
                 "name": "USER_NAME_2"
            }
        ],
        "relations": {
            "to": [
                {
                     "type": "finish-to-start",
                     "task": {
                         "id": "TASK_ID",
                         "name": "TASK_NAME",
                         "page": "/project/PROJECT_ID/TASK_ID/",
                         "status": "active",
                         "priority": "0..10"
                     }
                }
            ],
            "from": [
                {
                     "type": "start-to-start",
                     "task": {
                         "id": "TASK_ID",
                         "name": "TASK_NAME",
                         "page": "/project/PROJECT_ID/TASK_ID/",
                         "status": "done",
                         "priority": "0..10"
                     }
                }
            ]
        },
        "child": [
            {
                "id": "SUBTASK_ID",
                "name": "SUBTASK_NAME_1",
                "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                "status": "active",
                "priority": "0..10",
                "child": [
                    {
                     "id": "SUBTASK_ID",
                     "name": "SUBTASK_NAME_2",
                     "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
                     "status": "done",
                     "priority": "0..10"
                    }
                ]
            }
        ]
    }
}*for a subtask/sub-subtask (identical response structure, only with additional parent dataset and without child dataset)
{
    "status": "ok",
    "data": {
        "id": "SUB-SUBTASK_ID",
        "name": "SUB-SUBTASK_NAME",
        "page": "/project/PROJECT_ID/TASK_ID/SUB-SUBTASK_ID/", 
        ... ... ...,
        "project": {
            ... ... ...
        },
        "parent": {
            "id": "SUBTASK_ID",
            "name": "SUBTASK_NAME",
            "page": "/project/PROJECT_ID/SUBTASK_ID/",
            "status": "active",
            "priority": "0..10",
            "parent": {
                "id": "TASK_ID",
                "name": "TASK_NAME",
                "page": "/project/PROJECT_ID/TASK_ID/",
                "status": "active",
                "priority": "0..10",
            }
        },
        "text": ...,
        ... ... ...
        "relations": {
            ... ... ...
        }
    }
}Creating a task through API: post_task
Sample post_task request
?action=post_task&id_project=PROJECT_ID&title=TASK_NAMECreates (sub)task in selected project *allows files attaching to (sub)task description (see details)
Required parameters:
- id_project — project ID 
- title — task name 
Optional parameters:
- id_parent — parent task ID (creating subtask) 
- email_user_from — task author email (will be set automatically if using access token) 
- email_user_to — task executive email, additional possible values: ANY – "Anyone", NOONE or not specified – "Executive isn't assigned" 
- priority — priority (value range: 0..10) 
- text — task description 
- todo⦋⦌ — checkbox item added to task description (combine several items to get checklist, example: todo⦋⦌=case1&todo⦋⦌=case2) 
- datestart — start date in DD.MM.YYYY format 
- dateend — due date in DD.MM.YYYY format 
- subscribe — user emails separated by commas, who will be subscribed to the task 
- hidden — user emails separated by commas, who will have access to this task, while it will be hidden for others 
- mention — user emails separated by commas, who will be mentioned at the end of the task description 
- max_time — time estimates 
- max_money — financial estimates 
- tags — task tags separated by commas (for example: tags=TAG1,TAG2) You can specify names (if they are unique) or their IDs (can be obtained through get_task_tags method) 
Sample JSON response
If the request succeeds, the response will contain ok status and the following data:
{    "status": "ok",    "data": {        "id": "TASK_ID",        "name": "TASK_NAME",        "page": "/project/PROJECT_ID/TASK_ID/",        "status": "active",        "priority": "0..10",        "user_from": {            "id": "USER_ID",              "email": "USER_EMAIL",            "name": "USER_NAME"        },        "user_to": {
            "id": "USER_ID",            "email": "USER_EMAIL",            "name": "USER_NAME"        },        "project": {            "id": "PROJECT_ID",            "name": "PROJECT_NAME",            "page": "/project/PROJECT_ID/"        },        "text": "TASK_TEXT",        "date_added": "YYYY—MM—DD HH:II",        "date_start": "YYYY—MM—DD",        "date_end": "YYYY—MM—DD",        "max_time": 40,        "max_money": 200,
        "tags": {
            "TAG_ID": "TAG_NAME_1",
            "TAG_ID": "TAG_NAME_2",
        }    }}Updating a task through API: update_task
Sample update_task request
?action=update_task&id_task=TASK_ID&email_user_to=USER_EMAILUpdates selected incomplete or completed (sub)task parameters
Required parameters:
- id_task — task ID 
Optional parameters:
- email_user_to — task executive email, additional possible values: ANY – "Anyone", NOONE or not specified – "Executive isn't assigned" 
- priority — priority (value range: 0..10) 
- title — task name 
- datestart — start date in DD.MM.YYYY format 
- dateend — due date in DD.MM.YYYY format 
- dateclosed — closing date in DD.MM.YYYY format 
- max_time — time estimates 
- max_money — financial estimates 
Parameters unavailable for editing:
- email_user_from — task author 
- text — task description 
- todo — checklist 
- subscribe — users, who will be subscribed to the task 
- hidden — users, who will have access to this task, while it will be hidden for others 
- tags — task tags (can be updated through update_task_tags method) 
Sample JSON response
If the request succeeds, the response will contain ok status and the following data:
{    "status": "ok",    "data": {        "id": "TASK_ID",        "name": "TASK_NAME",        "page": "/project/PROJECT_ID/TASK_ID/",        "status": "active",        "priority": "0..10",        "user_from": {
            "id": "USER_ID",
            "email": "USER_EMAIL",            "name": "USER_NAME"        },        "user_to": {
            "id": "USER_ID",
            "email": "USER_EMAIL",            "name": "USER_NAME"        },        "project": {            "id": "PROJECT_ID",            "name": "PROJECT_NAME",            "page": "/project/PROJECT_ID/"        },        "date_added": "YYYY-MM-DD HH:II",        "date_start": "YYYY-MM-DD",        "date_end": "YYYY-MM-DD",
        "max_time": 40,
        "max_money": 200,
        "tags": {
            "TAG_ID": "TAG_NAME_1",
            "TAG_ID": "TAG_NAME_2"
        }    }}Closing a task through API: complete_task
Sample complete_task request
?action=complete_task&id_task=TASK_IDCompletes selected (sub)task
Required parameters:
- id_task — task ID 
Sample JSON response
If the request succeeds, the response will contain ok status
{
    "status": "ok"
}
Reopening a task through API: reopen_task
Sample reopen_task request
?action=reopen_task&id_task=TASK_IDReopens selected completed (sub)task
Required parameters:
- id_task — task ID 
Sample JSON response
If the request succeeds, the response will contain ok status
{
    "status": "ok"
}
Searching tasks through API: search_tasks
Sample search_tasks request
?action=search_tasks&id_project=PROJECT_ID&filter=(name has 'Report' or
name has 'Approval') and (dateend>'25.05.2021' and dateend<'31.05.2021')Returns tasks that meet search query
Conditional parameters: *at least one of them required
- id_project — project ID 
- id_task — task ID 
- email_user_from — task author email 
- email_user_to — task executive email 
- filter — search query (see description below) 
Optional parameters:
- status — task state, possible values: active/done — incomplete/completed 
- extra — additional task info (can be specified with commas, for example extra=text,files): 
- text or html — description in text or html format 
- files — attached files info (in task description) 
Integer fields:
- id=TASK_ID — returns particular task 
- project=PROJECT_ID — returns tasks of a particular project 
- parent=TASK_ID — returns subtasks of a particular parent task 
Equality and range operators for integer fields: =, in
project{=}2456id {in} (1234, 1240)String fields:
- name — task name 
Full or partial match for string fields: =, has
name{=}'Task Report'name {has} 'Report'Date fields:
- dateadd — task creation date in 'DD.MM.YYYY' format 
- datestart — task start date in 'DD.MM.YYYY' format 
- dateend — task due date or end date in 'DD.MM.YYYY' format 
- dateclose — task closing date in 'DD.MM.YYYY' format 
Relational operators for date fields: >, <, >=, <=, ! =, =
dateadd{=}'01.05.2021'Query conditions can be combined with parentheses () and logical operations and, or (only in lowercase)
Sample filter query
&filter=(name has 'Report' or name has 'Approval') and
(dateend>'25.05.2021' and dateend<'31.05.2021')Last updated
Was this helpful?