{ "openapi": "3.0.4", "info": { "title": "Fenergo Nebula Policy Query", "description": "Policy Query API is part of FenX eco-system to query for Requirement Sets, Requirements, Data Groups and Data Group Fields Instances. All the operations require valid access token obtained from Identity service.", "version": "3.0" }, "servers": [ { "url": "/policyquery" } ], "paths": { "/api/v3/requirements-in-scope": { "post": { "tags": [ "RequirementsInScope" ], "summary": "Get requirements in scope", "description": "\nReturns deduplicated requirements that are in scope for a given search criteria.

Required permissions:
Following permissions are required: PolicySearch", "operationId": "GetRequirementsInScopeV3", "parameters": [ { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "description": "Evaluated Requirements in scope request with a set of criteria to search", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/RequirementsInScopeRequestV2DtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "200": { "description": "Success. List of evaluated requirements is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequirementDtoListServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/v3/requirements-in-scope/search": { "post": { "tags": [ "RequirementsInScope" ], "summary": "Search requirements", "description": "\nReturns requirements that are in scope for a given search criteria.

Required permissions:
Following permissions are required: PolicySearch", "operationId": "SearchRequirements", "parameters": [ { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "description": "Requirements in scope request with a set of criteria to search", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SearchRequirementsDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "200": { "description": "Success. List of requirements is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequirementDtoListServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } } }, "components": { "schemas": { "AccessLayerDto": { "type": "object", "properties": { "geographic": { "type": "array", "items": { "type": "string" }, "nullable": true }, "businessRelated": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "BasicRuleDto": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "message": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" } }, "additionalProperties": false, "description": "Request DTO representing basic validation rule metadata" }, "BasicRuleDto2": { "type": "object", "properties": { "errorMessage": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" } }, "additionalProperties": false, "description": "Request DTO representing basic validation rule metadata" }, "BasicRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true }, "dynamicRules": { "type": "array", "items": { "$ref": "#/components/schemas/BasicRuleDtoConditionalValueDto" }, "description": "Conditional validation rules", "nullable": true } }, "additionalProperties": false }, "BasicRuleDtoConditionalValueDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "value": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 } }, "additionalProperties": false }, "BasicRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "CollectionMaximumCountRuleDto": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "message": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "requiredTypesMaxCount": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32" }, "description": "Dictionary of required Primary Data Group Field values with maximum count", "nullable": true, "example": { "Registered": 1 } }, "overallMaximumCount": { "type": "integer", "description": "Overall maximum count", "format": "int32", "nullable": true, "example": 1 } }, "additionalProperties": false, "description": "Request DTO representing collection maximum count validation rule metadata" }, "CollectionMaximumCountRuleDto2": { "type": "object", "properties": { "errorMessage": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "requiredTypesMaxCount": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32" }, "description": "Dictionary of required Primary Data Group Field values with maximum count", "nullable": true, "example": { "Registered": 1 } }, "overallMaximumCount": { "type": "integer", "description": "Overall maximum count", "format": "int32", "nullable": true, "example": 1 } }, "additionalProperties": false, "description": "Request DTO representing collection maximum count validation rule metadata" }, "CollectionMaximumCountRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/CollectionMaximumCountRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "CollectionMinimumCountRuleDto": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "message": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "requiredTypesMinCount": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32" }, "description": "Dictionary of required Primary Data Group Field values with minimum count", "nullable": true, "example": { "Registered": 1 } }, "overallMinimumCount": { "type": "integer", "description": "Overall minimum count", "format": "int32", "example": 1 } }, "additionalProperties": false, "description": "Request DTO representing collection minimum count validation rule metadata" }, "CollectionMinimumCountRuleDto2": { "type": "object", "properties": { "errorMessage": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "requiredTypesMinCount": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32" }, "description": "Dictionary of required Primary Data Group Field values with minimum count", "nullable": true, "example": { "Registered": 1 } }, "overallMinimumCount": { "type": "integer", "description": "Overall minimum count", "format": "int32", "example": 1 } }, "additionalProperties": false, "description": "Request DTO representing collection minimum count validation rule metadata" }, "CollectionMinimumCountRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/CollectionMinimumCountRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "ConditionDefinitionDto": { "type": "object", "properties": { "fieldName": { "type": "string", "description": "Name of the field to evaluate", "nullable": true, "example": "EntityType" }, "value": { "type": "array", "items": { "type": "string" }, "description": "List of values", "nullable": true }, "valueId": { "type": "array", "items": { "type": "string" }, "description": "List of value ids", "nullable": true }, "valueType": { "type": "string", "description": "Type of the value", "nullable": true, "example": "text" }, "dataSource": { "type": "string", "description": "Data source from which field is retrieved. If empty then Entity Data properties will be used.", "nullable": true, "example": "entityDataMetadata" }, "operation": { "type": "string", "description": "Logical operation to be performed to match the values", "nullable": true, "example": "equal" }, "logicalOperation": { "type": "string", "description": "Logical operation to be performed on the operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "valueField": { "allOf": [ { "$ref": "#/components/schemas/ValueField" } ], "description": "Field value used for conditional limit validation", "nullable": true } }, "additionalProperties": false, "description": "Represents condition" }, "ConditionDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true } }, "additionalProperties": false, "description": "Represents condition root" }, "ConditionalValueDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "value": { "type": "string", "description": "Value that should be returned when conditions are met", "nullable": true, "example": "Relationship Manager" }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 }, "valueId": { "type": "string", "description": "Value Id that should be returned when conditions are met", "nullable": true, "example": "RM" } }, "additionalProperties": false }, "DataFieldDto": { "type": "object", "properties": { "propertyName": { "type": "string", "description": "Property name", "nullable": true, "example": "firstName" }, "propertyType": { "type": "string", "description": "Property type", "nullable": true, "example": "text" }, "propertyTypeId": { "type": "string", "description": "Property type id", "format": "uuid", "nullable": true, "example": "ab92ecbc-bd77-494b-acad-3d2fb0b8136c" }, "linkChildFieldPropertyName": { "type": "string", "description": "Linked child field property name", "nullable": true, "example": "productCategory" }, "linkedParentFieldPropertyName": { "type": "string", "description": "Linked Parent field property name", "nullable": true, "example": "productCategory" }, "externalSearchApiProviderId": { "type": "string", "description": "External search api provider id", "format": "uuid", "nullable": true, "example": "ab92ecbc-bd77-494b-acad-3d2fb0b8136c" }, "propertyTypeVersion": { "type": "integer", "description": "Property version", "format": "int32", "nullable": true, "deprecated": true }, "formulaSchema": { "allOf": [ { "$ref": "#/components/schemas/NumberFormulaSchemaDto" } ], "description": "Number formula schema", "nullable": true }, "dateTimePeriodFormulaSchema": { "allOf": [ { "$ref": "#/components/schemas/DateTimePeriodFormulaSchemaDto" } ], "description": "Date formula schema", "nullable": true } }, "additionalProperties": false, "description": "Response DTO representing data field data" }, "DataValidationRulesDto": { "type": "object", "properties": { "mandatory": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoConditionalValidationRuleDto" } ], "description": "Mandatory Rule - does not allow empty value", "nullable": true }, "specialCharacters": { "allOf": [ { "$ref": "#/components/schemas/SpecialCharactersRuleDtoValidationRuleDto" } ], "description": "Special characters validation rule - does not allow special characters,\nbut allows define array of characters which can be ignored by the validation", "nullable": true }, "noNumbers": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that does not allow numbers", "nullable": true }, "onlyInteger": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows only integers", "nullable": true }, "noNegative": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that does not allow negative numbers", "nullable": true }, "onlyDecimal": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows numbers up to two decimal places", "nullable": true }, "regex": { "allOf": [ { "$ref": "#/components/schemas/RegexRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that validates the value against provided regex", "nullable": true }, "characterLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to set minimum and maximum count of characters", "nullable": true }, "numberLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to set number range", "nullable": true }, "noFutureDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that does not allow future dates", "nullable": true }, "noPastDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that does not allow past dates", "nullable": true }, "dateLimit": { "allOf": [ { "$ref": "#/components/schemas/DateLimitRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that allows to set date range", "nullable": true }, "multiSelectLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that allows to set selection range", "nullable": true }, "collectionMinimumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMinimumCountRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to set minimum count requirements for collection", "nullable": true }, "collectionMaximumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMaximumCountRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to set maximum count requirements for collection", "nullable": true }, "externalProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to use external provider for validation", "nullable": true }, "externalDataGroupProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to use external provider for validation of one field with other fields as context", "nullable": true }, "readOnly": { "allOf": [ { "$ref": "#/components/schemas/EmptyRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that allows to set if field should be read only", "nullable": true }, "conditionalLimit": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that validates the dynamic value against provided condition", "nullable": true }, "timeZoneId": { "type": "string", "description": "Time zone id used for date values validation in order to determine exact Today time range", "nullable": true, "example": "Europe/Warsaw" } }, "additionalProperties": false, "description": "Request DTO representing validation data metadata" }, "DateLimitRuleDto": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "message": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "minDate": { "type": "string", "description": "Minimum date", "format": "date-time", "nullable": true, "example": "2020-01-01T14:48:00.000Z" }, "maxDate": { "type": "string", "description": "Maximum date", "format": "date-time", "nullable": true, "example": "2021-01-01T14:48:00.000Z" } }, "additionalProperties": false, "description": "Request DTO representing date limit rule metadata" }, "DateLimitRuleDto2": { "type": "object", "properties": { "errorMessage": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "minDate": { "type": "string", "description": "Minimum date", "format": "date-time", "nullable": true, "example": "2020-01-01T14:48:00.000Z" }, "maxDate": { "type": "string", "description": "Maximum date", "format": "date-time", "nullable": true, "example": "2021-01-01T14:48:00.000Z" } }, "additionalProperties": false, "description": "Request DTO representing date limit rule metadata" }, "DateLimitRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/DateLimitRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true }, "dynamicRules": { "type": "array", "items": { "$ref": "#/components/schemas/DateLimitRuleDtoConditionalValueDto" }, "description": "Conditional validation rules", "nullable": true } }, "additionalProperties": false }, "DateLimitRuleDtoConditionalValueDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "value": { "allOf": [ { "$ref": "#/components/schemas/DateLimitRuleDto2" } ], "description": "Request DTO representing date limit rule metadata", "nullable": true }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 } }, "additionalProperties": false }, "DateTimePeriodFormulaSchemaDto": { "type": "object", "properties": { "formulaSetId": { "type": "string", "format": "uuid" }, "versionNumber": { "type": "integer", "format": "int32", "nullable": true }, "formulaString": { "type": "string", "nullable": true }, "dateTimePeriodFormulaVariables": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/DateTimePeriodFormulaVariableDto" }, "nullable": true } }, "additionalProperties": false }, "DateTimePeriodFormulaVariableDto": { "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true }, "timePeriodKind": { "type": "string", "nullable": true }, "value": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "timeZoneId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "EmptyRuleDto": { "type": "object", "additionalProperties": false, "description": "Request DTO representing rule with no parameters" }, "EmptyRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/EmptyRuleDto" } ], "description": "Static validation rule always applied when active", "nullable": true }, "dynamicRules": { "type": "array", "items": { "$ref": "#/components/schemas/EmptyRuleDtoConditionalValueDto" }, "description": "Conditional validation rules", "nullable": true } }, "additionalProperties": false }, "EmptyRuleDtoConditionalValueDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "value": { "allOf": [ { "$ref": "#/components/schemas/EmptyRuleDto" } ], "description": "Request DTO representing rule with no parameters", "nullable": true }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 } }, "additionalProperties": false }, "ExternalProviderRuleDto": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "message": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "providerId": { "type": "string", "description": "Id of external provider.", "format": "uuid" } }, "additionalProperties": false, "description": "Request DTO representing external provider rule metadata" }, "ExternalProviderRuleDto2": { "type": "object", "properties": { "providerId": { "type": "string", "description": "Id of external provider.", "format": "uuid" } }, "additionalProperties": false, "description": "Request DTO representing external provider rule metadata" }, "ExternalProviderRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "FilterConditionDto": { "type": "object", "properties": { "fieldName": { "type": "string", "description": "Field name for the filter condition", "nullable": true }, "conditions": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDto" }, "description": "Conditions applied to the field", "nullable": true } }, "additionalProperties": false }, "NumberFormulaSchemaDto": { "type": "object", "properties": { "formulaSetId": { "type": "string", "format": "uuid" }, "versionNumber": { "type": "integer", "format": "int32", "nullable": true }, "formulaString": { "type": "string", "nullable": true }, "formulaVariables": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/NumberFormulaVariableDto" }, "nullable": true } }, "additionalProperties": false }, "NumberFormulaVariableDto": { "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true }, "propertyName": { "type": "string", "nullable": true }, "filterConditions": { "type": "array", "items": { "$ref": "#/components/schemas/FilterConditionDto" }, "nullable": true } }, "additionalProperties": false }, "ObjectServiceResponse": { "type": "object", "properties": { "data": { "description": "The service response DTO", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response", "nullable": true } }, "additionalProperties": false, "description": "Service response data" }, "OwnershipValidationDataDto": { "type": "object", "properties": { "isMandatory": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true }, "partyCount": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto" } ], "description": "Request DTO representing value limit rule metadata", "nullable": true }, "addAllParties": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true }, "idvIsMandatory": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true }, "idvPartyCount": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto" } ], "description": "Request DTO representing value limit rule metadata", "nullable": true }, "idvAllParties": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true } }, "additionalProperties": false }, "OwnershipValidationRuleDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the ownership validation rule", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "setId": { "type": "string", "description": "The UiD of the requirement set", "format": "uuid", "example": "012cfe3a-7bfa-41e7-8269-d49b3b38dff3" }, "ownershipValidationData": { "allOf": [ { "$ref": "#/components/schemas/OwnershipValidationDataDto" } ], "description": "Ownership Validation Data - set of validation rules specific to ownership requirement", "nullable": true } }, "additionalProperties": false }, "ProblemDetails": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "status": { "type": "integer", "format": "int32", "nullable": true }, "detail": { "type": "string", "nullable": true }, "instance": { "type": "string", "nullable": true } }, "additionalProperties": { } }, "ReferenceDto": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "url": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RegexRuleDto": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "message": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "isCaseSensitive": { "type": "boolean", "description": "Flag that indicate if regex is case sensitive", "example": false }, "regexValue": { "type": "string", "description": "Regex expression", "nullable": true, "example": "^[\\\\w-\\\\.]+@([\\\\w-]+\\\\.)+[\\\\w-]{2,4}$" } }, "additionalProperties": false, "description": "Request DTO representing regex rule metadata" }, "RegexRuleDto2": { "type": "object", "properties": { "errorMessage": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "isCaseSensitive": { "type": "boolean", "description": "Flag that indicate if regex is case sensitive", "example": false }, "regexValue": { "type": "string", "description": "Regex expression", "nullable": true, "example": "^[\\\\w-\\\\.]+@([\\\\w-]+\\\\.)+[\\\\w-]{2,4}$" } }, "additionalProperties": false, "description": "Request DTO representing regex rule metadata" }, "RegexRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/RegexRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true }, "dynamicRules": { "type": "array", "items": { "$ref": "#/components/schemas/RegexRuleDtoConditionalValueDto" }, "description": "Conditional validation rules", "nullable": true } }, "additionalProperties": false }, "RegexRuleDtoConditionalValueDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "value": { "allOf": [ { "$ref": "#/components/schemas/RegexRuleDto2" } ], "description": "Request DTO representing regex rule metadata", "nullable": true }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 } }, "additionalProperties": false }, "RequirementDto": { "type": "object", "properties": { "rootVersionId": { "type": "string", "description": "The UiD of the root requirement set version", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "versionNumber": { "type": "integer", "description": "Requirement set version number", "format": "int32", "example": 1 }, "id": { "type": "string", "description": "The UiD of the requirement", "format": "uuid", "example": "84ec28e2-d786-417b-850f-96321dd849dd" }, "tenant": { "type": "string", "description": "The UiD of the tenant", "nullable": true, "example": "c345f3e9-c9f7-40ac-9eaa-654c2d2de1d1" }, "category": { "type": "string", "description": "Requirement business category", "nullable": true, "example": "Basic Details" }, "description": { "type": "string", "description": "Requirement description", "nullable": true, "example": "This is the client first name" }, "template": { "type": "string", "description": "Requirement template", "nullable": true, "example": "Product" }, "entityType": { "type": "string", "description": "Requirement entity type", "nullable": true, "example": "Individual" }, "name": { "type": "string", "description": "Requirement name", "nullable": true, "example": "First Name" }, "isSensitiveData": { "type": "boolean", "description": "Requirement sensitive data flag", "example": true }, "isMaterialData": { "type": "boolean", "description": "Requirement material data flag", "example": true }, "isCoreDefinition": { "type": "boolean", "description": "Requirement is defined as core and cannot be deleted or altered", "example": false }, "jurisdiction": { "type": "string", "description": "Requirement jurisdiction", "nullable": true, "example": "Global" }, "references": { "type": "array", "items": { "$ref": "#/components/schemas/ReferenceDto" }, "description": "Requirement references list", "nullable": true }, "targetEntity": { "type": "string", "description": "Requirement target entity", "nullable": true, "example": "Client" }, "classification": { "type": "string", "description": "Requirement classification", "nullable": true, "example": "Customer Profiling" }, "type": { "type": "string", "description": "Requirement type", "nullable": true, "example": "Data" }, "conditions": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDto" }, "description": "Requirement conditions list", "nullable": true }, "RequirementSetId": { "type": "string", "description": "The UiD of the current requirement set version", "format": "uuid", "example": "c060f297-70a2-4d4c-9360-9b5b39060ff0" }, "versionId": { "type": "string", "description": "The UiD of the current requirement set version", "format": "uuid", "example": "e060f297-70a2-4d4c-9360-9b5b39060ff0" }, "dataField": { "allOf": [ { "$ref": "#/components/schemas/DataFieldDto" } ], "description": "Data Field", "nullable": true }, "dataProtectionJurisdiction": { "type": "string", "description": "Jurisdiction for data protection", "nullable": true, "example": "Global" }, "order": { "type": "number", "description": "Order", "format": "double", "nullable": true, "example": 1 }, "defaultValue": { "type": "string", "description": "Default Value", "nullable": true, "example": "Not Available" }, "isReadOnly": { "type": "boolean", "description": "Is requirement readonly", "example": false }, "isIndexable": { "type": "boolean", "description": "Is requirement indexable", "example": true }, "isJourneyLevelData": { "type": "boolean", "description": "Is journey level data", "example": false }, "isMandatoryIndexable": { "type": "boolean", "description": "Is requirement mandatory indexable", "example": true }, "isMandatory": { "type": "boolean", "description": "Is requirement mandatory", "example": false }, "documentDescription": { "type": "string", "description": "Document Description", "nullable": true, "example": "Driver License" }, "documentDataKey": { "type": "string", "description": "Document Data Key", "nullable": true }, "documentAccessLayers": { "allOf": [ { "$ref": "#/components/schemas/AccessLayerDto" } ], "description": "Document Access Layers", "nullable": true }, "acceptableDocumentDataKeys": { "type": "array", "items": { "type": "string" }, "description": "List of acceptable Document Types for the Document Requirement", "nullable": true }, "fieldAccessLayers": { "allOf": [ { "$ref": "#/components/schemas/AccessLayerDto" } ], "description": "Field Access Layers", "nullable": true }, "isMasked": { "type": "boolean", "description": "Flag indicating if field is masked due to missing Sensitive Data Access layers", "example": false }, "ownershipDataKey": { "type": "string", "description": "Ownership Data Key", "nullable": true, "example": "DataKey" }, "partyTypes": { "type": "array", "items": { "type": "string" }, "description": "Party Types e.g. [\"Director\"]", "nullable": true }, "uboThreshold": { "type": "number", "description": "UBO Threshold", "format": "double", "nullable": true, "example": 0.6 }, "relatedPartyEntityTypes": { "type": "array", "items": { "type": "string" }, "description": "Types of Related Party Entity e.g. [\"Individual\"]", "nullable": true }, "directAssociationsOnly": { "type": "boolean", "description": "Is Only direct association", "example": false }, "idvOn": { "type": "boolean", "description": "Is Idv On", "example": false }, "idvName": { "type": "string", "description": "Idv Name", "nullable": true, "example": "IdentityRequirement" }, "idvTooltip": { "type": "string", "description": "Idv Tooltip", "nullable": true, "example": "Identity Requirement" }, "ownershipValidationRule": { "allOf": [ { "$ref": "#/components/schemas/OwnershipValidationRuleDto" } ], "description": "Ownership Validation Rule", "nullable": true }, "validationRule": { "allOf": [ { "$ref": "#/components/schemas/ValidationRuleDto" } ], "description": "Validation Rule", "nullable": true }, "validationRulesV2": { "allOf": [ { "$ref": "#/components/schemas/DataValidationRulesDto" } ], "description": "Request DTO representing validation data metadata", "nullable": true }, "conditionalValues": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionalValueDto" }, "description": "List of conditional values", "nullable": true }, "hasEvaluatedConditionalValue": { "type": "boolean", "description": "Does this field has evaluated conditional value?" }, "evaluatedConditionalValueId": { "type": "string", "description": "Evaluated conditional value Id", "nullable": true }, "evaluatedConditionalValue": { "type": "string", "description": "Evaluated conditional value", "nullable": true }, "tags": { "type": "array", "items": { "type": "string" }, "description": "List of tags", "nullable": true }, "clearValueIfTriggerConditionNotMet": { "type": "boolean", "description": "Indicates whether the field value should be cleared when trigger conditions are not met", "example": false }, "aggregateVersion": { "type": "integer", "description": "Requirement aggregate version", "format": "int32", "nullable": true, "example": 1 }, "uiDecoration": { "type": "string", "description": "Determines how the requirement should be rendered", "nullable": true }, "uiColorDecoration": { "type": "string", "description": "Determines with what colour requirement should be rendered", "nullable": true }, "portalGuidance": { "type": "string", "description": "Portal guidance", "nullable": true, "example": "Provide at least one director RP" }, "isLocked": { "type": "boolean", "description": "True if the aggregate is locked (obsolete)", "example": false, "deprecated": true }, "discriminator": { "type": "string", "description": "Data group field core definition flag (obsolete)", "nullable": true, "example": "true", "deprecated": true }, "version": { "type": "integer", "description": "Requirement aggregate version (obsolete)", "format": "int32", "example": true, "deprecated": true }, "partyCount": { "type": "integer", "description": "Requirement party count", "format": "int32", "nullable": true, "example": 1, "deprecated": true }, "partyType": { "type": "string", "description": "Requirement party type", "nullable": true, "example": "Shareholder", "deprecated": true }, "sourceEntityType": { "type": "string", "description": "Any of the related party entity types selected can be counted toward this requirement", "nullable": true, "example": "Individual", "deprecated": true } }, "additionalProperties": false, "description": "Request DTO representing requirement metadata" }, "RequirementDtoListServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/RequirementDto" }, "description": "The service response DTO", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response", "nullable": true } }, "additionalProperties": false, "description": "Service response data" }, "RequirementsInScopeRequestV2Dto": { "type": "object", "properties": { "type": { "type": "string", "description": "Type of requirement", "nullable": true, "example": "Data" }, "name": { "type": "string", "description": "Exact name of the requirement", "nullable": true, "example": "Fenergo Comprehensive Standard Policy Requirements" }, "category": { "type": "array", "items": { "type": "string" }, "description": "List of requirement category e.g. [\"Basic Details\", \"Enrich Details\"]", "nullable": true }, "jurisdictions": { "type": "array", "items": { "$ref": "#/components/schemas/VersionedJurisdictionDto" }, "description": "Jurisdictions of the requirement in specific version. Null versionId will get the latest.", "nullable": true }, "isMandatory": { "type": "boolean", "description": "Mandatory flag of the requirement", "nullable": true, "example": true }, "entityType": { "type": "string", "description": "Type of entity", "nullable": true, "example": "Company" }, "isMaterialData": { "type": "boolean", "description": "Materiality flag of the requirement", "nullable": true, "example": true }, "isSensitiveData": { "type": "boolean", "description": "Sensitive data flag of the requirement", "nullable": true, "example": true }, "dataField": { "allOf": [ { "$ref": "#/components/schemas/DataFieldDto" } ], "description": "Data field definition", "nullable": true }, "isIndexable": { "type": "boolean", "description": "Requirement is data indexed for search flag", "nullable": true, "example": true }, "includeConditions": { "type": "boolean", "description": "Include conditions flag.\nIf true, include the Requirements containing conditions.\nIf false, only the Requirements without conditions will be returned.\nfalse" }, "targetEntity": { "type": "string", "description": "Target entity", "nullable": true, "example": "Client" }, "disableFilteringForConditionalValues": { "type": "boolean", "description": "Do not filter requirements that have evaluated conditional values by categories" }, "enableBasicDataRequirementsFiltering": { "type": "boolean", "description": "Filter data requirements only by basic properties: Target entity and Entity type" }, "disableDeduplication": { "type": "boolean", "description": "Disable Requirements deduplication based on data key", "example": true } }, "additionalProperties": false, "description": "Request DTO representing requirements search filter" }, "RequirementsInScopeRequestV2DtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/RequirementsInScopeRequestV2Dto" } ], "description": "Request DTO representing requirements search filter", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "SearchRequirementsDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Exact name of the requirement", "nullable": true, "example": "Fenergo Comprehensive Standard Policy Requirements" }, "type": { "type": "string", "description": "Type of requirement", "nullable": true, "example": "Data" }, "jurisdictions": { "type": "array", "items": { "$ref": "#/components/schemas/VersionedJurisdictionDto" }, "description": "Jurisdictions of the requirement in specific version. Null versionId will get the latest.", "nullable": true }, "category": { "type": "array", "items": { "type": "string" }, "description": "List of requirement category e.g. [\"Basic Details\", \"Enrich Details\"]", "nullable": true }, "entityType": { "type": "string", "description": "Type of entity", "nullable": true, "example": "Company" }, "isMandatory": { "type": "boolean", "description": "Mandatory flag of the requirement", "nullable": true, "example": true }, "isSensitiveData": { "type": "boolean", "description": "Sensitive data flag of the requirement", "nullable": true, "example": true }, "isMaterialData": { "type": "boolean", "description": "Materiality flag of the requirement", "nullable": true, "example": true }, "isIndexable": { "type": "boolean", "description": "Requirement is data indexed for search flag", "nullable": true, "example": true }, "dataField": { "allOf": [ { "$ref": "#/components/schemas/DataFieldDto" } ], "description": "Data field definition", "nullable": true }, "targetEntity": { "type": "string", "description": "Target entity", "nullable": true, "example": "Client" }, "includeConditions": { "type": "boolean", "description": "Include conditions flag.\nIf true, include the Requirements containing conditions.\nIf false, only the Requirements without conditions will be returned.\nfalse" } }, "additionalProperties": false, "description": "Request DTO representing requirements search filter" }, "SearchRequirementsDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/SearchRequirementsDto" } ], "description": "Request DTO representing requirements search filter", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "ServiceResponse": { "type": "object", "properties": { "data": { "type": "string", "description": "The service response DTO", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response", "nullable": true } }, "additionalProperties": false, "description": "Service response data" }, "ServiceResponseMessage": { "type": "object", "properties": { "message": { "type": "string", "description": "The message", "nullable": true, "example": "Success" }, "type": { "type": "string", "description": "Type of the message\nOne of Info, Warning, Error, Forbidden", "nullable": true, "example": "Info" }, "errorCode": { "type": "string", "description": "Error Code", "nullable": true, "example": "INTERNAL_SERVER_ERROR" } }, "additionalProperties": false, "description": "The message associated to the service response" }, "SpecialCharactersRuleDto": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "message": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "excludedCharacters": { "type": "array", "items": { "type": "string" }, "description": "Array of special characters, which will be ignored by validation e.g. [\"!\",\"@\",\"#\"]", "nullable": true } }, "additionalProperties": false, "description": "Request DTO representing special characters rule metadata" }, "SpecialCharactersRuleDto2": { "type": "object", "properties": { "errorMessage": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "excludedCharacters": { "type": "array", "items": { "type": "string" }, "description": "Array of special characters, which will be ignored by validation e.g. [\"!\",\"@\",\"#\"]", "nullable": true } }, "additionalProperties": false, "description": "Request DTO representing special characters rule metadata" }, "SpecialCharactersRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/SpecialCharactersRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "StringServiceResponse": { "type": "object", "properties": { "data": { "type": "string", "description": "The service response DTO", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response", "nullable": true } }, "additionalProperties": false, "description": "Service response data" }, "ValidationDataDto": { "type": "object", "properties": { "isMandatory": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Mandatory Rule - does not allow empty value", "nullable": true }, "specialCharacters": { "allOf": [ { "$ref": "#/components/schemas/SpecialCharactersRuleDto" } ], "description": "Special characters validation rule - does not allow special characters,\nbut allows define array of characters which can be ignored by the validation", "nullable": true }, "noNumbers": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Validation rule that does not allow numbers", "nullable": true }, "onlyInteger": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Validation rule that allows only integers", "nullable": true }, "noNegative": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Validation rule that does not allow negative numbers", "nullable": true }, "onlyDecimal": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Validation rule that allows numbers up to two decimal places", "nullable": true }, "regex": { "allOf": [ { "$ref": "#/components/schemas/RegexRuleDto" } ], "description": "Validation rule that validates the value against provided regex", "nullable": true }, "characterLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto" } ], "description": "Validation rule that allows to set minimum and maximum count of characters", "nullable": true }, "numberLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto" } ], "description": "Validation rule that allows to set number range", "nullable": true }, "noFutureDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Validation rule that does not allow future dates", "nullable": true }, "noPastDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Validation rule that does not allow past dates", "nullable": true }, "dateLimit": { "allOf": [ { "$ref": "#/components/schemas/DateLimitRuleDto" } ], "description": "Validation rule that allows to set date range", "nullable": true }, "multiSelectLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto" } ], "description": "Validation rule that allows to set selection range", "nullable": true }, "collectionMinimumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMinimumCountRuleDto" } ], "description": "Validation rule that allows to set minimum count requirements for collection", "nullable": true }, "collectionMaximumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMaximumCountRuleDto" } ], "description": "Validation rule that allows to set maximum count requirements for collection", "nullable": true }, "externalProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDto" } ], "description": "Validation rule that allows to use external provider for validation", "nullable": true }, "externalDataGroupProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDto" } ], "description": "Validation rule that allows to use external provider for validating all fields of a DataGroup as a collection", "nullable": true } }, "additionalProperties": false, "description": "Request DTO representing validation data metadata" }, "ValidationRuleDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the validation rule", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "setId": { "type": "string", "description": "The UiD of the requirement set/data group", "format": "uuid", "example": "012cfe3a-7bfa-41e7-8269-d49b3b38dff3" }, "propertyId": { "type": "string", "description": "The UiD of the requirement/data group field", "format": "uuid", "example": "450df9bf-b2d3-48cf-ab8d-481c69b74373" }, "propertyTypeId": { "type": "string", "description": "The Guid containing the property type id", "format": "uuid", "nullable": true, "example": "450df9bf-b2d3-48cf-ab8d-481c69b74373" }, "linkChildFieldPropertyName": { "type": "string", "description": "The string containing the property name child of this property, only has value when propertyType is set to\n\"selectLink\"", "nullable": true, "example": "country" }, "linkedParentFieldPropertyName": { "type": "string", "description": "The string containing the property name parent of this property, only has value when propertyType is set to\n\"LinkedSelectV2\" or \"LinkedMultiSelectV2\"", "nullable": true, "example": "country" }, "dataGroupId": { "type": "string", "description": "The UiD of the of data group - is set only when requirement/data group field propertyType is set to \"dataGroup\"", "format": "uuid", "nullable": true, "example": "8eb83ec6-1539-46a9-b0ba-c5138a09580c" }, "isDataGroup": { "type": "boolean", "description": "Flag indicating it is validation rules for data group field", "example": true }, "propertyName": { "type": "string", "description": "Requirement/data group field property name", "nullable": true, "example": "firstName" }, "friendlyName": { "type": "string", "description": "Requirement/data group field friendly Name", "nullable": true, "example": "First Name" }, "validationType": { "type": "string", "description": "Validation type", "nullable": true, "example": "text" }, "validationData": { "allOf": [ { "$ref": "#/components/schemas/ValidationDataDto" } ], "description": "Request DTO representing validation data metadata", "nullable": true } }, "additionalProperties": false, "description": "Request DTO representing validation rule metadata" }, "ValueField": { "type": "object", "properties": { "dataSource": { "type": "string", "description": "Value of DataSource used to filter field values", "nullable": true }, "field": { "type": "string", "description": "Field value used to validate conditional value", "nullable": true } }, "additionalProperties": false }, "ValueLimitRuleDto": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "message": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "minValue": { "type": "integer", "description": "Minimum value", "format": "int32", "nullable": true, "example": 1 }, "maxValue": { "type": "integer", "description": "Maximum value", "format": "int32", "nullable": true, "example": 10 } }, "additionalProperties": false, "description": "Request DTO representing value limit rule metadata" }, "ValueLimitRuleDto2": { "type": "object", "properties": { "errorMessage": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" }, "minValue": { "type": "integer", "description": "Minimum value", "format": "int32", "nullable": true, "example": 1 }, "maxValue": { "type": "integer", "description": "Maximum value", "format": "int32", "nullable": true, "example": 10 } }, "additionalProperties": false, "description": "Request DTO representing value limit rule metadata" }, "ValueLimitRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true }, "dynamicRules": { "type": "array", "items": { "$ref": "#/components/schemas/ValueLimitRuleDtoConditionalValueDto" }, "description": "Conditional validation rules", "nullable": true } }, "additionalProperties": false }, "ValueLimitRuleDtoConditionalValueDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "value": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto2" } ], "description": "Request DTO representing value limit rule metadata", "nullable": true }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 } }, "additionalProperties": false }, "ValueLimitRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "VersionedJurisdictionDto": { "type": "object", "properties": { "jurisdiction": { "type": "string", "description": "Jurisdiction of the requirement", "nullable": true, "example": "Global" }, "versionId": { "type": "string", "description": "Jurisdiction of the requirement", "format": "uuid", "nullable": true, "example": "894e1443-dd7a-4b9d-b253-430c2de80524" } }, "additionalProperties": false } }, "securitySchemes": { "Bearer": { "type": "apiKey", "description": "Please insert JWT with Bearer into field", "name": "Authorization", "in": "header" } } }, "security": [ { "Bearer": [ ] } ] }