---
title: "Update a task"
method: PUT
path: "/tasks/{id}"
tags: ["Tasks"]
---

# Update a task

`PUT /tasks/{id}`

## Request

- Base URL: `https://api.smokeball.com`
- URL: `https://api.smokeball.com/tasks/{id}`
- Auth: API key in header `x-api-key` and API key in header `Authorization`

Updates a specified task.

## Path parameters

- `id` string, uuid, required

## Request body

- TaskDto
  - `matterId` string, nullable: Unique identifier of the matter associated to the task.
  - `staffId` string, required: Unique identifier of the associated staff member creating or updating the task.
  - `completedByStaffId` string, nullable: Unique identifier of the associated staff member completing the task.
  - `assigneeIds` string[], nullable: Unique identifier(s) of the associated staff member(s) assigned to the task.
  - `subject` string, nullable: The subject - this should be a short description of the task.
  - `note` string, nullable: Notes on the task.
  - `isCompleted` boolean: True when the task is completed.
  - `categories` string[], nullable: Categories for the task.
  - `completedDate` string, date-time, nullable: **Deprecated.** Use `CompletedDateOnly` instead. Completed date of the task in UTC. If not provided and IsCompleted is set to true, the current date will be used.
  - `completedDateOnly` string, date-time, nullable: Completed date of the task. Takes precendence over CompletedDate if set. If not provided and IsCompleted is set to true, the current date will be used. Any time/timezone information will be discarded and only the date portion will be considered.
  - `dueDate` string, date-time, nullable: **Deprecated.** Use `DueDateOnly` instead. Due date of the task in UTC.
  - `dueDateOnly` string, date-time, nullable: Due date of the task. Takes precendence over DueDate if set. Any time/timezone information will be discarded and only the date portion will be considered.
  - `duration` string, nullable: Duration of the task in ISO 8601 duration format.

## Response `202`

When request is accepted. Returns a hypermedia 'Link' object of the task to be updated.

- Link
  - `id` string, nullable
  - `href` string, nullable
  - `relation` string, nullable
  - `method` string, nullable

## Other responses

- `400`: When an unsupported request is made.
- `403`: When task with specified id is not associated with authenticated client.
- `404`: When task with specified id does not exist.

---

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