> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mavioapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update action item

> Update an action item status, assignee, due date, or priority.

Update one or more fields on an action item. Only the fields you include in the request body will be modified; all other fields remain unchanged.

<ParamField path="id" type="string" required>
  The unique action item identifier (e.g., `act_p6q7r8`).
</ParamField>

### Request body

All fields are optional. Include only the fields you want to change.

<ParamField body="status" type="string">
  New status. One of `pending`, `in_progress`, or `completed`. Setting to `completed` automatically sets `completed_at` to the current timestamp.
</ParamField>

<ParamField body="assignee" type="string | null">
  New assignee. Accepts a participant ID (e.g., `prt_a1b2c3`), an email address, or a name. Set to `null` to unassign.
</ParamField>

<ParamField body="due_date" type="string | null">
  New due date in ISO 8601 date format (e.g., `2026-04-20`). Set to `null` to remove the due date.
</ParamField>

<ParamField body="priority" type="string">
  New priority level. One of `high`, `medium`, or `low`.
</ParamField>

<ParamField body="title" type="string">
  Updated title for the action item.
</ParamField>

<ParamField body="description" type="string | null">
  Updated description. Set to `null` to clear.
</ParamField>

### Response

Returns the full updated action item object.

<ResponseField name="id" type="string">
  Unique action item identifier.
</ResponseField>

<ResponseField name="title" type="string">
  Action item title.
</ResponseField>

<ResponseField name="description" type="string | null">
  Action item description.
</ResponseField>

<ResponseField name="status" type="string">
  Current status.
</ResponseField>

<ResponseField name="priority" type="string">
  Priority level.
</ResponseField>

<ResponseField name="assignee" type="object | null">
  The assigned person.

  <Expandable title="Assignee object">
    <ResponseField name="id" type="string">
      Participant identifier.
    </ResponseField>

    <ResponseField name="name" type="string">
      Assignee display name.
    </ResponseField>

    <ResponseField name="email" type="string | null">
      Assignee email.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="due_date" type="string | null">
  Due date.
</ResponseField>

<ResponseField name="meeting_id" type="string">
  The associated meeting ID.
</ResponseField>

<ResponseField name="meeting_title" type="string">
  The associated meeting title.
</ResponseField>

<ResponseField name="source_segment_id" type="string">
  The transcript segment where this was identified.
</ResponseField>

<ResponseField name="completed_at" type="string | null">
  Timestamp when marked as completed.
</ResponseField>

<ResponseField name="created_at" type="string">
  When the action item was created.
</ResponseField>

<ResponseField name="updated_at" type="string">
  When the action item was last updated.
</ResponseField>

<RequestExample>
  ```bash Mark as completed theme={null}
  curl -X PATCH https://api.mavioapp.com/v1/action-items/act_p6q7r8 \
    -H "Authorization: Bearer mvo_live_abc123" \
    -H "Content-Type: application/json" \
    -d '{
      "status": "completed"
    }'
  ```

  ```bash Reassign and change due date theme={null}
  curl -X PATCH https://api.mavioapp.com/v1/action-items/act_s9t0u1 \
    -H "Authorization: Bearer mvo_live_abc123" \
    -H "Content-Type: application/json" \
    -d '{
      "assignee": "marcus@example.com",
      "due_date": "2026-04-18",
      "priority": "medium"
    }'
  ```

  ```python Python theme={null}
  # Mark as completed
  item = client.action_items.update(
      "act_p6q7r8",
      status="completed"
  )

  # Reassign with new due date
  item = client.action_items.update(
      "act_s9t0u1",
      assignee="marcus@example.com",
      due_date="2026-04-18",
      priority="medium"
  )
  ```

  ```javascript Node.js theme={null}
  // Mark as completed
  const item = await client.actionItems.update('act_p6q7r8', {
    status: 'completed',
  });

  // Reassign with new due date
  const updated = await client.actionItems.update('act_s9t0u1', {
    assignee: 'marcus@example.com',
    due_date: '2026-04-18',
    priority: 'medium',
  });
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "act_p6q7r8",
    "title": "Complete Stripe payment integration testing",
    "description": "Test the full payment flow in Stripe sandbox including successful charges, declined cards, and refund processing.",
    "status": "completed",
    "priority": "high",
    "assignee": {
      "id": "prt_g7h8i9",
      "name": "Priya Patel",
      "email": "priya@example.com"
    },
    "due_date": "2026-04-11",
    "meeting_id": "mtg_8f3k2j1m4n5p",
    "meeting_title": "Weekly Product Sync",
    "source_segment_id": "seg_003",
    "completed_at": "2026-04-11T16:32:08Z",
    "created_at": "2026-04-10T14:51:44Z",
    "updated_at": "2026-04-11T16:32:08Z"
  }
  ```
</ResponseExample>

<Note>
  When an action item is marked as `completed`, the `action_item.completed` [webhook event](/api-reference/webhooks/events) is fired if you have a webhook subscription for it.
</Note>
