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/4?columns=id,number,sum
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/4?columns=id,number,date,sum,type_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 | Document ID |
| number | Document number |
| date | Document date |
| sum | Document amount |
| type_id | Document type ID |
| type | Document type as text |
| status_id | Flag/status ID |
| status | Flag/status as text |
| note | Note |
| user_id | Responsible person ID |
| user_name | Responsible person |
| company_id | Client ID |
| company_name | Client name |
| deal_id | Deal ID |
| deal | Deal as text |
| contact_id | Contact person ID |
| date_expire | Expiration date |
| external_code | External code (from your accounting system) |
| tags | Tags |
Filtering
Filters are added to the request as query parameters and can be combined with each other:
- company_id, client ID, only documents of one company:
?company_id=368132 - deal_id, deal ID, only documents of one deal:
?deal_id=12345 - user_ids, IDs of responsible persons, 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=contract
Example: documents of one client for August:
curl --location --request POST 'https://do.workzeal.com/common/list/paging/4?columns=id,number,sum&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 or deal
GET https://do.workzeal.com/document/list?company_id=368132
A simplified method without pagination: returns the documents of one client, newest first. Instead of a client, you can request the documents of one deal:
GET https://do.workzeal.com/document/list?deal_id=12345
Query Parameters
| Name | Type | Description |
|---|---|---|
| company_id | Int | Client ID. Required if deal_id is not passed |
| deal_id | Int | Deal ID. Required if company_id is not passed |
curl --location --request GET 'https://do.workzeal.com/document/list?company_id=368132' \
--header 'Authorization: Bearer XXXX-XXXXXXX-XXXXXXX'
Response
{
"status": "success",
"error": "",
"code": null,
"rows": 0,
"pages": 0,
"page": 0,
"value": "[ { ...document... }, { ...document... } ]"
}
// value - JSON array of documents