> For the complete documentation index, see [llms.txt](https://fredhopper.gitbook.io/product-discovery/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fredhopper.gitbook.io/product-discovery/sending-and-managing-product-data/what-is-the-items-api/working-with-items.md).

# Uploading Data

A central concept in our items API is the concept of a catalogue. A catalogue is a self-describing data structure containing items.

Each catalogue is defined by one or more item structure, called item schemas. Items can be organised in a hierarchical way, defined as a catalogue tree.

The general workflow of this API is as follows:

* Create a new item schema defining every attribute (or use an existing one)
* Create a new category tree (or use an existing one)
* Create a new catalogue version referencing an item schema and category tree (optional)
* Send all the items to this new catalogue version
* Activate this catalogue version
* Keep sending updates to this catalogue version

Each step is described in more detail below in the following sections

{% content-ref url="/pages/QhrcC75MxP36fHolC7GL" %}
[Item Schema](/product-discovery/sending-and-managing-product-data/what-is-the-items-api/working-with-items/item-schema.md)
{% endcontent-ref %}

{% content-ref url="/pages/nYIuIIDndfQKxKv5kAHU" %}
[Category Tree](/product-discovery/sending-and-managing-product-data/what-is-the-items-api/working-with-items/category-tree.md)
{% endcontent-ref %}

{% content-ref url="/pages/9LpnV38unuYVYjfKRf5S" %}
[Item Catalog](/product-discovery/sending-and-managing-product-data/what-is-the-items-api/working-with-items/item-catalog.md)
{% endcontent-ref %}

{% content-ref url="/pages/jPlAnKOUXIFxoCUFmyAN" %}
[Items](/product-discovery/sending-and-managing-product-data/what-is-the-items-api/working-with-items/items.md)
{% endcontent-ref %}

A step by step guide is available providing examples for all the steps

{% content-ref url="/pages/er5Bj8tOWtXuT2gNHs7P" %}
[Fredhopper Step-by-Step Guide](/product-discovery/sending-and-managing-product-data/what-is-the-items-api/step-by-step-guide-for-fredhopper-customers.md)
{% endcontent-ref %}

To ensure the best performance and stability of the API, please consult our best practices

{% content-ref url="/pages/tKEzIEAwhsEMk1G2X35R" %}
[Items API Best Practice](/product-discovery/sending-and-managing-product-data/what-is-the-items-api/best-practice/items-api-best-practices.md)
{% endcontent-ref %}
