---
title: The Component Schema Field Object
description: Retrieve an object of the block's (component) field schema
url: https://storyblok.com/docs/api/management/components/the-component-schema-field-object
---

# The Component Schema Field Object

Retrieve an object of the block’s (component) field schema.

Each [field type](/docs/concepts/fields) included in a block can have a set of properties, but some are exclusive to specific types, like `Blocks` or `References`.

## Properties

-   `type` (string)
    
    The field type.
    
-   `required` (boolean)
    
    Define the field as mandatory. Defaults to `false`.
    
-   `description` (string)
    
    The description displayed in the editor.
    
-   `tooltip` (boolean)
    
    Set to `true` to display the description as a tooltip. Defaults to `false`.
    
-   `pos` (number)
    
    The field’s position within the block.
    
-   `id` (string)
    
    The ID of the field.
    
-   `translatable` (boolean)
    
    Set to `true` to enable translation. Defaults to `false`.
    
-   `default_value` (string)
    
    The field’s default value. Can be an escaped `JSON` object.
    
-   `display_name` (string)
    
    The name displayed in the editor.
    
-   `maximum` (number)
    
    The maximal number of components allowed inside a `Blocks` field.
    
-   `minimum` (number)
    
    The minimal number of components allowed inside a `Blocks` field.
    
-   `restrict_type` (string)
    
    Specify which blocks are allowed or not inside `Blocks` and `Richtext` fields. Supported types are `groups` (blocks in specific folders), `tags` (blocks assigned to specific tags), or `""` for specific blocks (components). Find the list of component names/group UUIDs/tag IDs in the respective `*_whitelist`/`*_denylist`.
    
-   `restrict_components` (boolean)
    
    Allow or deny access to nestable blocks inside `Blocks` and `Richtext` fields. Defaults to `false` (allowed).
    
-   `component_whitelist` (string\[\])
    
    An array of nestable or universal type block names allowed inside `Blocks`, `Link`, and `Richtext` fields.
    
-   `component_denylist` (string\[\])
    
    An array of block names not allowed inside `Blocks`, `Link`, and `Richtext` fields.
    
-   `component_tag_whitelist` (number\[\])
    
    An array of tag IDs assigned to blocks allowed inside `Blocks` and `Richtext` fields.
    
-   `component_tag_denylist` (number\[\])
    
    An array of tag IDs assigned to blocks not allowed inside `Blocks` and `Richtext` fields.
    
-   `component_group_whitelist` (string\[\])
    
    An array of group (folder) UUIDs that contain blocks allowed inside `Blocks` and `Richtext` fields.
    
-   `component_group_denylist` (string\[\])
    
    An array of group (folder) UUIDs that contain blocks not allowed inside `Blocks` and `Richtext` fields.
    
-   `no_translate` (boolean)
    
    Exclude `Text` and `number` fields from translation exports.
    
-   `rtl` (boolean)
    
    Enable global right-to-left (RTL) support in `Markdown`, `Text`, and `Textarea` fields.
    
-   `regex` (string)
    
    Client regular expression (regex) validation for the `Text` field.
    
-   `max_length` (number)
    
    Set the maximum length of the input string in `Markdown`, `Text`, and `Textarea` fields.
    
-   `style_options` (object\[\])
    
    Objects containing data about custom CSS set inside the `Richtext` field.
    
    Show child properties
    
    -   `_uid` (string)
        
        The unique ID of the style within the story.
        
    -   `name` (string)
        
        The style’s name.
        
    -   `value` (string)
        
        The style’s value.
        
    
-   `customize_toolbar` (boolean)
    
    Set to `true` to enable a customized toolbar in `Markdown` and `Richtext` fields. Defaults to `false`.
    
    > [!WARNING]
    > Select relevant toolbar elements to display the toolbar in the Visual Editor.
    
-   `toolbar` (string\[\])
    
    An array of enabled toolbar elements.
    
-   `allow_target_blank` (boolean)
    
    Allow links in `Link` and `Richtext` fields to open in a new tab.
    
-   `allow_custom_attributes` (boolean)
    
    Enable link custom attributes in `Link` and `Richtext` fields.
    
-   `rich_markdown` (boolean)
    
    Display markdown in `Markdown` fields as rich text. Defaults to `false`.
    
