# Attributes

Product Attributes represent the configurable qualities of a Product. Attributes appear in the Configuration Form of the Catalog Item Preview Panel.

### Attribute Types

There are four types of Catalog Item Attributes:

**String**

A String allows for literal definition of an Attribute and its values.<br>

<figure><img src="/files/3RIchLWOkDEzrRVPPCqa" alt=""><figcaption></figcaption></figure>

![](/files/UeSrpMDwvpSyI1fiKMI9)

**Number**

A 'Number' Attribute provides the user with a number entry field.<br>

<figure><img src="/files/ZMFKyYTkJObgMTMeC8lZ" alt=""><figcaption></figcaption></figure>

![](/files/AjYn9zk1rh2YsnuU9656)

**Part Reference**

A 'Part Reference' attribute associates a Catalog Item via either a literal reference to another Catalog Item or a Tag representing one or many Catalog Items.<br>

<figure><img src="/files/ygDDxqOa1rawsVDcoW3P" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Both literal Catalog Item names and Tags may be used within a single attribute field. A logical OR is used when placing multiple tags within a Part Reference Attribute. For example, if three tags are used in a Part Reference Attribute, all Items containing ANY one of the three tags will appear as attribute values.
{% endhint %}

**Image Upload**

Image uploads allow users to drag an image file into a field on the configuration form for placement upon a predetermined location of a model, via a canvas.

![](/files/2ld40XBsUbElR3cunOgo)

![](/files/YJEUM3ZjpYB6asSfAkUF)

For more information, [click here](/learn/workflows/image-upload-personalization.md).

###

### Re-Ordering Product Attributes

When Editing a Catalog Item, the order of the Attributes can be re-ordered by way of the handle on the left. Bare in mind, dragging and dropping swaps the locations of the two attributes.<br>

<figure><img src="/files/BqCiUtDBRbYImD7gKv3J" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://community.threekit.com/platform-documentation/project-data/basic-concepts/attributes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
