{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "$ref": "#/components/schemas/PkgObjectTypeVM",
  "components": {
    "schemas": {
      "PkgObjectTypeVM": {
        "required": [
          "key",
          "name"
        ],
        "type": "object",
        "properties": {
          "attributeTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgObjectTypeAttributeTypeVM"
            },
            "nullable": true
          },
          "categoryKey": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "domainTypeKeys": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "features": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "minLength": 1,
                      "enum": [
                        "is_data_dictionary_type",
                        "create_from_child_panel_only",
                        "create_without_concept",
                        "is_dependency_change",
                        "not_creatable_in_root",
                        "is_token_exact_value_match",
                        "is_condition_based_editable",
                        "disable_child_creation_based_on_workflow_state",
                        "anonymous_concept_check_workflow_on_publish",
                        "is_data_model_object",
                        "is_data_model_column",
                        "comments_allowed_in_concept",
                        "disable_move_based_on_workflow_state",
                        "not_creatable_by_contributor",
                        "is_object_type_diagram",
                        "is_object_type_error",
                        "is_object_type_script",
                        "is_object_type_space",
                        "is_object_type_code_list_table",
                        "is_object_type_code_list_column",
                        "is_object_type_pdm_app_model",
                        "is_object_type_file",
                        "is_object_type_model",
                        "is_object_type_table",
                        "is_object_type_view",
                        "is_object_type_column",
                        "is_object_type_domain",
                        "is_object_type_domain_area",
                        "is_object_type_uncategorized",
                        "is_object_type_data_product",
                        "is_object_type_output_port",
                        "is_object_type_input_port",
                        "is_object_type_data_contract",
                        "is_object_type_sla_property",
                        "is_object_type_quality_check"
                      ],
                      "type": "string",
                      "readOnly": true
                    },
                    "value": {
                      "type": "boolean",
                      "nullable": true
                    }
                  }
                },
                {
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "minLength": 1,
                      "enum": [
                        "facet_sort_order"
                      ],
                      "type": "string",
                      "readOnly": true
                    },
                    "value": {
                      "type": "integer",
                      "nullable": true
                    }
                  }
                },
                {
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "minLength": 1,
                      "enum": [
                        "create_as_diagram"
                      ],
                      "type": "string",
                      "readOnly": true
                    },
                    "value": {
                      "type": "string",
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "nullable": true
          },
          "graphDisplayLevels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgObjectTypeGraphObjectTypeVM"
            },
            "nullable": true
          },
          "iconKey": {
            "type": "string",
            "nullable": true
          },
          "initialWorkflowStateKey": {
            "type": "string",
            "nullable": true
          },
          "key": {
            "minLength": 1,
            "type": "string"
          },
          "moduleKey": {
            "enum": [
              "dictionary",
              "glossary",
              "hidden",
              "branching",
              "simple_flow"
            ],
            "type": "string",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgNotificationObjectTypeVM"
            },
            "nullable": true
          },
          "search": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgSearchVM"
            },
            "nullable": true
          },
          "state": {
            "enum": [
              "active",
              "inactive",
              "in-validation",
              "hidden"
            ],
            "type": "string",
            "nullable": true
          },
          "templates": {
            "$ref": "#/components/schemas/PkgObjectTemplateVM"
          },
          "tooltipAttributeTypeKey": {
            "type": "string",
            "nullable": true
          },
          "translations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgEntityTranslationVM"
            },
            "nullable": true
          },
          "userRelationTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgObjectTypeUserRelationTypeVM"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PkgObjectTypeUserRelationTypeVM": {
        "required": [
          "key"
        ],
        "type": "object",
        "properties": {
          "conditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgObjectTypeConditionVM"
            },
            "nullable": true
          },
          "features": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "minLength": 1,
                      "enum": [
                        "is_searchable_attribute",
                        "is_mandatory",
                        "is_space_inheritable",
                        "is_parent_object_inheritable",
                        "force_comment",
                        "is_dependency_change",
                        "can_change_impact_analysis",
                        "is_user_object_relation_type_admin",
                        "is_user_object_relation_type_steward",
                        "is_user_object_relation_type_business_owner",
                        "is_user_object_relation_type_private_space_owner",
                        "is_not_versioned",
                        "is_not_presented_in_changes",
                        "is_default_user_space_relation",
                        "is_single_value",
                        "disable_excel_template_export",
                        "is_allowed_to_move_in_move_object_based_on_role",
                        "can_be_shown_in_diagram",
                        "on_object_creation_is_creator_auto_assigned",
                        "disable_excel_object_export",
                        "is_user_object_relation_type_favourite",
                        "is_user_object_relation_type_watch",
                        "is_user_object_relation_type_shared_with_me",
                        "is_user_object_relation_type_liked",
                        "is_user_object_relation_type_disliked",
                        "is_user_object_relation_type_owner",
                        "is_user_object_relation_type_custodian",
                        "is_user_object_relation_type_sme",
                        "is_user_object_relation_type_producer"
                      ],
                      "type": "string",
                      "readOnly": true
                    },
                    "value": {
                      "type": "boolean",
                      "nullable": true
                    }
                  }
                },
                {
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "minLength": 1,
                      "enum": [
                        "fullness_score_value"
                      ],
                      "type": "string",
                      "readOnly": true
                    },
                    "value": {
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "nullable": true
          },
          "isReadOnly": {
            "type": "boolean",
            "nullable": true
          },
          "isSingleValue": {
            "type": "boolean",
            "nullable": true
          },
          "key": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PkgObjectTypeConditionVM": {
        "required": [
          "userRelationTypeKey"
        ],
        "type": "object",
        "properties": {
          "userRelationTypeKey": {
            "minLength": 1,
            "type": "string"
          },
          "workflowStateKey": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PkgEntityTranslationVM": {
        "required": [
          "languageKey"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "languageKey": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "shortcut": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PkgObjectTemplateVM": {
        "type": "object",
        "properties": {
          "main": {
            "$ref": "#/components/schemas/MainDatabaseTemplate"
          },
          "miscellaneous": {
            "$ref": "#/components/schemas/MiscellaneousDatabaseTemplate"
          },
          "objectDetail": {
            "$ref": "#/components/schemas/ObjectDetailDatabaseTemplate"
          },
          "search": {
            "$ref": "#/components/schemas/PkgSearchTemplateVM"
          }
        },
        "additionalProperties": false
      },
      "PkgSearchTemplateVM": {
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgSearchTemplateFacetedVM"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PkgSearchTemplateFacetedVM": {
        "required": [
          "enumKey",
          "enumKeyType"
        ],
        "type": "object",
        "properties": {
          "boostFieldName": {
            "type": "string",
            "nullable": true
          },
          "boostValue": {
            "type": "number",
            "format": "float",
            "nullable": true
          },
          "bucketCountLimit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultCollapsed": {
            "type": "boolean",
            "nullable": true
          },
          "elementType": {
            "enum": [
              "valueList",
              "hidden"
            ],
            "type": "string",
            "nullable": true
          },
          "enumKey": {
            "minLength": 1,
            "type": "string"
          },
          "enumKeyType": {
            "minLength": 1,
            "enum": [
              "application",
              "objectType",
              "space",
              "attribute",
              "relation",
              "userRelation",
              "codelist",
              "modelChanges",
              "script",
              "mr_data",
              "workflowState",
              "creator",
              "addRelation",
              "domainTypes",
              "userAttribute"
            ],
            "type": "string"
          },
          "iconId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "iconKey": {
            "type": "string",
            "nullable": true
          },
          "orderBucketsReverse": {
            "type": "boolean",
            "nullable": true
          },
          "orderBucketsType": {
            "type": "string",
            "nullable": true
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgSearchTemplateFacetedParameterVM"
            },
            "nullable": true
          },
          "primaryResultText": {
            "type": "boolean",
            "nullable": true
          },
          "showSelectAllValuesCheckBox": {
            "type": "boolean",
            "nullable": true
          },
          "subFacets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgSearchTemplateFacetedBaseVM"
            },
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "valueType": {
            "enum": [
              "none",
              "isText",
              "isTranslationKey",
              "isBoolean",
              "isNumber",
              "isDate",
              "isDateTime"
            ],
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PkgSearchTemplateFacetedBaseVM": {
        "required": [
          "enumKey",
          "enumKeyType"
        ],
        "type": "object",
        "properties": {
          "boostFieldName": {
            "type": "string",
            "nullable": true
          },
          "boostValue": {
            "type": "number",
            "format": "float",
            "nullable": true
          },
          "bucketCountLimit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultCollapsed": {
            "type": "boolean",
            "nullable": true
          },
          "elementType": {
            "enum": [
              "valueList",
              "hidden"
            ],
            "type": "string",
            "nullable": true
          },
          "enumKey": {
            "minLength": 1,
            "type": "string"
          },
          "enumKeyType": {
            "minLength": 1,
            "enum": [
              "application",
              "objectType",
              "space",
              "attribute",
              "relation",
              "userRelation",
              "codelist",
              "modelChanges",
              "script",
              "mr_data",
              "workflowState",
              "creator",
              "addRelation",
              "domainTypes",
              "userAttribute"
            ],
            "type": "string"
          },
          "iconId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "iconKey": {
            "type": "string",
            "nullable": true
          },
          "orderBucketsReverse": {
            "type": "boolean",
            "nullable": true
          },
          "orderBucketsType": {
            "type": "string",
            "nullable": true
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgSearchTemplateFacetedParameterVM"
            },
            "nullable": true
          },
          "primaryResultText": {
            "type": "boolean",
            "nullable": true
          },
          "showSelectAllValuesCheckBox": {
            "type": "boolean",
            "nullable": true
          },
          "subFacets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgSearchTemplateFacetedBaseVM"
            },
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "valueType": {
            "enum": [
              "none",
              "isText",
              "isTranslationKey",
              "isBoolean",
              "isNumber",
              "isDate",
              "isDateTime"
            ],
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PkgSearchTemplateFacetedParameterVM": {
        "required": [
          "enumKey",
          "enumKeyType"
        ],
        "type": "object",
        "properties": {
          "enumKey": {
            "minLength": 1,
            "type": "string"
          },
          "enumKeyType": {
            "minLength": 1,
            "enum": [
              "application",
              "objectType",
              "space",
              "attribute",
              "relation",
              "userRelation",
              "codelist",
              "modelChanges",
              "script",
              "mr_data",
              "workflowState",
              "creator",
              "addRelation",
              "domainTypes",
              "userAttribute"
            ],
            "type": "string"
          },
          "valueType": {
            "enum": [
              "none",
              "isText",
              "isTranslationKey",
              "isBoolean",
              "isNumber",
              "isDate",
              "isDateTime"
            ],
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PkgSearchVM": {
        "required": [
          "isSearchable"
        ],
        "type": "object",
        "properties": {
          "applicationKey": {
            "type": "string",
            "nullable": true
          },
          "attributeTypeKey": {
            "type": "string",
            "nullable": true
          },
          "boost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "functionKey": {
            "type": "string",
            "nullable": true
          },
          "indexKey": {
            "type": "string",
            "nullable": true
          },
          "isSearchable": {
            "type": "boolean"
          },
          "objectTypeKey": {
            "type": "string",
            "nullable": true
          },
          "searchAttachments": {
            "type": "boolean",
            "nullable": true
          },
          "spacePath": {
            "type": "string",
            "nullable": true
          },
          "tagKey": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PkgNotificationObjectTypeVM": {
        "required": [
          "notificationTemplateKey",
          "recipientUserRelationTypeKey"
        ],
        "type": "object",
        "properties": {
          "applicationKey": {
            "type": "string",
            "nullable": true
          },
          "attributeTypeKey": {
            "type": "string",
            "nullable": true
          },
          "notificationTemplateKey": {
            "minLength": 1,
            "type": "string"
          },
          "recipientUserRelationTypeKey": {
            "minLength": 1,
            "type": "string"
          },
          "relationTypeKey": {
            "type": "string",
            "nullable": true
          },
          "spacePath": {
            "type": "string",
            "nullable": true
          },
          "userRelationTypeKey": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PkgObjectTypeGraphObjectTypeVM": {
        "required": [
          "displayLevelKey",
          "metamodelKey"
        ],
        "type": "object",
        "properties": {
          "displayLevelKey": {
            "minLength": 1,
            "type": "string"
          },
          "metamodelKey": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PkgObjectTypeAttributeTypeVM": {
        "required": [
          "key"
        ],
        "type": "object",
        "properties": {
          "acceptableCodetableValues": {
            "type": "string",
            "nullable": true
          },
          "conditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgObjectTypeConditionVM"
            },
            "nullable": true
          },
          "defaultValue": {
            "type": "string",
            "nullable": true
          },
          "features": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "minLength": 1,
                      "enum": [
                        "is_translatable",
                        "is_mandatory",
                        "is_html",
                        "is_space_inheritable",
                        "is_token_keyword",
                        "is_token_text",
                        "is_not_presented_in_changes",
                        "is_number",
                        "is_checkbox",
                        "is_date",
                        "has_multiple_values",
                        "has_no_results_label",
                        "is_multiline",
                        "is_static_select",
                        "is_sql_raw",
                        "is_not_presented_in_changes_but_send_to_fe",
                        "is_search_type_term",
                        "is_search_type_text",
                        "is_search_type_number_10",
                        "is_search_type_number_100",
                        "is_search_type_number_1_000",
                        "is_search_type_number_10_000",
                        "is_search_type_number_100_000",
                        "is_search_type_number_1_000_000",
                        "is_search_type_bool",
                        "is_search_type_date",
                        "sort_by_number",
                        "is_url_link",
                        "clear_new_line",
                        "is_datetime",
                        "is_time",
                        "force_comment",
                        "is_parent_inheritable",
                        "is_dependency_change",
                        "is_attribute_type_domain_analysis",
                        "is_search_default_result_text",
                        "is_yes_no",
                        "is_yes_no_icon",
                        "is_attribute_type_fullness",
                        "is_jira_field",
                        "is_attribute_type_diagram_description",
                        "is_primary_key_attribute",
                        "is_data_type_attribute",
                        "is_nullability_attribute",
                        "is_core_diagram_attribute_primary_key",
                        "is_core_diagram_attribute_foreign_key",
                        "is_core_diagram_attribute_data_type",
                        "is_core_diagram_attribute_nullability",
                        "is_core_diagram_attribute_stereotype",
                        "can_be_shown_in_diagram",
                        "include_in_ai_summary",
                        "disable_excel_template_export",
                        "is_core_diagram_attribute_knowledge_weight",
                        "is_primary_definition",
                        "disable_excel_object_export",
                        "is_markdown",
                        "is_attribute_sensitive_document",
                        "is_list",
                        "is_attribute_type_space_short_description",
                        "is_attribute_type_codelist_table",
                        "is_attribute_type_stereotype",
                        "is_attribute_type_is_public",
                        "is_attribute_type_concept_note",
                        "is_attribute_type_order_number",
                        "is_attribute_type_data_type",
                        "is_attribute_type_filter_field_name",
                        "is_attribute_type_key_column",
                        "is_attribute_type_description_column_en",
                        "is_attribute_type_description_column_cs",
                        "is_attribute_type_description_column_fr",
                        "is_attribute_type_value_column",
                        "is_attribute_type_diagram_data",
                        "is_attribute_type_process_codelist",
                        "is_attribute_type_name",
                        "is_ai_generated_summary",
                        "is_ai_generated_summary_toggle_value",
                        "is_attribute_type_diagram_recalculation_flag",
                        "is_attribute_type_recommended",
                        "is_domain_definition",
                        "is_core_diagram_data_type_icon",
                        "is_attribute_type_concept_approval_decision_note",
                        "is_attribute_type_concept_name",
                        "is_domain_alternative_names",
                        "is_numbering_toggle",
                        "is_attribute_type_data_product_id",
                        "is_attribute_type_data_product_description",
                        "is_attribute_type_data_product_value_proposition",
                        "is_attribute_type_sensitivity",
                        "is_attribute_type_data_product_visibility",
                        "is_attribute_type_data_product_product_type"
                      ],
                      "type": "string",
                      "readOnly": true
                    },
                    "value": {
                      "type": "boolean",
                      "nullable": true
                    }
                  }
                },
                {
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "minLength": 1,
                      "enum": [
                        "ai_automatic_generated_by",
                        "with_export_control_group"
                      ],
                      "type": "string",
                      "readOnly": true
                    },
                    "value": {
                      "type": "string",
                      "nullable": true
                    }
                  }
                },
                {
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "minLength": 1,
                      "enum": [
                        "fullness_score_value"
                      ],
                      "type": "string",
                      "readOnly": true
                    },
                    "value": {
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "nullable": true
          },
          "htmlTemplate": {
            "type": "string",
            "nullable": true
          },
          "isReadOnly": {
            "type": "boolean",
            "nullable": true
          },
          "key": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    }
  }
}