-   `allow_multiline` (boolean)
    
    Allow empty paragraphs in `Markdown` fields. Defaults to `false`.
    
-   `min_value` (number)
    
    The minimal value allowed in a `Number` field.
    
-   `max_value` (number)
    
    The maximal value allowed in a `Number` field.
    
-   `decimals` (number)
    
    The number of decimal places that appear after the point in a `Number` field.
    
-   `steps` (number)
    
    The interval between numbers in a `Number` field.
    
-   `disable_time` (boolean)
    
    Disable time selection in the date picker of a `Date/Time` field. Defaults to `false`.
    
-   `inline_label` (boolean)
    
    Display a `Boolean` field’s label next to the toggle.
    
-   `exclude_empty_option` (boolean)
    
    Hide empty options in `Single-Option` and `Multi-Options` fields.
    
-   `source` (enum)
    
    The source of `Single-Option` and `Multi-Options` fields
    
    | Value | Description |
    | --- | --- |
    | `undefined` | Self |
    | `internal_stories` | Stories |
    | `internal_languages` | The languages defined in the space |
    | `external` | API endpoint of a datasource entries array |
    | `internal` | Datasource |
    
-   `options` (object\[\])
    
    An array of datasource entries available in `Single-Option`, `Multi-Options`, and `Plugin` fields. Relevant only when the `source` is `undefined` (**Self**).
    
    Show child properties
    
    -   `_uid` (string)
        
        The unique ID of the option.
        
    -   `name` (string)
        
        The option’s name.
        
    -   `value` (string)
        
        The option’s value.
        
    
-   `use_uuid` (boolean)
    
    When the `source` of a `Single-Option`, `Multi-Options`, and `References` field is set to `internal_stories` (**Stories**), displays the UUID of the selected story. Defaults to `true`.
    
-   `datasource_slug` (string)
    
    When the `source` of a `Single-Option`, `Multi-Options`, or `Plugin` field is set to `internal` (**Datasource**), displays the selectable datasource.
    
-   `external_datasource` (string)
    
    When the `source` of a `Single-Option` and `Multi-Options` field is set to `external` (**API endpoint of a datasource entries array**), define the datasource `JSON` URL.
    
-   `folder_slug` (string)
    
    When the `source` of a `Single-Option`, `Multi-Options`, and `References` field is set to `internal_stories` (**Stories**), set the path of the allowed stories folder.
    
    > [!NOTE]
    > To adapt the path dynamically in a multilingual folder structure, add the `{0}` placeholder. For example, `{0}/categories/`.
    
-   `max_options` (string)
    
    The maximal number of selectable options in `Single-Option`, `Multi-Options`, and `References` fields.
    
-   `min_options` (string)
    
    The minimal number of selectable options in `Single-Option`, `Multi-Options`, and `References` fields.
    
-   `filter_content_type` (string\[\])
    
    When the `source` of a `Single-Option` and `Multi-Options`, and `References` field is set to `internal_stories` (**Stories**), allow users to select stories from an array of permitted content type blocks.
    
-   `entry_appearance` (string)
    
    When the `source` of a `Single-Option`, `Multi-Options`, and `References` field is set to `internal_stories` (**Stories**), specify if the option appears as a `link` (default) or a `card`.
    
-   `allow_advanced_search` (boolean)
    
    When the `source` of a `Single-Option`, `Multi-Options`, and `References` field is set to `internal_stories` (**Stories**), allow users to search stories in a modal window that supports filtering, sorting, and pagination. Defaults to `false`.
    
-   `is_reference_type` (boolean)
    
    Set to `true` if the `Multi-Options` field is a `References` field.
    
-   `filetypes` (string\[\])
    
    An array of asset file types allowed in `Asset` and `Multi-Assets` fields. For example, `\["images", "videos", "audios", "texts"\]`.
    
-   `asset_folder_id` (number)
    
    Numeric ID of the asset folder allowed in `Asset` and `Multi-Assets` fields.
    
-   `allow_external_url` (boolean)
    
    Allow loading assets from an external URL in `Asset` and `Multi-Assets` fields. Defaults to `false`.
    
-   `email_link_type` (boolean)
    
    Allow specifying an email address in a `Link` field. Defaults to `false`.
    
