openapi: 3.2.0 info: title: Fenergo Nebula Policy Command Policy Diff API description: Policy Command API is part of FenX eco-system to manage Requirement Sets, Requirements, Data Groups and Data Group Fields Instances. All the operations require valid access token obtained from Identity service. version: '2.0' servers: - url: /policycommand security: - Bearer: [] tags: - name: PolicyDiff paths: /api/v2/policy-diff: post: tags: - PolicyDiff summary: Start a Policy Diff for an uploaded source policy configuration description: 'Stores the uploaded config, creates a tracking business process and triggers asynchronous diff computation. Returns the business process id used to poll for the result. Required permissions: Following permissions are required: PolicyConfigurationEdit' operationId: StartPolicyDiff 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: content: application/json: schema: allOf: - $ref: '#/components/schemas/PolicyDiffInputDtoServiceRequest' description: Service request data responses: '202': description: Accepted. Diff processing has started. content: application/json: schema: $ref: '#/components/schemas/StartPolicyDiffResponseDtoServiceResponse' '400': description: One or more validation errors occurred content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 title: One or more validation errors occurred detail: Name is required status: 400 errorCode: VALIDATION_ERROR validationErrors: - propertyName: Name errorMessage: Name is required attemptedValue: '' validatorType: NotEmptyValidator '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/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.3 title: Access to resource is forbidden. detail: 'Access denied. Following permissions are required: Permission1, Permission2' status: 403 '500': description: Internal server exception. Please, contact your provider. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.6.1 title: Internal server exception. Please, contact your provider. detail: null status: 500 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/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.9 title: 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. detail: This endpoint is obsolete and was terminated on yyyy-MM-dd status: 410 errorCode: OBSOLETE_ENDPOINT /api/v2/policy-diff/{diffGenerationBusinessProcessId}: get: tags: - PolicyDiff summary: Get the result of a previously started Policy Diff description: 'Returns the business process status. When completed, the payload carries a short-lived presigned URL to the diff artifact. Required permissions: Following permissions are required: PolicyConfigurationAccess' operationId: GetPolicyDiffResult parameters: - name: diffGenerationBusinessProcessId in: path description: Business process id returned when the diff was started required: true schema: type: string format: uuid - 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 responses: '200': description: Success. Returns the diff status (and artifact URL when completed). content: application/json: schema: $ref: '#/components/schemas/PolicyDiffResultDtoServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: type: https://tools.ietf.org/html/rfc7231#section-6.5.4 title: Resource not found detail: Not Found. No diff exists for the given business process id. status: 404 '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/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.3 title: Access to resource is forbidden. detail: 'Access denied. Following permissions are required: Permission1, Permission2' status: 403 '500': description: Internal server exception. Please, contact your provider. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.6.1 title: Internal server exception. Please, contact your provider. detail: null status: 500 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/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.9 title: 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. detail: This endpoint is obsolete and was terminated on yyyy-MM-dd status: 410 errorCode: OBSOLETE_ENDPOINT components: schemas: ConditionalValueDto: allOf: - $ref: '#/components/schemas/StringConditionalValueDto' - type: object properties: valueId: type: - string - 'null' description: Value Id that should be returned when conditions are met example: RM additionalProperties: false 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 additionalProperties: false SpecialCharactersRuleDto2: allOf: - $ref: '#/components/schemas/BasicRuleDto2' - type: object properties: excludedCharacters: type: - array - 'null' items: type: string description: Array of special characters, which will be ignored by validation e.g. ["!","@","#"] additionalProperties: false description: Request DTO representing special characters rule metadata ValueLimitRuleDtoConditionalValueDto: type: object properties: id: type: string description: The ID of the condition format: uuid example: 118313c6-91e6-4b05-a537-5a1ab906418f name: type: - string - 'null' description: The name of the condition example: Company-type only description: type: - string - 'null' description: The description of the condition example: Applicable only when EntityType=Company logicalOperation: type: - string - 'null' description: Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection example: AND operands: type: - array - 'null' 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 value: allOf: - $ref: '#/components/schemas/ValueLimitRuleDto2' description: Request DTO representing value limit rule metadata priority: type: integer description: Priority of the value in case when multiple conditional values are evaluated format: int32 example: 1 additionalProperties: false ValueLimitRuleDtoValidationRuleDto: required: - staticRule 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 additionalProperties: false BasicRuleDtoValidationRuleDto: required: - staticRule 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 additionalProperties: false DateTimePeriodFormulaSchemaDto: required: - formulaSetId - formulaString type: object properties: formulaSetId: minLength: 1 type: string format: uuid versionNumber: type: - integer - 'null' format: int32 formulaString: minLength: 1 type: string dateTimePeriodFormulaVariables: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/DateTimePeriodFormulaVariableDto' additionalProperties: false 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 dynamicRules: type: - array - 'null' items: $ref: '#/components/schemas/EmptyRuleDtoConditionalValueDto' description: Conditional validation rules additionalProperties: false DateTimePeriodFormulaVariableDto: type: object properties: dataSource: type: - string - 'null' timePeriodKind: type: - string - 'null' value: type: - string - 'null' type: type: - string - 'null' timeZoneId: type: - string - 'null' additionalProperties: false 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 additionalProperties: false RegexRuleDto2: allOf: - $ref: '#/components/schemas/BasicRuleDto2' - type: object properties: isCaseSensitive: type: boolean description: Flag that indicate if regex is case sensitive example: false regexValue: type: - string - 'null' description: Regex expression example: ^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$ additionalProperties: false description: Request DTO representing regex rule metadata JurisdictionViewModelDto: type: object properties: entityPolicyId: type: string format: uuid versionNumber: type: integer format: int32 jurisdictionId: type: string format: uuid changeType: enum: - Unchanged - Added - Updated - Deleted - Locked type: - string - 'null' lockDetails: allOf: - $ref: '#/components/schemas/LockDetailsDto' name: type: - string - 'null' description: type: - string - 'null' conditions: type: - array - 'null' items: $ref: '#/components/schemas/ConditionDto' additionalProperties: false 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 additionalProperties: false NumberFormulaVariableDto: type: object properties: dataSource: type: - string - 'null' propertyName: type: - string - 'null' filterConditions: type: - array - 'null' items: $ref: '#/components/schemas/FilterConditionDto' additionalProperties: false RelatedPartyRequirementValidationRulesDto: type: object properties: mandatory: allOf: - $ref: '#/components/schemas/BasicRuleDtoValidationRuleDto' description: Mandatory requirement partyCount: allOf: - $ref: '#/components/schemas/ValueLimitRuleDtoValidationRuleDto' description: The minimum number of relationships that need to be added in order for this requirement to be fulfilled allParties: allOf: - $ref: '#/components/schemas/BasicRuleDtoValidationRuleDto' description: All entities that meet the criteria of this requirement additionalProperties: false description: Request DTO representing validation data for related party requirements AccessLayerDto2: type: object properties: geographic: type: - array - 'null' items: type: string businessRelated: type: - array - 'null' items: type: string additionalProperties: false CollectionMaximumCountRuleDto2: allOf: - $ref: '#/components/schemas/BasicRuleDto2' - type: object properties: requiredTypesMaxCount: type: - object - 'null' additionalProperties: type: integer format: int32 description: Dictionary of required Primary Data Group Field values with maximum count example: Registered: 1 overallMaximumCount: type: - integer - 'null' description: Overall maximum count format: int32 example: 1 additionalProperties: false description: Request DTO representing collection maximum count validation rule metadata PolicyDiffInputDto: required: - entityType type: object properties: entityType: minLength: 1 type: string description: The entity type of the source policy (also used to resolve the target). example: Company targetVersionNumber: type: - integer - 'null' description: 'Optional target policy version to diff against. When provided, the existing policy at this version is loaded as the diff target; when omitted, the latest published version is used.' format: int32 example: 5 jurisdictions: type: - array - 'null' items: $ref: '#/components/schemas/JurisdictionViewModelDto' policyFields: type: - array - 'null' items: $ref: '#/components/schemas/PolicyFieldViewModelDto' documentRequirements: type: - array - 'null' items: $ref: '#/components/schemas/DocumentRequirementViewModelDto' eSignatureDocumentRequirements: type: - array - 'null' items: $ref: '#/components/schemas/ESignatureDocumentRequirementViewModelDto' relatedPartyRequirements: type: - array - 'null' items: $ref: '#/components/schemas/RelatedPartyRequirementViewModelDto' additionalProperties: false description: 'The source policy configuration uploaded to start a Policy Diff. Contains the full V2 view-model snapshot of the source policy as typed DTOs.' RelatedPartyRequirementIdvValidationRulesDto: type: object properties: idvMandatory: allOf: - $ref: '#/components/schemas/BasicRuleDtoValidationRuleDto' description: Mandatory ID&V idvPartyCount: allOf: - $ref: '#/components/schemas/ValueLimitRuleDtoValidationRuleDto' description: The minimum number of relationships that need to be ID&Vd in order for this requirement to be fulfilled idvAllParties: allOf: - $ref: '#/components/schemas/BasicRuleDtoValidationRuleDto' description: All entities that meet the criteria of this requirement need to be ID&Vd additionalProperties: false description: Request DTO representing ID&V validation data for related party requirements StringConditionalValueDto: type: object properties: id: type: string description: The ID of the condition format: uuid example: 118313c6-91e6-4b05-a537-5a1ab906418f name: type: - string - 'null' description: The name of the condition example: Company-type only description: type: - string - 'null' description: The description of the condition example: Applicable only when EntityType=Company logicalOperation: type: - string - 'null' description: Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection example: AND operands: type: - array - 'null' 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 value: type: - string - 'null' description: Value that should be returned when conditions are met example: Relationship Manager priority: type: integer description: Priority of the value in case when multiple conditional values are evaluated format: int32 example: 1 additionalProperties: false ConditionDto: required: - logicalOperation - name - operands type: object properties: id: type: string description: The ID of the condition format: uuid example: 118313c6-91e6-4b05-a537-5a1ab906418f name: minLength: 1 type: string description: The name of the condition example: Company-type only description: type: - string - 'null' description: The description of the condition example: Applicable only when EntityType=Company logicalOperation: minLength: 1 type: string description: Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection example: AND operands: minItems: 1 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 additionalProperties: false description: Represents condition root example: id: 118313c6-91e6-4b05-a537-5a1ab906418f name: Company-type only description: Applicable only when EntityType=Company logicalOperation: AND operands: - fieldName: EntityType value: - string valueType: text operation: equal operands: [] 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 dynamicRules: type: - array - 'null' items: $ref: '#/components/schemas/RegexRuleDtoConditionalValueDto' description: Conditional validation rules additionalProperties: false PolicyDiffResultDto: required: - status type: object properties: status: type: - string - 'null' error: type: - string - 'null' payload: allOf: - $ref: '#/components/schemas/PolicyDiffResultPayloadDto' additionalProperties: false description: 'Result of a Policy Diff lookup. Shape depends on Fenergo.Nebula.Policy.Command.Application.PolicyV2Diff.PolicyDiff.PolicyDiffResultDto.Status: `InProgress`: only Fenergo.Nebula.Policy.Command.Application.PolicyV2Diff.PolicyDiff.PolicyDiffResultDto.Status.`Failed`: Fenergo.Nebula.Policy.Command.Application.PolicyV2Diff.PolicyDiff.PolicyDiffResultDto.Status + Fenergo.Nebula.Policy.Command.Application.PolicyV2Diff.PolicyDiff.PolicyDiffResultDto.Error.`Completed`: Fenergo.Nebula.Policy.Command.Application.PolicyV2Diff.PolicyDiff.PolicyDiffResultDto.Status + Fenergo.Nebula.Policy.Command.Application.PolicyV2Diff.PolicyDiff.PolicyDiffResultDto.Payload (with presigned URL).' DateLimitRuleDto2: allOf: - $ref: '#/components/schemas/BasicRuleDto2' - type: object properties: minDate: type: - string - 'null' description: Minimum date format: date-time example: '2020-01-01T14:48:00.000Z' maxDate: type: - string - 'null' description: Maximum date format: date-time example: '2021-01-01T14:48:00.000Z' additionalProperties: false description: Request DTO representing date limit rule metadata RegexRuleDtoConditionalValueDto: type: object properties: id: type: string description: The ID of the condition format: uuid example: 118313c6-91e6-4b05-a537-5a1ab906418f name: type: - string - 'null' description: The name of the condition example: Company-type only description: type: - string - 'null' description: The description of the condition example: Applicable only when EntityType=Company logicalOperation: type: - string - 'null' description: Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection example: AND operands: type: - array - 'null' 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 value: allOf: - $ref: '#/components/schemas/RegexRuleDto2' description: Request DTO representing regex rule metadata priority: type: integer description: Priority of the value in case when multiple conditional values are evaluated format: int32 example: 1 additionalProperties: false LockDetailsDto: type: object properties: lockedByWorkspaceId: type: string format: uuid lockedByWorkspaceName: type: - string - 'null' lockChangeType: enum: - Updated - Deleted type: - string - 'null' additionalProperties: false RelatedPartyRequirementViewModelDto: type: object properties: entityPolicyId: type: string format: uuid versionNumber: type: integer format: int32 relatedPartyRequirementId: type: string format: uuid relatedPartyRequirementVersion: type: integer format: int32 changeType: enum: - Unchanged - Added - Updated - Deleted - Locked type: - string - 'null' lockDetails: allOf: - $ref: '#/components/schemas/LockDetailsDto' name: type: - string - 'null' dataKey: type: - string - 'null' tooltipDescription: type: - string - 'null' classification: type: - string - 'null' categories: type: - array - 'null' items: type: string references: type: - array - 'null' items: $ref: '#/components/schemas/ReferenceDto2' conditions: type: - array - 'null' items: $ref: '#/components/schemas/ConditionDto' validationRules: allOf: - $ref: '#/components/schemas/RelatedPartyRequirementValidationRulesDto' description: Request DTO representing validation data for related party requirements tags: type: - array - 'null' items: type: string portalGuidance: type: - string - 'null' partyTypes: type: - array - 'null' items: type: string relatedPartyEntityTypes: type: - array - 'null' items: type: string uboThreshold: type: - number - 'null' format: double directAssociationsOnly: type: boolean idvOn: type: boolean idvName: type: - string - 'null' idvTooltip: type: - string - 'null' idvValidationRules: allOf: - $ref: '#/components/schemas/RelatedPartyRequirementIdvValidationRulesDto' description: Request DTO representing ID&V validation data for related party requirements jurisdictionIds: type: - array - 'null' items: type: string format: uuid dataProtectionJurisdictionId: type: - string - 'null' format: uuid additionalProperties: false StartPolicyDiffResponseDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/StartPolicyDiffResponseDto' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data PolicyDiffResultDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/PolicyDiffResultDto' description: 'Result of a Policy Diff lookup. Shape depends on Fenergo.Nebula.Policy.Command.Application.PolicyV2Diff.PolicyDiff.PolicyDiffResultDto.Status: `InProgress`: only Fenergo.Nebula.Policy.Command.Application.PolicyV2Diff.PolicyDiff.PolicyDiffResultDto.Status.`Failed`: Fenergo.Nebula.Policy.Command.Application.PolicyV2Diff.PolicyDiff.PolicyDiffResultDto.Status + Fenergo.Nebula.Policy.Command.Application.PolicyV2Diff.PolicyDiff.PolicyDiffResultDto.Error.`Completed`: Fenergo.Nebula.Policy.Command.Application.PolicyV2Diff.PolicyDiff.PolicyDiffResultDto.Status + Fenergo.Nebula.Policy.Command.Application.PolicyV2Diff.PolicyDiff.PolicyDiffResultDto.Payload (with presigned URL).' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data ValueField: type: object properties: dataSource: type: - string - 'null' description: Value of DataSource used to filter field values field: type: - string - 'null' description: Field value used to validate conditional value additionalProperties: false BasicRuleDto2: required: - errorMessage type: object properties: errorMessage: minLength: 1 type: string description: Validation rule error message example: Validation error occurred additionalProperties: false description: Request DTO representing basic validation rule metadata DataValidationRulesDto: type: object properties: mandatory: allOf: - $ref: '#/components/schemas/BasicRuleDtoConditionalValidationRuleDto' description: Mandatory Rule - does not allow empty value specialCharacters: allOf: - $ref: '#/components/schemas/SpecialCharactersRuleDtoValidationRuleDto' description: 'Special characters validation rule - does not allow special characters, but allows define array of characters which can be ignored by the validation' noNumbers: allOf: - $ref: '#/components/schemas/BasicRuleDtoValidationRuleDto' description: Validation rule that does not allow numbers onlyInteger: allOf: - $ref: '#/components/schemas/BasicRuleDtoValidationRuleDto' description: Validation rule that allows only integers noNegative: allOf: - $ref: '#/components/schemas/BasicRuleDtoValidationRuleDto' description: Validation rule that does not allow negative numbers onlyDecimal: allOf: - $ref: '#/components/schemas/BasicRuleDtoValidationRuleDto' description: Validation rule that allows numbers up to two decimal places regex: allOf: - $ref: '#/components/schemas/RegexRuleDtoConditionalValidationRuleDto' description: Validation rule that validates the value against provided regex characterLimit: allOf: - $ref: '#/components/schemas/ValueLimitRuleDtoValidationRuleDto' description: Validation rule that allows to set minimum and maximum count of characters numberLimit: allOf: - $ref: '#/components/schemas/ValueLimitRuleDtoValidationRuleDto' description: Validation rule that allows to set number range noFutureDates: allOf: - $ref: '#/components/schemas/BasicRuleDtoValidationRuleDto' description: Validation rule that does not allow future dates noPastDates: allOf: - $ref: '#/components/schemas/BasicRuleDtoValidationRuleDto' description: Validation rule that does not allow past dates dateLimit: allOf: - $ref: '#/components/schemas/DateLimitRuleDtoConditionalValidationRuleDto' description: Validation rule that allows to set date range multiSelectLimit: allOf: - $ref: '#/components/schemas/ValueLimitRuleDtoConditionalValidationRuleDto' description: Validation rule that allows to set selection range collectionMinimumCount: allOf: - $ref: '#/components/schemas/CollectionMinimumCountRuleDtoValidationRuleDto' description: Validation rule that allows to set minimum count requirements for collection collectionMaximumCount: allOf: - $ref: '#/components/schemas/CollectionMaximumCountRuleDtoValidationRuleDto' description: Validation rule that allows to set maximum count requirements for collection externalProvider: allOf: - $ref: '#/components/schemas/ExternalProviderRuleDtoValidationRuleDto' description: Validation rule that allows to use external provider for validation 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 readOnly: allOf: - $ref: '#/components/schemas/EmptyRuleDtoConditionalValidationRuleDto' description: Validation rule that allows to set if field should be read only conditionalLimit: allOf: - $ref: '#/components/schemas/BasicRuleDtoConditionalValidationRuleDto' description: Validation rule that validates the dynamic value against provided condition timeZoneId: type: - string - 'null' description: Time zone id used for date values validation in order to determine exact Today time range example: Europe/Warsaw additionalProperties: false description: Request DTO representing validation data metadata DateLimitRuleDtoConditionalValueDto: type: object properties: id: type: string description: The ID of the condition format: uuid example: 118313c6-91e6-4b05-a537-5a1ab906418f name: type: - string - 'null' description: The name of the condition example: Company-type only description: type: - string - 'null' description: The description of the condition example: Applicable only when EntityType=Company logicalOperation: type: - string - 'null' description: Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection example: AND operands: type: - array - 'null' 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 value: allOf: - $ref: '#/components/schemas/DateLimitRuleDto2' description: Request DTO representing date limit rule metadata priority: type: integer description: Priority of the value in case when multiple conditional values are evaluated format: int32 example: 1 additionalProperties: false EmptyRuleDto: type: object additionalProperties: false description: Request DTO representing rule with no parameters ESignatureDocumentRequirementValidationRulesDto: type: object properties: mandatory: allOf: - $ref: '#/components/schemas/BasicRuleDtoValidationRuleDto' description: Mandatory Rule - does not allow empty value additionalProperties: false description: Request DTO representing validation data for e-signature document requirements BasicRuleDtoConditionalValueDto: type: object properties: id: type: string description: The ID of the condition format: uuid example: 118313c6-91e6-4b05-a537-5a1ab906418f name: type: - string - 'null' description: The name of the condition example: Company-type only description: type: - string - 'null' description: The description of the condition example: Applicable only when EntityType=Company logicalOperation: type: - string - 'null' description: Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection example: AND operands: type: - array - 'null' 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 value: allOf: - $ref: '#/components/schemas/BasicRuleDto2' description: Request DTO representing basic validation rule metadata priority: type: integer description: Priority of the value in case when multiple conditional values are evaluated format: int32 example: 1 additionalProperties: false ProblemDetails: type: object properties: type: type: - string - 'null' title: type: - string - 'null' status: type: - integer - 'null' format: int32 detail: type: - string - 'null' instance: type: - string - 'null' additionalProperties: {} ValueLimitRuleDto2: allOf: - $ref: '#/components/schemas/BasicRuleDto2' - type: object properties: minValue: type: - integer - 'null' description: Minimum value format: int32 example: 1 maxValue: type: - integer - 'null' description: Maximum value format: int32 example: 10 additionalProperties: false description: Request DTO representing value limit rule metadata PolicyDiffResultPayloadDto: required: - url type: object properties: url: type: - string - 'null' description: Presigned URL (valid for 10 minutes) to the diff artifact. targetEntityType: type: - string - 'null' targetVersionNumber: type: - integer - 'null' format: int32 targetPolicyId: type: - string - 'null' description: Id of the target policy against which the diff was computed. format: uuid additionalProperties: false 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 additionalProperties: false DocumentRequirementValidationRulesDto: type: object properties: mandatory: allOf: - $ref: '#/components/schemas/BasicRuleDtoValidationRuleDto' description: Mandatory Rule - does not allow empty value additionalProperties: false description: Request DTO representing validation data for document requirements 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 dynamicRules: type: - array - 'null' items: $ref: '#/components/schemas/ValueLimitRuleDtoConditionalValueDto' description: Conditional validation rules additionalProperties: false PolicyFieldViewModelDto: type: object properties: entityPolicyId: type: string format: uuid versionNumber: type: integer format: int32 fieldId: type: string format: uuid fieldVersion: type: integer format: int32 changeType: enum: - Unchanged - Added - Updated - Deleted - Locked type: - string - 'null' lockDetails: allOf: - $ref: '#/components/schemas/LockDetailsDto' name: type: - string - 'null' description: type: - string - 'null' dataKey: type: - string - 'null' fieldType: type: - string - 'null' fieldTypeId: type: - string - 'null' format: uuid linkChildFieldDataKey: type: - string - 'null' linkedParentFieldDataKey: type: - string - 'null' externalSearchApiProviderId: type: - string - 'null' format: uuid formulaSchema: allOf: - $ref: '#/components/schemas/NumberFormulaSchemaDto' dateTimePeriodFormulaSchema: allOf: - $ref: '#/components/schemas/DateTimePeriodFormulaSchemaDto' order: type: - number - 'null' format: double defaultValue: type: - string - 'null' classification: type: - string - 'null' categories: type: - array - 'null' items: type: string targetEntities: type: - array - 'null' items: type: string isReadOnly: type: boolean isJourneyLevelData: type: boolean isIndexable: type: boolean isSensitiveData: type: boolean isMaterialData: type: boolean uiDecoration: type: - string - 'null' uiDecorationColor: type: - string - 'null' accessLayers: allOf: - $ref: '#/components/schemas/AccessLayerDto2' references: type: - array - 'null' items: $ref: '#/components/schemas/ReferenceDto2' conditions: type: - array - 'null' items: $ref: '#/components/schemas/ConditionDto' conditionalValues: type: - array - 'null' items: $ref: '#/components/schemas/ConditionalValueDto' validationRules: allOf: - $ref: '#/components/schemas/DataValidationRulesDto' description: Request DTO representing validation data metadata tags: type: - array - 'null' items: type: string clearValueIfTriggerConditionNotMet: type: boolean jurisdictionIds: type: - array - 'null' items: type: string format: uuid dataProtectionJurisdictionId: type: - string - 'null' format: uuid additionalProperties: false StartPolicyDiffResponseDto: type: object properties: diffGenerationBusinessProcessId: type: string description: The business process ID tracking the diff generation operation format: uuid additionalProperties: false FilterConditionDto: type: object properties: fieldName: type: - string - 'null' description: Field name for the filter condition conditions: type: - array - 'null' items: $ref: '#/components/schemas/ConditionDto' description: Conditions applied to the field 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 - 'null' description: The name of the condition example: Company-type only description: type: - string - 'null' description: The description of the condition example: Applicable only when EntityType=Company logicalOperation: type: - string - 'null' description: Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection example: AND operands: type: - array - 'null' 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 value: allOf: - $ref: '#/components/schemas/EmptyRuleDto' description: Request DTO representing rule with no parameters priority: type: integer description: Priority of the value in case when multiple conditional values are evaluated format: int32 example: 1 additionalProperties: false NumberFormulaSchemaDto: required: - formulaSetId - formulaString type: object properties: formulaSetId: minLength: 1 type: string format: uuid versionNumber: type: - integer - 'null' format: int32 formulaString: minLength: 1 type: string formulaVariables: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/NumberFormulaVariableDto' additionalProperties: false ConditionDefinitionDto: type: object properties: fieldName: type: - string - 'null' description: Name of the field to evaluate example: EntityType value: type: - array - 'null' items: type: string description: List of values valueId: type: - array - 'null' items: type: string description: List of value ids valueType: type: - string - 'null' description: Type of the value example: text dataSource: type: - string - 'null' description: Data source from which field is retrieved. If empty then Entity Data properties will be used. example: entityDataMetadata operation: type: - string - 'null' description: Logical operation to be performed to match the values example: equal logicalOperation: type: - string - 'null' description: Logical operation to be performed on the operands collection example: AND operands: type: - array - 'null' 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 valueField: allOf: - $ref: '#/components/schemas/ValueField' description: Field value used for conditional limit validation additionalProperties: false description: Represents condition DocumentRequirementViewModelDto: type: object properties: entityPolicyId: type: string format: uuid versionNumber: type: integer format: int32 documentRequirementId: type: string format: uuid documentRequirementVersion: type: integer format: int32 changeType: enum: - Unchanged - Added - Updated - Deleted - Locked type: - string - 'null' lockDetails: allOf: - $ref: '#/components/schemas/LockDetailsDto' name: type: - string - 'null' dataKey: type: - string - 'null' description: type: - string - 'null' tooltipDescription: type: - string - 'null' classification: type: - string - 'null' categories: type: - array - 'null' items: type: string targetEntities: type: - array - 'null' items: type: string accessLayers: allOf: - $ref: '#/components/schemas/AccessLayerDto2' references: type: - array - 'null' items: $ref: '#/components/schemas/ReferenceDto2' conditions: type: - array - 'null' items: $ref: '#/components/schemas/ConditionDto' validationRules: allOf: - $ref: '#/components/schemas/DocumentRequirementValidationRulesDto' description: Request DTO representing validation data for document requirements acceptableDocumentTypes: type: - array - 'null' items: type: string tags: type: - array - 'null' items: type: string jurisdictionIds: type: - array - 'null' items: type: string format: uuid dataProtectionJurisdictionId: type: - string - 'null' format: uuid additionalProperties: false PolicyDiffInputDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/PolicyDiffInputDto' description: 'The source policy configuration uploaded to start a Policy Diff. Contains the full V2 view-model snapshot of the source policy as typed DTOs.' additionalProperties: false description: Service request data 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 dynamicRules: type: - array - 'null' items: $ref: '#/components/schemas/DateLimitRuleDtoConditionalValueDto' description: Conditional validation rules additionalProperties: false CollectionMinimumCountRuleDto2: allOf: - $ref: '#/components/schemas/BasicRuleDto2' - type: object properties: requiredTypesMinCount: type: - object - 'null' additionalProperties: type: integer format: int32 description: Dictionary of required Primary Data Group Field values with minimum count 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 ServiceResponseMessage: type: object properties: message: type: - string - 'null' description: The message example: Success type: type: - string - 'null' description: 'Type of the message One of Info, Warning, Error, Forbidden' example: Info errorCode: type: - string - 'null' description: Error Code example: INTERNAL_SERVER_ERROR additionalProperties: false description: The message associated to the service response ReferenceDto2: type: object properties: type: type: - string - 'null' description: type: - string - 'null' url: type: - string - 'null' additionalProperties: false ESignatureDocumentRequirementViewModelDto: type: object properties: entityPolicyId: type: string format: uuid versionNumber: type: integer format: int32 eSignatureDocumentRequirementId: type: string format: uuid eSignatureDocumentRequirementVersion: type: integer format: int32 changeType: enum: - Unchanged - Added - Updated - Deleted - Locked type: - string - 'null' lockDetails: allOf: - $ref: '#/components/schemas/LockDetailsDto' name: type: - string - 'null' dataKey: type: - string - 'null' description: type: - string - 'null' tooltipDescription: type: - string - 'null' classification: type: - string - 'null' categories: type: - array - 'null' items: type: string targetEntities: type: - array - 'null' items: type: string accessLayers: allOf: - $ref: '#/components/schemas/AccessLayerDto2' references: type: - array - 'null' items: $ref: '#/components/schemas/ReferenceDto2' conditions: type: - array - 'null' items: $ref: '#/components/schemas/ConditionDto' validationRules: allOf: - $ref: '#/components/schemas/ESignatureDocumentRequirementValidationRulesDto' description: Request DTO representing validation data for e-signature document requirements acceptableDocumentTypes: type: - array - 'null' items: type: string tags: type: - array - 'null' items: type: string jurisdictionIds: type: - array - 'null' items: type: string format: uuid dataProtectionJurisdictionId: type: - string - 'null' format: uuid additionalProperties: false 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 dynamicRules: type: - array - 'null' items: $ref: '#/components/schemas/BasicRuleDtoConditionalValueDto' description: Conditional validation rules additionalProperties: false ExternalProviderRuleDto2: allOf: - $ref: '#/components/schemas/EmptyRuleDto' - type: object properties: providerId: type: string description: Id of external provider. format: uuid additionalProperties: false description: Request DTO representing external provider rule metadata securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header