---
title: "Update a checklist item"
method: PUT
path: "/api/v1/checklist_items/{id}"
tags: ["Checklists"]
---

# Update a checklist item

`PUT /api/v1/checklist_items/{id}`

## Request

- Base URL: `https://api.checkcherry.com`
- URL: `https://api.checkcherry.com/api/v1/checklist_items/{id}`
- Auth: none declared. Required headers: `Api-Key`

Updates an existing checklist item. Only fields included in the request body are modified — omitted fields remain unchanged. Use this to change the title, notes, due date, checked state, or assigned staff. Toggling `checked` is also exposed as dedicated `/mark_as_checked` and `/mark_as_unchecked` endpoints.

**Required permission:** `assigned_event_write` (when the authenticated user is assigned to the item's checklist's event) or `unassigned_event_write` (otherwise). Staff users without admin role need the per-checklist `allow_staff_edit` flag instead; customers need `allow_customer_edit`. Items on user-checklists (personal task lists) can only be edited by their owner.

## Path parameters

- `id` integer, required

## Headers

- `Api-Key` string, required

## Request body

- object
  - `title` string: Item title
  - `notes` string: Free-form notes
  - `due_on` string: Due date (YYYY-MM-DD)
  - `checked` boolean: Whether the item is checked
  - `user_ids` integer[]: Staff member IDs assigned to this item

## Response `200`

checklist item updated

---

[API](https://skmtc.dev/checkcherry/apis/check-cherry-business-api.md) · [All operations](https://skmtc.dev/checkcherry/apis/check-cherry-business-api/llms.txt) · [OpenAPI document](https://skmtc.dev/checkcherry/apis/check-cherry-business-api/revisions/84a9aabdf519?raw)
