---
title: "Update a project task"
method: PUT
path: "/v1/spaces/{spaceId}/projects/{projectId}/tasks/{taskId}"
tags: ["Project Tasks"]
---

# Update a project task

`PUT /v1/spaces/{spaceId}/projects/{projectId}/tasks/{taskId}`

Update a project task by its ID

## Path parameters

- `spaceId` integer, required
- `projectId` integer, required
- `taskId` integer, required

## Headers

- `X-Org-Id` integer, required

## Request body

- ProjectTaskUpdateRequest — Request object for updating a project task
  - `taskTitle` string — Title of the task
  - `description` string — Detailed description of the task
  - `owners` integer[] — List of owner IDs assigned to the task
  - `startDate` string, date-time — Start date of the task
  - `dueDate` string, date-time — Due date of the task
  - `noOfDays` integer — Duration in working days. When sent together with startDate or dueDate, the missing date is recomputed honouring the organisation's operational hours.
  - `completion` integer — Completion percentage of the task
  - `status` string — Current status of the task
  - `priority` string — Priority level of the task
  - `tags` string[] — Tags associated with the task

## Response `200`

Project task updated successfully

## Changes

- **2026-08-08** `237f5bbd4029` — 1 breaking, 1 info
  - removed the media type `application/hal+json` for the response with the status `200`
  - added the media type `application/vnd.hal+json` for the response with the status `200`

[Change history](https://skmtc.dev/astravue/apis/astravue-api/changes/v1/spaces/:spaceId/projects/:projectId/tasks/:taskId/put.md)

---

[API](https://skmtc.dev/astravue/apis/astravue-api.md) · [All operations](https://skmtc.dev/astravue/apis/astravue-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/astravue/astravue-api/revisions/290e97dda2ec/schema)
