# Update task preferences

Source: https://workroad.app/docs/api/update-task-settings

`PATCH https://workroad.app/api/v1/settings/tasks`

Replaces the task types or changes the due-date colours.

- MCP tool: `updateTaskSettings` on `https://workroad.app/api/mcp`
- Required scopes: settings:update
- Test mode: `PATCH https://workroad.app/api/test/v1/settings/tasks` checks the request and returns the example response without changing anything.

## Request body

JSON.

- `types`: array of string, 1-50 items. Replaces the whole list, in order. Tasks keep their type when it is removed here.
- `overdueColor`: string, matches `^#[0-9A-F]{6}$`. Overdue tasks, as #RRGGBB.
- `dueTodayColor`: string, matches `^#[0-9A-F]{6}$`. Tasks due today, as #RRGGBB.
- `nearlyDueColor`: string, matches `^#[0-9A-F]{6}$`. Tasks due soon, as #RRGGBB.

## Response

`200` OK

- `data`: object, required
  - `types`: array of string, required. The task types, in the order the app offers them.
  - `overdueColor`: string, required. The colour of an overdue task.
  - `dueTodayColor`: string, required. The colour of a task due today.
  - `nearlyDueColor`: string, required. The colour of a task due soon.

### Example

```json
{
  "data": {
    "types": [
      "Homework",
      "Test",
      "Study",
      "Project"
    ],
    "overdueColor": "#ef4444",
    "dueTodayColor": "#f97316",
    "nearlyDueColor": "#eab308"
  }
}
```

## Errors

Every error has the body `{ "error": { "code", "message", "details" } }`.

- `400`: Invalid body or no field to update.
- `401`: Missing, invalid, disabled or expired API key
- `403`: The API key lacks the required scope
- `404`: No endpoint exists at this path.
- `405`: Method not allowed. Use a method from the Allow header.
- `429`: Rate limit exceeded. Wait for Retry-After before retrying. The rate-limit headers are absent when the key's own limiter rejected the request before the per-endpoint bucket check ran.
- `500`: Internal server error
