> For the complete documentation index, see [llms.txt](https://docs.api.intratool.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.api.intratool.de/introduction/additional-attributes.md).

# Additional Attributes

Additional Attributes provide configurable fields for API resources. An [AttributeSet](/api-reference/additional-attributes/attribute-sets.md) groups [AttributeFields](/api-reference/additional-attributes/attribute-fields.md), while each affected resource stores its own values for those fields.

Resource endpoints that support Additional Attributes document the shared linking and value structure described here.

## Request Flow

Create an `AttributeSet` and its `AttributeFields` before linking the set to another resource. The set defines the grouping and ordering, while each field defines one configurable value. The target resource request can then link sets and assign values in one operation.

## Request Structure

Affected create and update endpoints can accept the following keys when their Request Keys table declares them.

| Key                     | Type     | Description                                                                 |
| ----------------------- | -------- | --------------------------------------------------------------------------- |
| `attribute_set_ids`     | `array`  | Links and optionally orders `AttributeSets` for the affected resource.      |
| `additional_attributes` | `object` | Assigns values by `attributeSet.key` and field key (`field-{formFieldId}`). |

### `attribute_set_ids` Formats

`attribute_set_ids` supports two formats:

#### IDs Only

```json
{
  "attribute_set_ids": [1, 2, 3]
}
```

#### IDs with Sorting

```json
{
  "attribute_set_ids": [
    { "id": 1, "sort_number": 1 },
    { "id": 2, "sort_number": 2 }
  ]
}
```

### `additional_attributes` Structure

Values are passed per `attributeSet.key`. Inside each set, field keys follow the pattern `field-{formFieldId}`.

```json
{
  "additional_attributes": {
    "employee-data": {
      "field-17": "Max Mustermann",
      "field-18": "DE"
    },
    "contract": {
      "field-24": "2026-05-01"
    }
  }
}
```

### Combined Request Example

```json
{
  "name": "Operations",
  "attribute_set_ids": [
    { "id": 1, "sort_number": 1 },
    { "id": 2, "sort_number": 2 }
  ],
  "additional_attributes": {
    "employee-data": {
      "field-17": "Max Mustermann",
      "field-18": "DE"
    }
  }
}
```

## See Also

* [Additional Attributes API](/api-reference/additional-attributes.md)
* [System Variables](/introduction/system-variables.md)
