---
title: "Update task info"
method: PUT
path: "/tasks"
tags: ["[v1] Task"]
---

# Update task info

`PUT /tasks`

Modify existing task. To modify a task you should have proper permissions.

## Request body

- object
  - `task_id` union, required — task id to update
    - string
    - integer
  - `name` string — new task name
  - `tags` string — comma separated tags' names
  - `parent_id` union — new parent id
    - string
    - integer
  - `external_task_id` string — external task id ie. id of task in other system/integration
  - `external_parent_id` string — external parent id ie. id of parent task in other system/integration
  - `budgeted` integer — Deprecated — use `PATCH /v3/task/{taskId}/billing-settings` with `budget` field instead. Task budget value, defined in the unit specified by `budget_unit`.
  - `note` string — description for task
  - `archived` 0 | 1 — is task archived
  - `billable` 0 | 1 — Deprecated — use `PATCH /v3/task/{taskId}/billing-settings` with `billable` field instead. Is task billable.
  - `budget_unit` 'hours' | 'fee' — Deprecated — use `PATCH /v3/task/{taskId}/billing-settings` with `budgetUnit` field instead. Budget unit: `hours`, `fee` or empty.
  - `user_ids` string — comma separated user ids to update role in task
  - `role` integer — works only if `user_ids` are provided - updates role for`user_ids`
  - `keywords` string — comma separated keywords

## Response `200`

OK

- object
  - `task_id` union
    - string
    - integer
  - `parent_id` union
    - string
    - integer
  - `name` string
  - `external_task_id` union
    - string
    - integer
  - `external_parent_id` union
    - string
    - integer
  - `level` union
    - string
    - integer
  - `add_date` string
  - `archived` union
    - string
    - integer
  - `color` string
  - `tags` string
  - `budgeted` union — Deprecated — use `GET /v3/task/{taskId}/billing-settings` (`budget` field) instead.
    - string
    - integer
  - `checked_date` string, nullable
  - `root_group_id` union
    - string
    - integer
  - `assigned_to` union
    - string
    - integer
  - `assigned_by` union
    - string
    - integer
  - `due_date` string, nullable
  - `note` string, nullable
  - `context` string, nullable
  - `folder` string, nullable
  - `repeat` string, nullable
  - `billable` union — Deprecated — use `GET /v3/task/{taskId}/billing-settings` (`billable` field) instead.
    - string
    - integer
  - `budget_unit` string — Deprecated — use `GET /v3/task/{taskId}/billing-settings` (`budgetUnit` field) instead.
  - `public_hash` string, nullable
  - `modify_time` string
  - `keywords` string

## Other responses

- `403` — Forbidden
- `404` — Not Found is returned with empty body when given `task_id` is not found.

---

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