List
Note
Keep in mind: the items in the list are returned according to the access level of the token owner.
Full list with pagination
POST https://do.workzeal.com/common/list/paging/2?columns=id,note
Query Parameters
| Name | Type | Description |
|---|---|---|
| columns* | String | List of columns |
| records_onpage | Int | Records per page, but no more than 500 |
| page | Int | Page number |
| sorting_column | String | Sorting column |
| sorting_direction | Int | Sorting: 0 Asc, 1 Desc |
curl --location --request POST 'https://do.workzeal.com/common/list/paging/2?columns=id,note,status_id,date_start,user_id,company_id&records_onpage=50&page=1' \
--header 'Authorization: Bearer XXXX-XXXXXXX-XXXXXXX' \
--header 'Content-Type: application/json' \
--data-raw 'null'
Columns
| Name | Description |
|---|---|
| id | Task ID |
| note | Task text |
| status_id | Status: 1 for in progress, 2 for completed |
| status | Status as text |
| type_id | Task type ID |
| type | Task type as text |
| date_start | Start date/time |
| date_finish | End date/time |
| result | Completion result |
| user_id | Assignee ID |
| user_name | Assignee |
| company_id | Client ID |
| company_name | Client name |
| deal_id | Deal ID |
| contact_id | Contact person ID |
| is_hot | Urgent task flag |
| tags | Tags |
Filtering
Filters are added to the request as query parameters and can be combined with each other:
- company_id, client ID, only tasks of one company:
?company_id=368132 - deal_id, deal ID, only tasks of one deal:
?deal_id=12345 - user_ids, assignee IDs, one or several:
?user_ids=37or?user_ids=1,3,5 - date1, from date (format YYYY-MM-DD):
?date1=2026-08-01 - date2, to date (format YYYY-MM-DD):
?date2=2026-08-31 - tags, comma-separated tags:
?tags=urgent
Example: tasks of one client for August:
curl --location --request POST 'https://do.workzeal.com/common/list/paging/2?columns=id,note,date_start&company_id=368132&date1=2026-08-01&date2=2026-08-31' \
--header 'Authorization: Bearer XXXX-XXXXXXX-XXXXXXX' \
--header 'Content-Type: application/json' \
--data-raw 'null'
Note
This is a common pattern: pagination and filters work the same way in all modules of the universal list common/list/paging/{module}; see the detailed description on the list of deals page.
Quick list by client
GET https://do.workzeal.com/task/list?company_id=368132
A simplified method without pagination: returns all tasks of one client. To get only the tasks linked to a specific deal, add deal_id:
GET https://do.workzeal.com/task/list?company_id=368132&deal_id=12345
Query Parameters
| Name | Type | Description |
|---|---|---|
| company_id* | Int | Client ID |
| deal_id | Int | Only tasks of this deal. Optional |
curl --location --request GET 'https://do.workzeal.com/task/list?company_id=368132' \
--header 'Authorization: Bearer XXXX-XXXXXXX-XXXXXXX'
Response
{
"status": "success",
"error": "",
"code": null,
"rows": 0,
"pages": 0,
"page": 0,
"value": "[ { ...task... }, { ...task... } ]"
}
// value - JSON array of tasks