> For the complete documentation index, see [llms.txt](https://api-docs.intratool.help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api-docs.intratool.help/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.

## Attribute Set Keys

The `key` of an `AttributeSet` identifies the set when assigning values or referencing its fields. Documentation examples use hyphens (`-`) to separate words, such as `employee-data`.

The key must be unique among attribute sets that have not been deleted. Use the same key when submitting `additional_attributes` and referencing the set in a [System Variable template](/introduction/system-variables.md#rendered-templates). The field keys inside a set retain their separate `field-{formFieldId}` format.

## 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 the `key` of an `AttributeSet` 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 under the `key` of an `AttributeSet`. 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)
