---
title: "Update Task"
method: PATCH
path: "/api/tasks/{block_id}/{task_id}"
tags: ["tasks"]
---

# Update Task

`PATCH /api/tasks/{block_id}/{task_id}`

## Request

- Base URL: `https://app.ctlsurf.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.ctlsurf.com/api/tasks/{block_id}/{task_id}`
- Auth: HTTP bearer

Update a specific task within a checklist or ctlsurf_task block.

## Path parameters

- `block_id` string, uuid, required
- `task_id` string, required

## Request body

- TaskUpdate
  - `done` boolean, nullable
  - `status` 'todo' | 'in_progress' | 'blocked' | 'done', nullable
  - `text` string, nullable
  - `note` string, nullable
  - `skill_id` string, nullable
  - `completion` TaskCompletion: Structured completion data required when marking a task as done. Forces agents to document assumptions, failed attempts, and simplifications.
    - `summary` string, required
    - `assumptions` string[], required
    - `attempted_but_failed` string[], required
    - `simplified_or_skipped` string[], required
    - `caveats` string[]
    - `follow_ups` string[]
  - `reopen_feedback` string, nullable

## Response `200`

Successful Response

- TaskResponse
  - `block_id` string, uuid, required
  - `page_id` string, uuid, required
  - `item` TaskItem, required
    - `id` string, required
    - `text` string, required
    - `done` boolean
    - `assigned_to` string, nullable
    - `status` 'todo' | 'in_progress' | 'blocked' | 'done', nullable
    - `notes` string[]

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ctlsurf/apis/notebook-control-plane.md) · [All operations](https://skmtc.dev/ctlsurf/apis/notebook-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/ctlsurf/apis/notebook-control-plane/revisions/ddfbbe20d5ce?raw)
