> For the complete documentation index, see [llms.txt](https://docs.rely.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rely.io/software-catalog/usage-guide/updating-a-blueprint.md).

# Updating a Blueprint

## From the UI

You can manage your [data-model](/basic-concepts/data-model.md) and all its [blueprints](/basic-concepts/blueprints.md) via:

* The [data model builder](#from-the-data-model-builder) for a visual graph-based interface
* Or by directly manipulating [blueprint descriptors](#from-the-blueprint-descriptor).

### From the Data Model Builder

&#x20;The [Data Model Builder](/basic-concepts/data-model.md) is the most visually appealing of managing your blueprints, but it's not the most powerful one.

{% hint style="warning" %}
From the builder you are unable to:

* Edit the blueprint's title.
* Edit a property's metadata or data-type.
* Edit a relation's title or [overall nature](/basic-concepts/blueprints.md#blueprint-descriptor) (e.g. its target blueprint or its cardinality between one-to-one and one-to-many).

For these operations, you need to perform updates directly on the [blueprint's descriptor](#from-the-blueprint-descriptor).
{% endhint %}

{% hint style="danger" %}
Changing a blueprint's ID is impossible across the product, regardless of whether via the UI or API. This is a measure meant to prevent issues related to data misalignment.
{% endhint %}

To see the content of a Blueprint, click on its node in the graph view.

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

From here, you can create new properties and relations.&#x20;

<figure><img src="/files/eSgmLVVEP7YKws6m0dk0" alt="" width="375"><figcaption></figcaption></figure>

From existing relations, you can establish [reference properties](/basic-concepts/property-data-types.md#reference-properties).

<figure><img src="/files/r6SlCfI9gBirlYeTBasf" alt="" width="375"><figcaption></figcaption></figure>

You can also delete existing properties and relations.

{% hint style="danger" %}
Deleting a property or drastically changing its type in the blueprint can cause entities created from it to enter a conflict state that you'll need to resolve manually, see [troubleshooting](/software-catalog/troubleshooting.md).
{% endhint %}

<figure><img src="/files/zMixg9bjmDeADLpwipgf" alt="" width="375"><figcaption></figcaption></figure>

You can also edit a blueprint's icon or deleting the blueprint.

{% hint style="danger" %}
Deleting a blueprint can cause other blueprints that have relations to it and its respective entities to enter a conflict state that you'll need to resolve manually, see [troubleshooting](/software-catalog/troubleshooting.md).
{% endhint %}

<figure><img src="/files/sSODVMSaCXOMtALzCOVF" alt="" width="375"><figcaption></figcaption></figure>

From a blueprint card you can also directly access the [blueprint's descriptor](/basic-concepts/blueprints.md#blueprint-descriptor) for more powerful manipulation capabilities.

<figure><img src="/files/bZ0rBE1S3tQpkMeQDkie" alt="" width="375"><figcaption></figcaption></figure>

### From the Blueprint Descriptor

&#x20;Directly manipulating the [blueprint descriptors](/basic-concepts/blueprints.md#blueprint-descriptor) is the most powerful way of managing your blueprint, but it also requires deeper technical knowledge.

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

From here, you can customise every aspect regarding your blueprint, like:

* Editing the blueprint's metadata (except for the ID).
* Editing properties' metadata and [data-type](/basic-concepts/property-data-types.md).
* Editing relations' metadata and [overall nature](/basic-concepts/blueprints.md#blueprint-descriptor) (e.g. its target blueprint or its cardinality between one-to-one and one-to-many).

Some considerations:

{% hint style="danger" %}
Changing a blueprint's ID is impossible across the product, regardless of whether via the UI or API. This is a measure meant to prevent issues related to data misalignment.
{% endhint %}

{% hint style="danger" %}
Deleting a property or drastically changing its type in the blueprint can cause entities created from it to enter a conflict state that you'll need to resolve manually, see [troubleshooting](/software-catalog/troubleshooting.md).
{% endhint %}

{% hint style="danger" %}
Deleting a blueprint can cause other blueprints that have relations to it and its respective entities to enter a conflict state that you'll need to resolve manually, see [troubleshooting](/software-catalog/troubleshooting.md).
{% endhint %}

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

## From the Public API

{% content-ref url="/pages/omhxzZx0bXN1GJPiJZLO" %}
[Blueprints](/public-api/blueprints.md)
{% endcontent-ref %}
