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

# FunctionAttribute

> A function attribute: a technical switch for online shops and interfaces. Customers do not see it in the shop. It has one name that is not translated.



**Kind**: `object`

## Implements

- `Attribute`

## Fields

**`id`**: `ID!`

The ID of the attribute.

---

**`kind`**: `AttributeKind!`

The kind of the attribute. It cannot be changed after the attribute was created.

---

**`entityType`**: `String!`

The kind of record the attribute can be assigned to. It cannot be changed after the attribute was created. Known values: ITEM, CATEGORY. The set can grow; a client must tolerate values it does not know.

---

**`dataType`**: `String!`

The data type of the attribute value. Known values: INTEGER, DECIMAL, TEXT, CHECKBOX, VALUE_LIST, URL, EMAIL, PHONE, COUNTRY_ISO, PRICE, DATE, SHORT_TEXT. The set can grow; a client must tolerate values it does not know.

---

**`code`**: `String!`

The technical identifier of the attribute. Online shops, plug-ins and interfaces recognise a function attribute by it. For multilingual attributes the system assigns it and it cannot be changed.

---

**`groupName`**: `String!`

The name of the group the attribute is displayed under. Attributes of both kinds share the groups of their entity type. A group exists as long as at least one attribute carries its name.

---

**`description`**: `String`

An internal description of the attribute for staff. It is not shown to customers.

---

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

The position of the attribute within its group. The API does not store a group order; sort groups by 'groupName'.

---

**`isSystem`**: `Boolean!`

Indicates an attribute supplied by the system. It cannot be deleted; only the online shops it is transferred to can be changed.

---

**`activeSalesChannels`**: `[AttributeSalesChannel!]!`

The online shops the attribute is transferred to. An empty list means that no shop receives it.

---

**`name`**: `String!`

The name of the function attribute.

---

**`allowedValues`**: `[FunctionAttributeAllowedValue!]!`

The allowed values in the order they are offered. Empty unless the data type is 'ValueList'.

