---
title: "unfreezeSchema"
method: POST
path: "/v1/entity/schemas/{slug}/unfreeze"
tags: ["Schemas"]
---

# unfreezeSchema

`POST /v1/entity/schemas/{slug}/unfreeze`

Unfreeze a schema. Promotes the latest version to the current version for all users.

## Path parameters

- `slug` string, required — URL-friendly identifier for the entity schema

## Response `200`

Schema unfrozen successfully

- EntitySchemaItem — The "type" of an Entity. Describes the shape. Includes Entity Attributes, Relations and Capabilities.
  - `id` string, uuid — Generated uuid for schema
  - `created_at` string
  - `updated_at` string
  - `comment` string
  - `source` object
    - `id` string
    - `type` string
  - `frozen` boolean — Indicates this schema is currently frozen. Present when the returned version is the frozen version.
  - `latest` boolean — Indicates this is the latest version of the schema. Both frozen and latest can be true if no changes were made since freezing.
  - `_summary` boolean — Indicates this is a truncated summary schema (attributes trimmed to summary_attributes only, no capabilities or group_settings)
  - `slug` string, required — URL-friendly identifier for the entity schema
  - `version` integer
  - `blueprint` string, uuid — Reference to blueprint
  - `feature_flag` string — This schema should only be active when the feature flag is enabled
  - `enable_setting` string[] — This schema should only be active when one of the organization settings is enabled
  - `name` string, required — User-friendly identifier for the entity schema
  - `plural` string, required
  - `description` string
  - `docs_url` string, uri
  - `category` string
  - `published` boolean
  - `draft` boolean
  - `icon` string
  - `title_template` string — Template for rendering the title field. Uses handlebars
  - `ui_config` object
    - `table_view` union
      - EntityDefaultTable
        - `view_type` 'default'
        - `row_actions` union[]
          - union
            - string
            - EntityAction — An entity action configured from the entity schema
              - …
        - `bulk_actions` union[]
          - union
            - string
            - EntityAction — An entity action configured from the entity schema
              - …
        - `navbar_actions` object[]
          - `type` string, required
          - `options` object[]
            - `label` string, required
            - `params` object
        - `enable_thumbnails` boolean — Enable the thumbnail column
      - RedirectEntityView
        - `view_type` 'redirect'
        - `route` string
      - EntityViewDisabled
        - `view_type` 'disabled'
    - `create_view` union
      - EntityDefaultCreate
        - `view_type` 'default'
        - `search_params` object
      - RedirectEntityView
        - `view_type` 'redirect'
        - `route` string
      - EntityViewDisabled
        - `view_type` 'disabled'
    - `edit_view` union
      - EntityDefaultEdit
        - `view_type` 'default'
        - `search_params` object
        - `summary_attributes` string[] — List of attribute names that we show in the summary header
      - RedirectEntityView
        - `view_type` 'redirect'
        - `route` string
      - EntityViewDisabled
        - `view_type` 'disabled'
    - `single_view` union
      - EntityDefaultEdit
        - `view_type` 'default'
        - `search_params` object
        - `summary_attributes` string[] — List of attribute names that we show in the summary header
      - RedirectEntityView
        - `view_type` 'redirect'
        - `route` string
      - EntityViewDisabled
        - `view_type` 'disabled'
    - `list_item` object
      - `summary_attributes` union[]
        - union
          - SummaryAttribute — Represents an expanded version of an attribute to be displayed in the list item summary. This configuration can be used in the following way: ```js { "label": "Price components" "value": "{{item.prices.length}} price components" "show_as_tag": true "render_condition": "is_composite_price = "true"" } ``` The value field supports handlebar expressions from which you can pick any field from the entity state.
            - `label` string, required — Label to be shown on the top of the value.
            - `value` string, required — A static value or an handlebar expression.
            - `show_as_tag` boolean — Displays the value within a tag chip.
            - `tag_color` string — CSS hex color or CSS color name for the tag chip.
            - `render_condition` string — Defines the conditional rendering expression for showing this field. When a valid expression is parsed, their evaluation defines the visibility of this attribute. Note: Empty or invalid expression have no effect on the field visibility.
            - `feature_flag` string — Binds summary field visibility to the feature flag state.
            - `settings_flag` SettingFlag[] — This summary attribute should only be visible when all the settings have the correct value
              - …
            - `display_mode` 'inline' | 'block' — Defines the display mode of the summary attribute. When set to `inline`, the label and value will be displayed in the same line. When set to `block`, the label and value will be displayed in separate lines.
            - `content_line_cap` number — Defines the line numbers of the content. For instance, When set to 1, the content will be displayed in a single line.
            - `content_wrap` 'normal' | 'nowrap' | 'pre' | 'pre-wrap' — Defines white-space of the content.
            - `hide_label` boolean — When set to true, will hide the label of the field.
            - `highlight_container` boolean — When set to true, will highlight the container of the field.
          - string — List of attributes to show in list item
      - `quick_actions` EntityAction[]
        - `action` string, required — A unique action name
        - `label` string, required
        - `icon` string
        - `permission` string — Permission required to show the action. If not provided, the action will be shown to all users.
      - `ui_config` object
        - `content_direction` 'row' | 'column' — Show attributes in a row or column
    - `sharing` object
      - `show_sharing_button` boolean — Show the sharing button in entity detail view
    - `grid_layout` object — Widget-grid layout for the entity-details page (builder-authored); columns/cells drive the grid geometry.
      - `id` string — Identifier of the chosen grid-layout preset.
      - `columns` number — Number of columns in the widget grid.
      - `cells` number[] — Per-cell column span, positionally paired with the widgets in order.
    - `widget_order` string[] — Ordered list of widget ids controlling the entity-details widget-grid order. Each id is a capability widget's `component` (or `summary` for the synthesized summary card); widgets absent from the list keep their natural order at the end.
    - `widget_visibility` object — Per-widget on/off state for the entity-details widget grid, keyed by widget id (a capability widget's `component`, or `summary` for the synthesized summary card). Holds only the admin's deviations from each widget's declared default: a widget absent from this map falls back to its ui_hook `default_visible`, and then to visible. Do not seed this map from migrations — doing so would freeze today's defaults into the schema.
  - `capabilities` EntityCapability[], required
    - `id` string — ID for the entity capability
    - `name` string, required — Unique name for the capability
    - `title` string — Human readable title of the capability
    - `attributes` Attribute[] — unresolved $ref
    - `variant_overridable` boolean — Allow conditional variants of the entity to override the values managed by this capability. Only meaningful on schemas that declare `conditions` and on capabilities that render an attribute group (`EntityAttributes:Group` ui hook), e.g. pricing tiers. Attributes carried by the capability opt in individually via their own `variant_overridable` flag.
    - `_purpose` ClassificationId[]
    - `_manifest` string[], nullable — Manifest ID used to create/update the schema capabilility
    - `app_id` string — ID of the app if the capability is provided by an app
    - `adjust_installment` AdjustInstallmentCapabilityConfig — Configuration for adjusting a contract installment through a Journey.
      - `journey_id` string, required — ID of the Flow Journey to open when adjusting the installment.
    - `ui_config` object
      - `is_filterable` boolean — Whether the capability is filterable
    - `ui_hooks` object[]
      - `hook` string, required — name of the hook to use
      - `render_condition` string
      - `order` integer — render order (ascending)
      - `title` string
      - `group_expanded` boolean — Sets the group expand/collapse default state
      - `import` string — package to be imported
      - `component` string — the component to be dynamically loaded
      - `route` string — route for specified capability
      - `icon` string — Preview icon name(As in Base elements) for the capability
      - `disabled` boolean — Whether capability should be disabled
      - `header` boolean — Specific to Activity pilot
      - `requiredPermission` object — Require a permission to display UI hook
        - `action` string, required
        - `resource` string
      - `default_visible` boolean — Whether this widget is switched on by default for entity types that have the capability. Only meaningful on the `EntityDetailsV2:Widget` hook. Defaults to true when omitted. An admin's explicit choice in the entity builder is stored in the schema's `ui_config.widget_visibility` and wins over this.
      - `pricing_tier_setting` string — The pricing-tier settings key an organisation must have enabled to use this widget. Omit for widgets available to everyone. Resolved against `GET /v2/pricing-tiers/me` as `override_settings[key].enabled ?? settings[key].enabled`. Note this is commercial packaging enforced in the UI, not a security control — the key must also be added to the pricing tier settings list in epilot-admin-portal, or it can never be switched on for a tier.
    - `feature_flag` string — This capability should only be active when the feature flag is enabled
    - `settings_flag` SettingFlag[] — This capability should only be active when all the settings have the correct value
      - `name` string — The name of the organization setting to check
      - `enabled` boolean — Whether the setting should be enabled or not
    - `schemas` object[] — Schema-specific configuration for the capability
      - `schema` string, required — Entity schema slug
  - `group_settings` EntitySchemaGroup[] — A list of Group Titles and associated settings if present.
    - `label` string, required
    - `id` string
    - `order` integer — Render order of the group
    - `expanded` boolean — Expanded by default
    - `render_condition` string — Only render group when render_condition resolves to true
    - `_purpose` ClassificationId[] — Only render group when one of the purposes is enabled
    - `_manifest` string[], nullable — Manifest ID used to create/update the schema group
    - `feature_flag` string — This group should only be active when the feature flag is enabled
    - `settings_flag` SettingFlag[] — This group should only be active when all the settings have the correct value
      - `name` string — The name of the organization setting to check
      - `enabled` boolean — Whether the setting should be enabled or not
    - `info_tooltip_title` object
      - `key` string — Translation key for info tooltip
      - `default` string — Default string for info tooltip
  - `layout_settings` object — Custom grid definitions for the layout. These settings are composed by managed and un-managed properties: - Managed Properties: are interpreted and transformed into layout styles - Un-managed Properties: are appended as styles into the attribute mounting node
    - `grid_gap` string — Defines the grid gap for the mounting node of the attribute.
    - `grid_template_columns` string — Defines the grid column template for the mounting node of the attribute.
  - `dialog_config` object
  - `attributes` Attribute[], required — An ordered list of attributes the entity contains — unresolved $ref
  - `_purpose` string[]
  - `_manifest` string[], nullable — Manifest ID used to create the schema
  - `explicit_search_mappings` SearchMappings — Advanced: explicit Elasticsearch index mapping definitions for entity data
  - `group_headlines` GroupHeadline[]
    - `id` string, uuid
    - `name` string, required
    - `label` string, required
    - `layout` string
    - `group` string, required — The group of headline attribute
    - `order` integer — The order of headline attribute
    - `type` 'headline', required
    - `enable_divider` boolean
    - `divider` 'top_divider' | 'bottom_divider'
    - `_purpose` ClassificationId[]
    - `_manifest` string[], nullable — Manifest ID used to create/update the schema group headline
  - `conditions` ConditionDefinition[], nullable — Dimensions that conditional variants of this entity type are keyed by. Absent or `null` means entities of this type are not conditional. Attributes whose values a variant may override are marked with `variant_overridable`.
    - union — One dimension that conditional variants of an entity type are keyed by. `type` discriminates the variants: only a `select` condition carries `values`, and only a `location` condition carries `format`.
      - ScalarConditionDefinition — A condition whose value is a plain scalar, with no further configuration.
        - `id` string, uuid, required — Stable identity of the condition, generated by the client when the condition is created. It is what makes a rename distinguishable from a remove + add, so it must be round-tripped unchanged for the lifetime of the condition.
        - `name` string, required — The key variant values are stored under. Unique within the schema and immutable once the condition has been saved.
        - `label` string, required — Display label. Always editable.
        - `type` 'string' | 'number' | 'date' | 'daterange' | 'boolean', required — Immutable once the condition has been saved.
      - SelectConditionDefinition — A condition whose value is one of a fixed set of options.
        - `id` string, uuid, required — Stable identity of the condition, generated by the client when the condition is created. It is what makes a rename distinguishable from a remove + add, so it must be round-tripped unchanged for the lifetime of the condition.
        - `name` string, required — The key variant values are stored under. Unique within the schema and immutable once the condition has been saved.
        - `label` string, required — Display label. Always editable.
        - `type` 'select', required — Immutable once the condition has been saved.
        - `values` string[] — Selectable options. May be empty while the condition is being configured.
      - LocationConditionDefinition — A condition whose value identifies a place.
        - `id` string, uuid, required — Stable identity of the condition, generated by the client when the condition is created. It is what makes a rename distinguishable from a remove + add, so it must be round-tripped unchanged for the lifetime of the condition.
        - `name` string, required — The key variant values are stored under. Unique within the schema and immutable once the condition has been saved.
        - `label` string, required — Display label. Always editable.
        - `type` 'location', required — Immutable once the condition has been saved.
        - `format` 'zipcode' | 'zipcode_town' — The shape of the location value. Immutable once the condition has been saved.

## Other responses

- `404` — The requested resource was not found

---

[API](https://skmtc.net/epilot/apis/entity-api.md) · [All operations](https://skmtc.net/epilot/apis/entity-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/epilot/entity-api/revisions/3020984570dc/schema)
