{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "$ref": "#/components/schemas/PkgUserRelationTypeVM",
  "components": {
    "schemas": {
      "PkgUserRelationTypeVM": {
        "required": [
          "key",
          "name"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "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
          },
          "graphLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgUserRelationTypeGraphUserRelationTypeVM"
            },
            "nullable": true
          },
          "key": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgNotificationUserRelationTypeVM"
            },
            "nullable": true
          },
          "state": {
            "enum": [
              "active",
              "inactive",
              "in-validation",
              "hidden"
            ],
            "type": "string",
            "nullable": true
          },
          "translations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PkgEntityTranslationVM"
            },
            "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
      },
      "PkgNotificationUserRelationTypeVM": {
        "required": [
          "notificationTemplateKey",
          "recipientUserRelationTypeKey"
        ],
        "type": "object",
        "properties": {
          "applicationKey": {
            "type": "string",
            "nullable": true
          },
          "notificationTemplateKey": {
            "minLength": 1,
            "type": "string"
          },
          "objectTypeKey": {
            "type": "string",
            "nullable": true
          },
          "recipientUserRelationTypeKey": {
            "minLength": 1,
            "type": "string"
          },
          "spacePath": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PkgUserRelationTypeGraphUserRelationTypeVM": {
        "required": [
          "lineDisplayTypeKey",
          "metamodelKey"
        ],
        "type": "object",
        "properties": {
          "lineDisplayTypeKey": {
            "minLength": 1,
            "enum": [
              "data_lineage",
              "foreign_key",
              "knowledge_relation",
              "knowledge_parent",
              "indirect_flow",
              "specialization",
              "verbal_concept",
              "association",
              "standard",
              "crows_foot"
            ],
            "type": "string"
          },
          "metamodelKey": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    }
  }
}