> ## 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.

# Preference

> Configurable behavior owned by a workspace, member, or user.

Preferences express choices about how a feature behaves. Each registered key has
one owner scope and a default. Read its [definition](/reference/preferences/definition)
before writing a value.

| Scope       | Owner                                                       | Example                               |
| ----------- | ----------------------------------------------------------- | ------------------------------------- |
| `workspace` | The current workspace.                                      | Details required on payment requests. |
| `member`    | The signed-in person's membership in the current workspace. | Workspace-specific sidebar choices.   |
| `user`      | The signed-in person's account across workspaces.           | Account-wide appearance choices.      |

The payment-request settings are workspace settings; the sidebar settings are
member settings. Scopes do not inherit values from each other. Requests
default to `workspace`; the authenticated context supplies the owner. You cannot
select another person's member or user ID. Workspace API keys cannot access
personal scopes.

Shared workspace settings use `preferences:read` and `preferences:write`.
Admins can change them; viewers can read them. Routines require these explicit
grants. Personal member and user choices remain limited to the signed-in person.

### Registered settings

| Key                                   | Value                                                                                                                                                                                                                           | Default |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `payment_requests.requirements`       | Array containing `invoice`, `dates`, both, or neither. Invoice requires a file and invoice number; dates requires dates covered in the worker form.                                                                             | `[]`    |
| `payment_requests.rejection_reply_to` | Array of rejection-email reply addresses. `null` uses workspace admins; `[]` omits Reply-To. Other payment-request emails are unaffected.                                                                                       | `null`  |
| `sidebar.order`                       | Object keyed by band, `personal`, `main` or `configure`, each an array of sidebar entry keys in the member's order. A band left out keeps the default order; an entry left out sits beside its default neighbour. Member scope. | `{}`    |
| `sidebar.hidden`                      | Array of Workspace sidebar entry keys the member's sidebar leaves out; they open from More. Nothing here grants or removes access. Member scope.                                                                                | `[]`    |

### Attributes

<ResponseField name="object" type="string">Always `preference`.</ResponseField>
<ResponseField name="key" type="string">Registered preference key.</ResponseField>
<ResponseField name="scope" type="string">One of `workspace`, `member`, or `user`.</ResponseField>
<ResponseField name="subject" type="string">Reference to the owner identified by `scope`.</ResponseField>
<ResponseField name="value" type="any">Effective value, including the default when no choice is stored.</ResponseField>
<ResponseField name="default" type="any">Value restored by resetting the preference.</ResponseField>

```json theme={null}
{
  "object": "preference",
  "key": "payment_requests.requirements",
  "scope": "workspace",
  "subject": "wsp_8rT2mVq5xNp3Kd",
  "value": ["invoice", "dates"],
  "default": []
}
```
