> For the complete documentation index, see [llms.txt](https://community.threekit.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://community.threekit.com/platform-documentation/project-data/basic-concepts/attributes.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
