---
title: "Updates a task status for the specified project."
method: PUT
path: "/projects/{projectId}/taskstatuses/{taskStatusId}"
tags: ["taskStatuses"]
---

# Updates a task status for the specified project.

`PUT /projects/{projectId}/taskstatuses/{taskStatusId}`

The status type cannot be changed if it is the last status of type 'todo' or 'done'.
            
             <Check title="Required Permissions" icon="key">The user must either have `project-planning-data:write` permissions or be creator of the project.</Check>

## Path parameters

- `projectId` string, uuid, required
- `taskStatusId` string, uuid, required

## Headers

- `Authorization` string, required

## Request body

- TaskStatusForm
  - `name` string, required — The name of the task status.
  - `type` string, required — Specifies the general type of this task status. Accepted values: 'todo', 'progress', 'review', 'stuck', 'done'.
  - `order` number, double, nullable — The order of the task status. If it is null, the task status will be appended after the last task status.
  - `icon` string, nullable — The icon of the task status.

## Response `200`

OK

- TaskStatus
  - `id` string, uuid — The primary identifier of this task status.
  - `name` string, nullable — The name of the task status.
  - `type` string, nullable — Of what general type is this task status?.
  - `order` number, double, nullable — The order of the task status in a project.
  - `icon` string, nullable — The icon of the task status.
  - `projectId` string, uuid, nullable — Is set if the task status is related to a project.
  - `projectTypeId` string, uuid, nullable — Is set if the task status is related to a project type.
  - `workflowId` string, uuid, nullable — Is set if the task status is related to a workflow.
  - `createdOn` string, date-time — The date this entity was created.
  - `createdBy` string, uuid — The id of the user who created this entity.
  - `updatedOn` string, date-time — The date this entity was last modified.
  - `updatedBy` string, uuid — The id of the user who last modified this entity.
  - `isExternal` boolean — True if the task status is coming from an external workspace (awork Connect).

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found

---

[API](https://skmtc.net/awork-io/apis/api-v1-reference.md) · [All operations](https://skmtc.net/awork-io/apis/api-v1-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/awork-io/api-v1-reference/versions/f784a53f60df/schema)
