# Update Task

`Update_Task` modifies an existing GovTribe task and returns the updated task resource as JSON text.

## Input Contract

* `task_id`: GovTribe ID of the task to update.
  * `type`: `string`
  * `required`: `yes`
  * `default`: `n/a`
* `pipeline_id`: GovTribe ID of the pipeline that owns the task context (required on every call).
  * `type`: `string`
  * `required`: `yes`
  * `default`: `n/a`
* `pursuit_id`: GovTribe ID of the pursuit associated with the task context (required on every call).
  * `type`: `string`
  * `required`: `yes`
  * `default`: `n/a`
* `owner_model_id`: Assign or reassign the task owner.
  * `type`: `string`
  * `required`: `no`
  * `default`: `omit to keep current owner`
* `name`: Task name update.
  * `type`: `string`
  * `required`: `no`
  * `default`: `omit to keep current name`
  * `shape`: `min length 1, max length 100`
* `description`: Task description update.
  * `type`: `string`
  * `required`: `no`
  * `default`: `omit to keep current description`
  * `shape`: `max length 10000`
* `dueDate`: Due date update.
  * `type`: `string`
  * `required`: `no`
  * `default`: `omit to keep current due date`
  * `shape`: `YYYY-MM-DD or ISO 8601`
* `priority`: Task priority update.
  * `type`: `string enum`
  * `required`: `no`
  * `default`: `omit to keep current priority`
  * `options`: `low`, `medium`, `high`, `urgent`
* `comment`: Comment to attach with the update.
  * `type`: `string`
  * `required`: `no`
  * `default`: `omit for no comment update`
  * `shape`: `max length 1000`

## Output Contract

* Top-level keys:
  * `govtribe_id`
  * `govtribe_ai_summary`
  * `govtribe_type`
  * `govtribe_url`
  * `name`
  * `description`
  * `comment`
  * `due_date`
  * `past_due`
  * `due_soon`
  * `priority`
  * `completed_at`
  * `reopened_at`
  * `created_at`
  * `updated_at`
  * `owner`
  * `creator`
  * `pipeline`
  * `pursuit`
  * `stage`
* Row keys:
  * `n/a`
* Relationship retrieval map:
  * `creator`
    * `resource_type`: `user`
    * `tool`: `Search_Users`
    * `filter`: `user_ids`
    * `nested_keys`: `govtribe_id`, `govtribe_type`, `name`, `email`
  * `owner`
    * `resource_type`: `user`
    * `tool`: `Search_Users`
    * `filter`: `user_ids`
    * `nested_keys`: `govtribe_id`, `govtribe_type`, `name`, `email`
  * `pipeline`
    * `resource_type`: `pipeline`
    * `tool`: `Search_Pipelines`
    * `filter`: `creator_ids`
    * `nested_keys`: `govtribe_id`, `govtribe_type`, `govtribe_url`, `name`
  * `pursuit`
    * `resource_type`: `pursuit`
    * `tool`: `Search_Pursuits`
    * `filter`: `creator_ids`
    * `nested_keys`: `govtribe_id`, `govtribe_type`, `govtribe_url`, `name`
  * `stage`
    * `resource_type`: `stage`
    * `tool`: `Search_Stages`
    * `filter`: `creator_ids`
    * `nested_keys`: `govtribe_id`, `govtribe_type`, `govtribe_url`, `name`, `type`

## Usage Patterns

Pattern A: Reassign ownership, set priority, and update due date. Tool: `Update_Task`

```json
{
  "task_id": "<TASK_ID>",
  "pipeline_id": "<PIPELINE_ID>",
  "pursuit_id": "<PURSUIT_ID>",
  "owner_model_id": "<USER_ID>",
  "priority": "high",
  "dueDate": "2026-03-20"
}
```
