---
title: "Update an action item"
method: PATCH
path: "/action-items/{id}"
tags: ["Taskflow"]
---

# Update an action item

`PATCH /action-items/{id}`

Partially update an action item. Only include fields to be updated.

- Set "completed" to true to mark as completed, or false to mark as incomplete.
- Update "position" to reorder the item (0-indexed). Other items will automatically shift to maintain continuous sequence.
- Users can only update action items they created.

## Path parameters

- `id` string, required

## Headers

- `X-Company-ID` string, required

## Request body

- PatchedActionItem — Mixin for serializers that automatically validates position field values. Attributes: position_field_name (str): The name of the position field to validate. Defaults to 'position'. This mixin provides: - Automatic validation via validate_<field_name> method - Non-negative position validation - Max position validation based on existing items Requires 'position_queryset' in serializer context (provided by PositionReorderViewSetMixin).
  - `id` integer
  - `name` string
  - `company_id` string, uuid
  - `created_by_id` integer
  - `position` integer
  - `created_at` string, date-time
  - `modified_at` string, date-time
  - `completed_at` string, date-time, nullable
  - `completed` boolean

## Response `200`

- ActionItem — Mixin for serializers that automatically validates position field values. Attributes: position_field_name (str): The name of the position field to validate. Defaults to 'position'. This mixin provides: - Automatic validation via validate_<field_name> method - Non-negative position validation - Max position validation based on existing items Requires 'position_queryset' in serializer context (provided by PositionReorderViewSetMixin).
  - `id` integer, required
  - `name` string, required
  - `company_id` string, uuid, required
  - `created_by_id` integer, required
  - `position` integer
  - `created_at` string, date-time, required
  - `modified_at` string, date-time, required
  - `completed_at` string, date-time, nullable, required
  - `completed` boolean

## Other responses

- `400` — Invalid input - action item name must be unique, exceeds max length, or position is invalid
- `401` — Unauthorized - authentication credentials not provided or invalid
- `403` — Forbidden - insufficient permissions
- `404` — Action item not found or not owned by user

---

[API](https://skmtc.net/cubesoftware/apis/cube-api.md) · [All operations](https://skmtc.net/cubesoftware/apis/cube-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cubesoftware/cube-api/revisions/67d9f45bb99b/schema)
