# Custom attributes

The `customAttributes` field can be added to certain fulfillmenttools entities. These attributes contain information relevant to connectors or services outside of the fulfillmenttools platform.

Example use cases for `customAttributes` include storing a consumer rating from a shop or a foreign key that relates to data in a connected system. The `customAttributes` are stored and can be retrieved through the various fulfillmenttools APIs.

{% hint style="info" %}
The `customAttributes` field shouldn't be confused with the `attributes` field mentioned in [customization via article attributes](https://docs.fulfillmenttools.com/documentation/by-pillar/global-inventory-hub/articles/article-attributes).
{% endhint %}

### Custom attribute inheritance <a href="#custom-attribute-inheritance" id="custom-attribute-inheritance"></a>

Custom attributes are inherited during the creation of entities within fulfillmenttools. For example, when `customAttributes` are supplied for order line items, the resulting pick job line items also contain these `customAttributes`. In general, all subsequent entities inherit these attributes.

{% hint style="danger" %}
**Limitations**

Each `customAttributes` object is subject to a size limit of 15,360 characters, as the entire object is serialized into a string. The API returns an HTTP 400 error if an entity creation or update exceeds this limit. Additionally, keys within a `customAttributes` object must not start with a `$` character and must not contain a `.` character.
{% endhint %}
