## Delete a checklist item

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

Deletes a checklist item. A deleted item cannot be restored via the API — create a new one if needed.

## Parameters

| Parameter | Type | Req. | Description |
|----------|-----|:-----:|---------|
| `taskId` (path) | integer | yes | Task ID |
| `itemId` (path) | integer | yes | Checklist item ID |

## Examples

### curl — personal key

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

### curl — OAuth application

```bash
curl -X DELETE "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", {
  method: "DELETE",
  headers: { "X-Api-Key": "YOUR_API_KEY" },
});
if (res.status === 204) {
  console.log("Deleted");
}
```

### JavaScript — OAuth application

```javascript
const res = await fetch("https://vibecode.bitrix24.com/v1/tasks/3943/checklist/213", {
  method: "DELETE",
  headers: {
    "X-Api-Key": "YOUR_APP_KEY",
    "Authorization": "Bearer USER_SESSION_TOKEN",
  },
});
if (res.status === 204) {
  console.log("Deleted");
}
```

## Response

On success, the response is HTTP status `204 No Content` with an empty body. Success is indicated by the status code, not the body.

## Response example

```
HTTP/1.1 204 No Content
```

## Error response example

`400` — invalid `itemId`:

```json
{
  "success": false,
  "error": { "code": "INVALID_PARAMS", "message": "taskId and itemId must be positive integers" }
}
```

## Errors

| HTTP | Code | Description |
|------|-----|---------|
| 400 | `INVALID_PARAMS` | `taskId` or `itemId` is not a positive integer |
| 403 | `SCOPE_DENIED` | The API key lacks the `task` scope |
| 403 | `WRITE_BLOCKED_READONLY_KEY` | The key is in "read-only" mode — switch it to read+write in [/keys](/keys) |
| 401 | `TOKEN_MISSING` | The API key has no configured tokens |

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

## Known specifics

- **Deleting a nonexistent item also returns `204`.** The response does not distinguish a deleted item from an `itemId` that never existed, and deleting the same item again returns `204` too. The same `204` arrives when the task `taskId` itself is missing. To make sure the item existed, read it before deleting via ["Get an item"](./get.md) — that endpoint returns `422` both for a missing item and for a missing task.

## See also

- [List items](./list.md)
- [Get an item](./get.md)
- [Add an item](./create.md)
- [Tasks](/docs/entities/tasks)
