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

# Update a preference

> Replace a preference's value for the current owner.

<ParamField path="key" type="string" required>Registered preference key.</ParamField>

<ParamField query="scope" type="string">
  `workspace` (default), `member`, or `user`. Must match the registered scope.
  Workspace changes require `preferences:read`, `preferences:write`, and admin
  authority; personal changes require a signed-in person acting on their own
  preferences.
</ParamField>

<ParamField body="value" type="any" required>
  Complete replacement value matching the key's [schema](/reference/preferences/definition).
  Arrays and objects are replaced, not merged. Include `value` explicitly, even
  when setting a nullable preference to `null`.
</ParamField>

`PUT` is also supported with the same replacement behavior.

```json theme={null}
{ "value": ["invoice", "dates"] }
```

### Returns

The updated [Preference object](/reference/preferences/object). Invalid values
return `422` without changing the preference. Repeating the same write preserves
the same effective value.
