## Get a checklist item

`GET /v1/tasks/:taskId/checklist/:itemId`

Returns a single checklist item by ID.

## Parameters

| Parameter | Type | Req. | Description |
|----------|-----|:-----:|---------|
| `taskId` (path) | integer | yes | Task ID |
| `itemId` (path) | integer | yes | Checklist item ID. List of items — [`GET /v1/tasks/:taskId/checklist`](./list.md) |

## Examples

### curl — personal key

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

### curl — OAuth application

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

### JavaScript — personal key

```javascript
const res = await fetch(
  "https://vibecode.bitrix24.com/v1/tasks/3943/checklist/213",
  { headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const { data } = await res.json();
```

### JavaScript — OAuth application

```javascript
const res = await fetch(
  "https://vibecode.bitrix24.com/v1/tasks/3943/checklist/213",
  {
    headers: {
      "X-Api-Key": "YOUR_APP_KEY",
      "Authorization": "Bearer USER_SESSION_TOKEN",
    },
  }
);
const { data } = await res.json();
```

## Response fields

| Field | Type | Description |
|------|-----|---------|
| `success` | boolean | Always `true` on success |
| `data.id` | string | Item ID |
| `data.taskId` | string | Parent task ID |
| `data.parentId` | integer / string | Parent item ID. `0` — a top-level item |
| `data.title` | string | Item text |
| `data.sortIndex` | string | Sort index |
| `data.isComplete` | string | Completion status — `"Y"` / `"N"` |
| `data.isImportant` | string | Importance flag — `"Y"` / `"N"` |
| `data.createdBy` | string | Item author |
| `data.toggledBy` | string \| null | Who last changed the completion status |
| `data.toggledDate` | string | When the status was last changed. An empty string if never changed |
| `data.members` | array | Item members — objects `{ id, type, name, personalPhoto, personalGender, image, isCollaber }` |
| `data.attachments` | array | Attached files |

## Response example

```json
{
  "success": true,
  "data": {
    "id": "213",
    "taskId": "3943",
    "parentId": "211",
    "createdBy": "1317",
    "title": "Collect and check documents",
    "sortIndex": "100",
    "isComplete": "N",
    "isImportant": "Y",
    "toggledBy": null,
    "toggledDate": "",
    "members": [
      {
        "id": "1317",
        "type": "A",
        "name": "Jane Doe",
        "personalPhoto": "35959",
        "personalGender": "",
        "image": "https://example.bitrix24.com/...",
        "isCollaber": false
      }
    ],
    "attachments": []
  }
}
```

## Error response example

`422` — the item does not exist or is not accessible:

```json
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "TASKS_ERROR_EXCEPTION_#512; Check listitem not found or not accessible; 512/TE/ITEM_NOT_FOUND_OR_NOT_ACCESSIBLE",
    "b24Code": "ERROR_CORE"
  }
}
```

## Errors

| HTTP | Code | Description |
|------|-----|---------|
| 400 | `INVALID_PARAMS` | `taskId` or `itemId` is not a positive integer |
| 422 | `BITRIX_ERROR` | The item with the given `itemId` was deleted, never existed, or is not accessible to the key — Bitrix24 threw an exception. The same code arrives when the task `taskId` itself is missing |
| 404 | `NOT_FOUND` | Bitrix24 returned an empty result without throwing — the handler's fallback branch |
| 403 | `SCOPE_DENIED` | The API key lacks the `task` scope |
| 401 | `TOKEN_MISSING` | The API key has no configured tokens |

Full list of common API errors — [Errors](/docs/errors).

## Known specifics

- **A missing item returns `422`, not `404`.** Bitrix24 throws an exception for a nonexistent or deleted `itemId` — the response carries no dedicated `NOT_FOUND` code, so look for the `ITEM_NOT_FOUND_OR_NOT_ACCESSIBLE` text instead. If Bitrix24 returns an empty result without throwing, the response is `404 NOT_FOUND`.

## See also

- [List items](./list.md)
- [Update an item](./update.md)
- [Tasks](/docs/entities/tasks)