-   `asset_link_type` (boolean)
    
    Allow specifying an asset’s URL in a `Link` field. Defaults to `false`.
    
-   `show_anchor` (boolean)
    
    When the URL in a `Link` field is an **Internal link**, allow users to define an anchor ID. Defaults to `false`.
    
-   `allow_target_blank` (boolean)
    
    Allow links set in a `Link` field to open in a new tab. Defaults to `false`.
    
-   `allow_custom_attributes` (boolean)
    
    Allow setting custom attributes in a `Link` field. Defaults to `false`.
    
-   `restrict_content_types` (boolean)
    
    When the URL in a `Link` field is an **Internal link**, allow users to select stories from an array of allowed content type blocks. Defaults to `false`.
    
-   `component_whitelist` (string\[\])
    
    When `restrict_content_types` is set to `true` in a `Link` field, specify the allowed content type blocks.
    
-   `force_link_scope` (boolean)
    
    When the URL in a `Link` field is an **Internal link**, allow users to only select stories from a specific folder. Defaults to `false`.
    
-   `link_scope` (string)
    
    When `force_link_scope` is set to `true` in a `Link` field, specify the allowed path.
    
-   `keys` (string\[\])
    
    An array of field keys displayed in a `Group` field (not to be confused with field keys that appear in tabs in the Visual Editor).
    
-   `field_type` (string)
    
    The name of the field type plugin used in a`Plugin` field.
    
-   `required_fields` (string)
    
    A comma-separated list of names of fields the user is required to fill in in a `Plugin` field.
    
-   `exclude_from_ai_translation` (boolean)
    
    Exclude the field from /docs/manuals/ai-assistance#ai-translations.
    
-   `exclude_from_merge` (boolean)
    
    Exclude the field when merging (requires the [Dimensions App](https://www.storyblok.com/apps/locales)).
    
-   `exclude_from_overwrite` (boolean)
    
    Exclude the field when overwriting (requires the [Dimensions App](https://www.storyblok.com/apps/locales)).
    
-   `force_merge` (boolean)
    
    Overwrite the field when merging (requires the [Dimensions App](https://www.storyblok.com/apps/locales)).
    
-   `conditional_settings` (object\[\])
    
    An array that contains an object with information about conditions set on the field.
    
    > [!TIP]
    > Learn more about conditional settings in the [Fields concept](/docs/concepts/fields).
    

### Deprecated fields properties

-   `image_crop` (boolean)
    
    For the [deprecated](/docs/concepts/fields#deprecated-fields) `Image` field. Activate force crop for images.
    
-   `keep_image_size` (boolean)
    
    For the [deprecated](/docs/concepts/fields#deprecated-fields) `Image` field. Keep the original image size.
    
-   `image_width` (string)
    
    For the [deprecated](/docs/concepts/fields#deprecated-fields) `Image` field. If `keep_image_size` is set to `true`, define the image width in pixels or width ratio.
    
-   `image_height` (string)
    
    For the [deprecated](/docs/concepts/fields#deprecated-fields) `Image` field. If `keep_image_size` is set to `true`, define the image height in pixels or height ratio.
    
-   `add_https` (boolean)
    
    For the [deprecated](/docs/concepts/fields#deprecated-fields) `Image` and `File` fields. Prepends `https:` to disallow relative paths.
    

The following snippet includes only a subset of the available properties:

Example Object

```json
    "schema": {
      "headline": {
        "type": "text",
        "pos": 0,
        "id": "s94HwQuyR9-3bbmTLRXcjQ"
      },
      "references": {
        "type": "options",
        "pos": 1,
        "is_reference_type": true,
        "source": "internal_stories",
        "entry_appearance": "card",
        "allow_advanced_search": true,
        "folder_slug": "articles/",
        "filter_content_type": [
          "article"
        ],
        "id": "3GLw9V2jTnOs7SKSv1CvtQ"
      },
      "image": {
        "type": "asset",
        "pos": 2,
        "id": "msSxIdkqSB-yVb_-wdVztQ",
        "filetypes": [],
        "asset_folder_id": null,
        "allow_external_url": false
      }
}
```

## Pagination

-   [Previous: The Component Object](/docs/api/management/components/the-component-object)
-   [Next: Update a Component](/docs/api/management/components/update-a-component)
