> ## Documentation Index
> Fetch the complete documentation index at: https://guide.rolodexcrm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Task

## `PUT` a Task

`PUT` `/user-api/v1/tasks/:id`

### Headers

| **Header**          | **Value**           |
| ------------------- | ------------------- |
| `Content-Type`      | `application/json`  |
| `x-rolodex-api-key` | `f1e2d3c4b5a697...` |

### Path Parameters

<ParamField path="id" type="string">
  Task ID
</ParamField>

### Query Parameters

<ParamField path="include" type="string">
  Related data to include: `tags`
</ParamField>

### Endpoint Example

`PUT` `/user-api/v1/tasks/task_99999?include=tags`

<Note>
  Relationship fields (`contacts`, `tags`) are replaced entirely with the provided values. To add to existing relationships, include all current values plus new ones. Set assignee or creator to null to remove them.
</Note>

### Request (Mark as completed)

```json theme={null}
{
  "body": "Updated: Prepare quarterly business review presentation",
  "completed_at": "2025-01-20T14:30:00Z",
  "contacts": ["contact_123"],
  "tags": ["tag_101"]
}
```

### Response

```json theme={null}
{
  "data": {
    "id": "task_99999",
    "body": "Updated: Prepare quarterly business review presentation",
    "due_date": "2025-01-25T16:00:00Z",
    "completed_at": "2025-01-20T14:30:00Z",
    "created_at": "2025-01-15T10:30:00Z",
    "updated_at": "2025-01-20T14:30:00Z",
    "contacts": [
      {
        "id": "contact_123",
        "full_name": "John Doe",
        "image_url": "https://example.com/avatar.jpg"
      }
    ],
    "assignee": {
      "id": "user_456",
      "full_name": "Alice Smith",
      "avatar_url": "https://example.com/user-avatar.jpg"
    },
    "creator": {
      "id": "user_789",
      "full_name": "Bob Johnson",
      "avatar_url": "https://example.com/creator-avatar.jpg"
    }
  }
}
```
