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

# SettingsNode

> A node of the settings tree: a group, a text, an input, a button or a custom part. Nodes form a tree through ParentId. How the tree is laid out is up to the frontend.



**Kind**: `interface`

## Fields

**`kind`**: `SettingsNodeKind!`

Discriminator of the node kind.

---

**`id`**: `String!`

The stable ID of the node. For an input it equals the setting key, for example sales.invoice.dueDays.

---

**`parentId`**: `String`

The ID of the group the node belongs to. Absent for a top-level node.

---

**`level`**: `Int!`

The depth in the tree. A top-level node has level 1.

---

**`sortOrder`**: `Int!`

The position among the nodes of the same parent. Lower comes first.

---

**`label`**: `String`

The text shown for the node, in the language of the caller.

---

**`description`**: `String`

A further text, in the language of the caller.

---

**`helpUrl`**: `String`

A link to a help page.

---

**`keywords`**: `[String!]!`

Extra words the search finds the node by.

---

**`scopes`**: `[SettingsScope!]!`

The scopes the setting can be stored for. Almost every setting has only Global.

---

**`requiredPermission`**: `String`

The Wawi permission the caller needs to see and change the node.

---

**`isReadOnly`**: `Boolean!`

Whether the caller cannot change the setting.

---

**`dependencies`**: `[SettingsDependency!]!`

Rules that make the node visible, enabled or required depending on other settings.

## Possible types

- `ButtonNode`
- `CheckboxGroupNode`
- `CheckboxNode`
- `CustomNode`
- `DateTimeInputNode`
- `DecimalInputNode`
- `DropdownNode`
- `GroupNode`
- `IntegerInputNode`
- `LinkNode`
- `RadioGroupNode`
- `TextBlockNode`
- `TextInputNode`

