---
title: "Update an existing Task"
method: PUT
path: "/v2/task/{id}"
tags: ["Tasks"]
---

# Update an existing Task

`PUT /v2/task/{id}`

## Request

- Base URL: `https://api.workiz.com/crm/api`
- URL: `https://api.workiz.com/crm/api/v2/task/{id}`
- Auth: none declared. Required headers: `Authorization`
- TypeScript: <https://skmtc.dev/workiz/apis/developer-api/docs/v2/task/:id/put.ts> (a function with typed inputs; its response is checked against the schema)

> **Beta:** Breaking changes may occur without notice.

Updates an existing Task and returns the updated Task. Requires the Tasks add-on.

## Path parameters

- `id` string, required
- `taskId` string, required

## Headers

- `Authorization` string, required

## Request body

- UpdateTaskV2Dto
  - `status` 'Done' | 'Open': The status of the task.
  - `title` string: The title of the task.
  - `description` string: The description of the task.
  - `start` string: The time & date when the task starts.
  - `end` string: The time & date when the task ends.
  - `isAllDay` boolean: Whether the task is an all-day task.
  - `tags` string[]: > **Beta:** This property is subject to change. Array of tag IDs for the task (prefix `TAG-`). Replaces all of the task's tags; pass an empty array to remove them all. Only task tags can be assigned.
  - `techIds` string[]: Array of tech IDs assigned to the task (prefix `USR-`). Pass an empty array to remove all technicians.

## Response `200`

The updated Task.

- ResponseTaskV2Dto
  - `id` string: The ID of the task (prefix `TSK-`).
  - `status` 'Done' | 'Open': The status of the task.
  - `title` string: The title of the task.
  - `description` string: The description of the task.
  - `start` string: The time & date when the task starts.
  - `end` string: The time & date when the task ends.
  - `isAllDay` boolean: Whether the task is an all-day task.
  - `tags` ResponseGenericTagV2Dto[]: > **Beta:** This property is subject to change. The tags assigned to the task.
    - `id` string: The ID of the tag (prefix `TAG-`).
    - `name` string: The name of the tag.
  - `techIds` string[]: Array of tech IDs assigned to the task (prefix `USR-`).
  - `parentType` 'job' | 'lead': The parent type of the task.
  - `parentId` string: The ID of the parent job or lead (prefix `JOB-` or `LD-`).
  - `isDeleted` boolean: Whether the task is deleted.
  - `updatedAt` string: The date and time the task was updated.
  - `createdAt` string: The date and time the task was created.

## Other responses

- `400`: Invalid input.
- `401`: Missing or invalid authentication token.
- `403`: The API key does not have permission to access this resource. The Tasks add-on is not active on this account.
- `404`: Task not found.
- `429`: Rate limit exceeded.

## Changes

- **2026-11-12** `fb557783146c`: 2 warning, 1 info
  - removed the optional property `tags/items/color` from the response with the `200` status
  - removed the optional property `tags/items/type` from the response with the `200` status
  - response property `message` list-of-types was narrowed by removing types `array` from media type `application/json` of response `403`
- **2026-11-10** `bb1c25c92b05`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/workiz/apis/developer-api/changes/v2/task/:id/put.md)

---

[API](https://skmtc.dev/workiz/apis/developer-api.md) - [All operations](https://skmtc.dev/workiz/apis/developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/workiz/apis/developer-api/revisions/fb557783146c?raw)
