# List tasks

`GET /v1/bizproc-tasks`

Returns one Bitrix24 page of tasks. By default, a regular user sees their own tasks. An administrator without a filter may see every user's tasks: supply `filter={"userId":1373}` to select your own. Bitrix24 checks manager and administrator rights.

Bitrix24 API: `bizproc.task.list`
Scope: `bizproc`

## Parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `select` (query) | string | no | Comma-separated fields: camelCase or Bitrix24 names. Defaults to ID, WORKFLOW_ID, DOCUMENT_NAME, NAME |
| `filter` (query) | string | no | JSON object. Prefixes =, !, !=, <, <=, >, >=. Values are scalars or non-empty arrays of scalars. Fields are those from [Response fields](#response-fields), except `documentUrl` |
| `order` (query) | string | no | JSON object: a field name and ASC or DESC. Defaults to ID DESC |
| `start` (query) | integer | no | Non-negative Bitrix24 page offset, default 0. The next offset is in `meta.next` |

## Examples

### curl — personal key

```bash
curl -X GET "https://vibecode.bitrix24.com/v1/bizproc-tasks" \
  -H "X-Api-Key: YOUR_API_KEY"
```

### curl — OAuth application

```bash
curl -X GET "https://vibecode.bitrix24.com/v1/bizproc-tasks" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"
```

### JavaScript — personal key

```javascript
const response = await fetch("https://vibecode.bitrix24.com/v1/bizproc-tasks", {
  method: "GET",
  headers: { "X-Api-Key": "YOUR_API_KEY" }
});
console.log(await response.json());
```

### JavaScript — OAuth application

```javascript
const response = await fetch("https://vibecode.bitrix24.com/v1/bizproc-tasks", {
  method: "GET",
  headers: { "X-Api-Key": "YOUR_APP_KEY", "Authorization": "Bearer USER_SESSION_TOKEN" }
});
console.log(await response.json());
```

## Response fields

| Field | Type | Description |
|---|---|---|
| `success` | boolean | `true` |
| `data` | object[] | Tasks. Field names in camelCase, Bitrix24 value types preserved |
| `meta.start` | integer | Requested page offset |
| `meta.total` | integer | Count from the Bitrix24 response. Omitted if not returned |
| `meta.next` | integer | Next offset from Bitrix24. Omitted on the last page |

Available fields: `id`, `activity`, `activityName`, `workflowId`, `documentName`, `description`, `name`, `modified`, `workflowStarted`, `workflowStartedBy`, `overdueDate`, `workflowTemplateId`, `workflowTemplateName`, `workflowState`, `status`, `userId`, `userStatus`, `moduleId`, `entity`, `documentId`, `parameters`, `documentUrl`. `parameters` describes the task form. Field-code values are preserved. Secret-bearing URLs are replaced with `[REDACTED]`.

## Response example

Empty list on the test account.

```json
{"success":true,"data":[],"meta":{"start":0,"total":0}}
```

## Error response example

400 — an unknown field is passed in `select`:

```json
{"success":false,"error":{"code":"INVALID_PARAMS","message":"Unknown select field"}}
```

## Errors

| HTTP | Code | Description |
|---|---|---|
| 400 | `INVALID_PARAMS` | Unknown query parameter or field, a parameter passed twice, `filter` or `order` is not a JSON object, an invalid prefix or value |
| 401 | `TOKEN_MISSING` | No Bitrix24 credentials |
| 403 | `SCOPE_DENIED` | Missing `bizproc` scope |
| 403 | `BITRIX_ACCESS_DENIED` | Bitrix24 denies access |
| 422 | `BITRIX_ERROR` | Bitrix24 business refusal. The message is preserved with secrets removed |
| 502 | `BITRIX_RESPONSE_INVALID` | Unexpected response shape or action result |

Common refusals and limits: [API errors](/docs/errors).

## See also

- [Business-process tasks](/docs/automation/bizproc-tasks)
- [Complete a task](/docs/automation/bizproc-tasks/complete)
- [Delegate tasks](/docs/automation/bizproc-tasks/delegate)
- [Workflows](/docs/automation/workflows)
