---
title: "Complete Subtask"
method: POST
path: "/subtasks/{subtask_id}/complete"
tags: ["subtasks"]
---

# Complete Subtask

`POST /subtasks/{subtask_id}/complete`

## Request

- Base URL: `https://app.tascan.io/api/v1`
- URL: `https://app.tascan.io/api/v1/subtasks/{subtask_id}/complete`
- Auth: HTTP bearer

Complete a subtask, optionally recording a typed response_value (e.g. the weight or reps for that set). Each completion is timestamped, so consecutive set completions yield per-set durations. Returns progress including all_subtasks_complete — when true, complete the parent task with tascan_complete_task.

## Path parameters

- `subtask_id` string, required

## Request body

- object
  - `worker_id` string: Worker performing the completion (optional)
  - `response_value` string: Typed response value (for number/text/choice subtasks), e.g. "165"
  - `notes` string: Optional notes

## Response `200`

Success. JSON body: { data: ... } or an error object { error, message }.

## Other responses

- `4XX`: Client error (validation, auth, scope, rate limit).

---

[API](https://skmtc.dev/tascan/apis/tascan-api.md) · [All operations](https://skmtc.dev/tascan/apis/tascan-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tascan/apis/tascan-api/revisions/56fcd2861498?raw)
