# Custom Field

Custom Fields are client defined attributes for a particular resource like product, consignment etc. A custom property is a property that you create to meet your unique needs.

{% tabs %}
{% tab title="Attributes" %}

| Attribute      | Type                                                                        | Description                                                                                                                                     |
| -------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `label`        | `String`                                                                    | It is the name with which the property will be identified eg. `color`, `style code`, etc.                                                       |
| `internalName` | `String`                                                                    | It is the unique name of the property within a workspace eg. `mfg date`, `product category`, etc.                                               |
| `description`  | `String`                                                                    | Short description of the property eg. `product color`, `check_date`, etc.                                                                       |
| `isUnique`     | `boolean`                                                                   | It states whether the property is unique or not  eg. `yes`, `no`.                                                                               |
| `fieldType`    | `string`                                                                    | It is the data type of property .For details refer [The FieldType Object](/eshopbox-developers/advanced/custom-fields.md#the-fieldtype-object). |
| `options`      | `object`                                                                    | Options are there, when the client selects `single_selects` or `multi_selects`.                                                                 |
| `scope`        | [`object`](/eshopbox-developers/advanced/custom-fields.md#the-scope-object) | It is the name of the module to which property can be assigned.                                                                                 |
| `createdAt`    | `String`                                                                    | Creation date and time.                                                                                                                         |
| `updatedAt`    | `String`                                                                    | Updated date and time.                                                                                                                          |
| {% endtab %}   |                                                                             |                                                                                                                                                 |

{% tab title="Sample Json" %}

```
{
            "label": "fabric",
            "internalName": "style type",
            "description": "this is style code type property",
            "isUnique": "no",
            "fieldType": "multi_select",
            "options": [
                "rock",
                "classy"
            ],
            "scope": [
                "order"
            ],
            "createdAt": "2020-03-09T17:16:20.645+05:30",
            "updatedAt": "2020-03-13T12:27:05.981+05:30"
        }
```

{% endtab %}
{% endtabs %}

## The FieldType Object

| fieldType       |
| --------------- |
| `short_text`    |
| `long_text`     |
| `date_picker`   |
| `single_select` |
| `multi_select`  |
| `attachment`    |

## The Scope Object

| scope                |
| -------------------- |
| `product`            |
| `listing`            |
| `inventory`          |
| `order`              |
| `return`             |
| `inward consignment` |
| `recall consignment` |
| `invoice`            |
| `expense`            |
| `payment`            |


---

# 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://eshop.gitbook.io/eshopbox-developers/advanced/custom-fields.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.
