# Default Configurations

Before diving into the ways of setting default configurations there are a few things that need some introduction.

## IDs

In the Template Editor elements that are not an atomic level elements (e.g. a material or a mesh) have IDs. See the area circled in red below.

<figure><img src="https://2096884663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FupRNMrLmfdavpTEehRQn%2Fuploads%2Fgit-blob-8df148e86c07111bc0c97564e3d713ea2cfffaab%2Fimage%20(8).png?alt=media" alt="" width="375"><figcaption></figcaption></figure>

These IDs are generated automatically but they can also be set/changed by you. Whenever there is a need to use IDs it is always recommended to change them to a human readable format.

This is also the case when you want to control default configurations through the API because these IDs have to be set through the API.

## Example

Here is an example of a code where default configurations of a product is set.

We will only show the link that is used in the configurator and not the complete \*\*iframe \*\*code so that it is easier to read.

```javascript
https://configurator.colormass.com/?apiVersion=2&sceneId=2268&param(combined%2Fcategory)=id(taps)&param(combined%2Ftaps%2Ftaps)=id(OMI-133-C-P)&param(combined%2Ftaps%2Ffinishes%2Ffinishes)=id(polished-black)
```

This might look a bit complicated at first, so lets break it down step by step. You will notice that the URL parts are separated with `&` symbols, and there are two types of elements in the URL above.

```javascript
sceneId = 2268;
```

This is responsible for the viewer where a specific light settings (which you should be familiar with from the previous articles in the documentation) are used and our product is added.

```javascript
param(combined%2Fcategory)=id(taps)
```

These are the ones that set a specific configuration to selected default. You will see a strange character combination: `%2F` . Whenever you see those just think of them as `/` Using slash in the URL has a special meaning so it is recommended to use these special characters instead of the slash. We read the above text inside the `param` as `combined/category=taps`

So to take the above scene as an example you will see that inside this scene the product is called `combined` and the template that is used inside is `Combined (Omika)`.

<figure><img src="https://2096884663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FupRNMrLmfdavpTEehRQn%2Fuploads%2Fgit-blob-4a5ee9102f4ffca1e168c4fcaa4e042a66f5041b%2Fimage%20(9).png?alt=media" alt=""><figcaption></figcaption></figure>

Let's say we want to set the default category of the above product. To be able to set a specific configuration we have to set the path in the template using the IDs. So in this specific case the path will be `combined/category`.

{% hint style="info" %}
Explanation: the ID of the main product is `combined` and the config group inside has an ID called `category`. See screenshot below.
{% endhint %}

<figure><img src="https://2096884663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FupRNMrLmfdavpTEehRQn%2Fuploads%2Fgit-blob-d7fff2574799535ffdc6d5b3851cb8a5cd5b6828%2Fimage%20(10).png?alt=media" alt="" width="375"><figcaption></figcaption></figure>

Once you have identified the path to the configuration group and added it to the param part of the URL like so:

```javascript
param(combined%2Fcategory)
```

you will also need to set it to a specific Configuration Variant, which in this case will be Taps, see screenshot below.

<figure><img src="https://2096884663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FupRNMrLmfdavpTEehRQn%2Fuploads%2Fgit-blob-9e3d656ee7e75b261ae96c7bfe9482cd7fb2bbfe%2Fimage%20(11).png?alt=media" alt="" width="375"><figcaption></figcaption></figure>

and that is how we arrive to the final segment of our URL:

```javascript
param(combined%2Fcategory)=id(taps)
```
