{ "openapi": "3.0.4", "info": { "title": "Fenergo Nebula Policy Logic Engine", "description": "Logic Engine API is part of FenX eco-system to evaluate Policy Requirements by logic conditions.All the operations require valid access token obtained from Identity service.", "version": "3.0" }, "servers": [ { "url": "/policylogicengine" } ], "paths": { "/api/v3/cache/flush": { "delete": { "tags": [ "Cache" ], "summary": "Allows clearing the Logic Engine API cache.\nThis is an maintenance endpoint and does not need to be used under normal circumstances.", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationDelete", "parameters": [ { "name": "clearRequirementsCache", "in": "query", "description": "If the Requirements cache should be flushed", "schema": { "type": "boolean" }, "example": true }, { "name": "clearRequirementSetsCache", "in": "query", "description": "If the Requirement sets cache should be flushed", "schema": { "type": "boolean" }, "example": true }, { "name": "clearDataGroupsCache", "in": "query", "description": "If the DataGroup cache should be flushed", "schema": { "type": "boolean" }, "example": true }, { "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. Cache was flushed successfully.", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ClearCacheResponseDtoServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ClearCacheResponseDtoServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ClearCacheResponseDtoServiceResponse" } } } }, "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/engine/evaluate-requirement-sets": { "post": { "tags": [ "Engine" ], "summary": "Evaluate requirement set", "description": "

Required permissions:
Following permissions are required: PolicySearch", "operationId": "EvaluateRequirementSetsV3", "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": "Service request with entity data properties required for evaluation", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateRequirementSetsRequestV2DtoServiceRequest" } ], "description": "Service request data" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateRequirementSetsRequestV2DtoServiceRequest" } ], "description": "Service request data" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateRequirementSetsRequestV2DtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "200": { "description": "Success. The list of evaluated requirement sets is returned", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EvaluateRequirementSetsResponseDtoIEnumerableServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EvaluateRequirementSetsResponseDtoIEnumerableServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EvaluateRequirementSetsResponseDtoIEnumerableServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/engine/evaluate-requirements": { "post": { "tags": [ "Engine" ], "summary": "Evaluate requirement", "description": "

Required permissions:
Following permissions are required: PolicySearch", "operationId": "EvaluateV3", "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": "Service request with key-value data required for evaluation", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateRequirementsRequestV3DtoServiceRequest" } ], "description": "Service request data" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateRequirementsRequestV3DtoServiceRequest" } ], "description": "Service request data" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateRequirementsRequestV3DtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "200": { "description": "Success. The list of evaluated requirements is returned", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/RequirementDtoListServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/RequirementDtoListServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/RequirementDtoListServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/engine/evaluate-requirements-in-scope": { "post": { "tags": [ "Engine" ], "summary": "Evaluate requirements in scope", "description": "\nReturns evaluated requirements that are in scope for a given parameters.

Required permissions:
Following permissions are required: PolicySearch", "operationId": "EvaluateRequirementsInScope", "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": "Evaluate requirements in scope request with a set of criteria to filter requirements and evaluate\nconditions.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateRequirementsInScopeV2RequestDtoServiceRequest" } ], "description": "Service request data" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateRequirementsInScopeV2RequestDtoServiceRequest" } ], "description": "Service request data" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateRequirementsInScopeV2RequestDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "200": { "description": "Success. List of requirements is returned.", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/RequirementDtoListServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/RequirementDtoListServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/RequirementDtoListServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "400": { "description": "Bad request. The request has missing/invalid values.", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/engine/evaluate-all-requirements": { "post": { "tags": [ "Engine" ], "summary": "Evaluate all requirements", "description": "\nRecommended way to get all evaluated requirements (conditional and not) for a given parameters.\n Works similar to /evaluate-requirements-in-scope but uses a different response schema enhanced with evaluated\n data group fields for each item.

Required permissions:
Following permissions are required: PolicySearch", "operationId": "EvaluateAllRequirements", "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": "Evaluate all requirements request with a set of criteria to filter requirements and evaluate\nconditions.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateAllRequirementsRequestDtoServiceRequest" } ], "description": "Service request data" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateAllRequirementsRequestDtoServiceRequest" } ], "description": "Service request data" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateAllRequirementsRequestDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "200": { "description": "Success. Response is returned.", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EvaluatedAllRequirementsResponseDtoServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EvaluatedAllRequirementsResponseDtoServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EvaluatedAllRequirementsResponseDtoServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "400": { "description": "Bad request. The request has missing/invalid values.", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/engine/evaluate-all-requirements/read-only": { "post": { "tags": [ "Engine" ], "summary": "Evaluate all requirements in read-only mode.\nA lighter version with view only properties needed in EPP", "description": "

Required permissions:
Following permissions are required: PolicySearch", "operationId": "EvaluateAllRequirementsReadOnly", "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/EvaluateAllRequirementsReadOnlyRequestDtoServiceRequest" } ], "description": "Service request data" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateAllRequirementsReadOnlyRequestDtoServiceRequest" } ], "description": "Service request data" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateAllRequirementsReadOnlyRequestDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "200": { "description": "Success. Response is returned.", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EvaluatedAllRequirementsReadOnlyResponseDtoServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EvaluatedAllRequirementsReadOnlyResponseDtoServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EvaluatedAllRequirementsReadOnlyResponseDtoServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "400": { "description": "Bad request. The request has missing/invalid values.", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/engine/evaluate-all-requirements/read-only/normalized": { "post": { "tags": [ "Engine" ], "summary": "Evaluate all requirements in read-only mode, returning a normalized response.", "description": "Behaves exactly like M:Fenergo.Nebula.Policy.Logic.Api.Controllers.v3.EngineController.EvaluateAllRequirementsReadOnly(Fenergo.Nebula.Platform.Core.Models.Request.ServiceRequest{Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.RequestDto.EvaluateAllRequirementsReadOnlyRequestDto}) but normalizes each data group's\nper-item evaluated fields: every unique evaluated field is returned once in the data group's\n`evaluatedFields` list, and each item carries only an ordered list of integer\n`evaluatedFieldRefs` (indices into that list). Consumers rehydrate an item by resolving\nits refs against the list in order. Intended for data groups with many near-identical items.\nGated by the `EvaluateAllRequirementsDeduplicatedEnabled` feature flag — returns 404 when\nthe flag is disabled for the tenant.

Required permissions:
Following permissions are required: PolicySearch", "operationId": "EvaluateAllRequirementsReadOnlyNormalized", "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/EvaluateAllRequirementsReadOnlyRequestDtoServiceRequest" } ], "description": "Service request data" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateAllRequirementsReadOnlyRequestDtoServiceRequest" } ], "description": "Service request data" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateAllRequirementsReadOnlyRequestDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "200": { "description": "Success. Response is returned.", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EvaluatedAllRequirementsReadOnlyNormalizedResponseDtoServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EvaluatedAllRequirementsReadOnlyNormalizedResponseDtoServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EvaluatedAllRequirementsReadOnlyNormalizedResponseDtoServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "The normalized endpoint is not enabled for the tenant.", "type": "Error", "errorCode": "Error Code" } ] } } } }, "400": { "description": "Bad request. The request has missing/invalid values.", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/engine/evaluate-all-requirements/normalized": { "post": { "tags": [ "Engine" ], "summary": "Evaluate all requirements, returning a normalized response.", "description": "Behaves exactly like M:Fenergo.Nebula.Policy.Logic.Api.Controllers.v3.EngineController.EvaluateAllRequirements(Fenergo.Nebula.Platform.Core.Models.Request.ServiceRequest{Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.RequestDto.EvaluateAllRequirementsRequestDto}) but normalizes each data group's\nper-item evaluated fields: every unique evaluated field is returned once in the data group's\n`evaluatedFields` list, and each item carries only an ordered list of integer\n`evaluatedFieldRefs` (indices into that list). Consumers rehydrate an item by resolving\nits refs against the list in order. Intended for data groups with many near-identical items.\nGated by the `EvaluateAllRequirementsDeduplicatedEnabled` feature flag — returns 404 when\nthe flag is disabled for the tenant.

Required permissions:
Following permissions are required: PolicySearch", "operationId": "EvaluateAllRequirementsNormalized", "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/EvaluateAllRequirementsRequestDtoServiceRequest" } ], "description": "Service request data" } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateAllRequirementsRequestDtoServiceRequest" } ], "description": "Service request data" } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/EvaluateAllRequirementsRequestDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "200": { "description": "Success. Response is returned.", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EvaluatedAllRequirementsNormalizedResponseDtoServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EvaluatedAllRequirementsNormalizedResponseDtoServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EvaluatedAllRequirementsNormalizedResponseDtoServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "The normalized endpoint is not enabled for the tenant.", "type": "Error", "errorCode": "Error Code" } ] } } } }, "400": { "description": "Bad request. The request has missing/invalid values.", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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 }, "AccountRelatedFundDto": { "required": [ "properties" ], "type": "object", "properties": { "properties": { "allOf": [ { "$ref": "#/components/schemas/PropertiesDto" } ], "description": "Generic properties" } }, "additionalProperties": false }, "AccountRelatedFundsDataSource": { "required": [ "accountRelatedFunds" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "accountRelatedFunds": { "type": "array", "items": { "$ref": "#/components/schemas/AccountRelatedFundDto" } } }, "additionalProperties": false }, "AlertAssessmentDataSource": { "required": [ "assessments", "lastAssessment" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "assessments": { "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/AlertAssessmentDto" } }, "lastAssessment": { "allOf": [ { "$ref": "#/components/schemas/AlertAssessmentDto" } ] }, "lastAssessmentOutcome": { "type": "string", "nullable": true }, "lastAssessmentDisposition": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AlertAssessmentDto": { "required": [ "category" ], "type": "object", "properties": { "category": { "type": "string" } }, "additionalProperties": false }, "AlertDataSource": { "required": [ "attribute", "source", "type" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "source": { "type": "string" }, "type": { "type": "string" }, "attribute": { "type": "string" } }, "additionalProperties": false }, "AutoCreditAssessmentDataSource": { "required": [ "autoCreditAssessments" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "autoCreditAssessments": { "type": "array", "items": { "$ref": "#/components/schemas/AutoCreditAssessmentDto" } } }, "additionalProperties": false }, "AutoCreditAssessmentDto": { "required": [ "properties" ], "type": "object", "properties": { "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Generic properties setup in policy for manual credit assessment", "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } }, "assessmentOutcome": { "type": "string", "description": "Assessment Outcome of this manual credit assessment", "nullable": true }, "providerInternalIdentifier": { "type": "string", "description": "Provider Internal Identifier", "nullable": true } }, "additionalProperties": false }, "AutoCreditScreeningDataSource": { "required": [ "creditScreenings" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "creditScreenings": { "type": "array", "items": { "$ref": "#/components/schemas/AutoCreditScreeningDto" } }, "relatedPartyCreditScreenings": { "type": "array", "items": { "$ref": "#/components/schemas/AutoCreditScreeningDto" }, "nullable": true } }, "additionalProperties": false }, "AutoCreditScreeningDto": { "required": [ "properties" ], "type": "object", "properties": { "entityId": { "type": "string", "description": "Entity Id", "format": "uuid" }, "creditScreeningOutcome": { "type": "string", "description": "The outcome recorded for a manual screening task.", "nullable": true }, "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Generic properties setup in policy for auto credit screening", "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } }, "providerInternalIdentifier": { "type": "string", "description": "Provider Internal Identifier", "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 }, "CalculatedResultDto": { "type": "object", "properties": { "result": { "type": "string", "description": "Calculation result", "nullable": true, "example": "42.5" }, "error": { "type": "string", "description": "Calculation error", "nullable": true, "example": "Division by zero" } }, "additionalProperties": false }, "ChangedFieldDto": { "type": "object", "properties": { "key": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ChangedFieldsDataSource": { "required": [ "changedFields" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "changedFields": { "type": "array", "items": { "$ref": "#/components/schemas/ChangedFieldDto" } } }, "additionalProperties": false }, "ClearCacheResponseDto": { "type": "object", "properties": { "requirementsCacheCleared": { "type": "boolean", "description": "If true, the Requirements rules cache was cleared\ntrue" }, "requirementSetsCacheCleared": { "type": "boolean", "description": "If true, the RequirementsSets rules cache was cleared\ntrue" }, "dataGroupsCacheCleared": { "type": "boolean", "description": "If true, the DataGroup rules cache was cleared\ntrue" } }, "additionalProperties": false, "description": "Represents the clear cache response" }, "ClearCacheResponseDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/ClearCacheResponseDto" } ], "description": "Represents the clear cache response", "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" }, "CollateralDataSource": { "required": [ "collaterals" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "collaterals": { "type": "array", "items": { "$ref": "#/components/schemas/CollateralDto" } } }, "additionalProperties": false }, "CollateralDto": { "required": [ "properties" ], "type": "object", "properties": { "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Generic properties setup in policy", "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } } }, "additionalProperties": false }, "CollectionDto": { "type": "object", "properties": { "isValid": { "type": "boolean" }, "properties": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "nullable": true }, "propertiesInfo": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/CollectionPropertyInfoDto" }, "nullable": true } }, "additionalProperties": false }, "CollectionItemDto": { "type": "object", "properties": { "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/SinglePropertyDto2" }, "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 }, "CollectionPropertyDto": { "allOf": [ { "$ref": "#/components/schemas/PropertyDto" }, { "type": "object", "properties": { "dataGroupId": { "type": "string", "format": "uuid" }, "dataGroupVersionNumber": { "type": "integer", "format": "int32", "nullable": true }, "collections": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/CollectionDto" }, "nullable": true } }, "additionalProperties": false } ] }, "CollectionPropertyDto2": { "type": "object", "properties": { "items": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/CollectionItemDto" }, "nullable": true }, "collectionId": { "type": "string", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "CollectionPropertyInfoDto": { "type": "object", "properties": { "valueId": { "type": "string", "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 }, "CreditAssessmentDto": { "required": [ "properties", "taskId" ], "type": "object", "properties": { "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Generic properties setup in policy for manual credit assessment", "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } }, "assessmentOutcome": { "type": "string", "description": "Assessment Outcome of this manual credit assessment", "nullable": true }, "assessmentComment": { "type": "string", "description": "Assessment Comment of this credit assessment", "nullable": true }, "taskId": { "type": "string", "description": "Task Id" }, "taskDataKey": { "type": "string", "description": "Task Data Key", "nullable": true } }, "additionalProperties": false }, "CurrentDataGroupItemDataSource": { "required": [ "properties" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "properties": { "type": "object", "additionalProperties": { "type": "string", "nullable": true } } }, "additionalProperties": false }, "CurrentFieldDataSource": { "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "currentField": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CurrentJourneysDataSource": { "required": [ "inProgressJourneyTypes" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "inProgressJourneyTypes": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "CurrentProductDataSource": { "required": [ "properties" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Generic properties setup in product policy", "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } }, "lifecycleStatus": { "type": "string", "description": "System field used in backend for status of a product in lifecycle", "nullable": true } }, "additionalProperties": false }, "CurrentProductMetadataDataSource": { "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "isAgency": { "type": "string", "nullable": true }, "lifecycleStatus": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CurrentUserDataSource": { "required": [ "teamIds" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "teamIds": { "type": "array", "items": { "minLength": 1, "type": "string", "format": "uuid" } }, "isSystemUser": { "type": "boolean" } }, "additionalProperties": false }, "CustomPropertyDto": { "allOf": [ { "$ref": "#/components/schemas/PropertyDto" }, { "type": "object", "properties": { "customTypeId": { "type": "string", "format": "uuid" }, "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "nullable": true, "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } } }, "additionalProperties": false } ] }, "CustomPropertyDto2": { "type": "object", "properties": { "singleProperties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/SinglePropertyDto2" }, "nullable": true }, "customProperties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/CustomPropertyDto2" }, "nullable": true } }, "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" }, "DataGroupColumnDto": { "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" }, "name": { "type": "string", "description": "Data group field name", "nullable": true, "example": "Product Type" }, "description": { "type": "string", "description": "Data group field description", "nullable": true, "example": "This is the field description" }, "order": { "type": "number", "description": "Data group field order", "format": "double", "nullable": true, "example": 2 }, "isConditional": { "type": "boolean", "description": "Is data group field conditional", "example": false } }, "additionalProperties": false }, "DataSourcesDto": { "type": "object", "properties": { "entityDataMetadata": { "allOf": [ { "$ref": "#/components/schemas/EntityDataMetadataDataSource" } ], "description": "DataSource for EntityDraft information beside generic properties", "nullable": true }, "eventIngress": { "allOf": [ { "$ref": "#/components/schemas/EventIngressDataSource" } ], "description": "DataSource for EventIngress event details", "nullable": true }, "changedFields": { "allOf": [ { "$ref": "#/components/schemas/ChangedFieldsDataSource" } ], "description": "DataSource for detecting changed EntityDraft properties in comparasion with verified Entity", "nullable": true }, "relatedClient": { "allOf": [ { "$ref": "#/components/schemas/RelatedClientDataSource" } ], "description": "DataSource for new Related Client properties added in Association task", "nullable": true }, "relatedProducts": { "allOf": [ { "$ref": "#/components/schemas/RelatedProductsDataSource" } ], "description": "DataSource for new Related Product properties added in Manage Product task", "nullable": true }, "currentDataGroupItem": { "allOf": [ { "$ref": "#/components/schemas/CurrentDataGroupItemDataSource" } ], "description": "DataSource for single, current data group row item. Can be used only for Data Group field conditions.", "nullable": true }, "externalDataAdapter": { "allOf": [ { "$ref": "#/components/schemas/ExternalDataAdapterDataSource" } ], "description": "DataSource for External Data Adapter (Ongoing Monitoring) event details", "nullable": true }, "entityAssociation": { "allOf": [ { "$ref": "#/components/schemas/EntityAssociationDataSource" } ], "description": "DataSource for entity association details", "nullable": true }, "manualCreditAssessment": { "allOf": [ { "$ref": "#/components/schemas/ManualCreditAssessmentV2DataSource" } ], "description": "DataSource for manual credit assessment", "nullable": true }, "reviewAndApproval": { "allOf": [ { "$ref": "#/components/schemas/ReviewAndApprovalDataSource" } ], "description": "DataSource for review and approval", "nullable": true }, "autoCreditAssessment": { "allOf": [ { "$ref": "#/components/schemas/AutoCreditAssessmentDataSource" } ], "description": "DataSource for auto credit assessment", "nullable": true }, "manualCreditScreening": { "allOf": [ { "$ref": "#/components/schemas/ManualCreditScreeningDataSource" } ], "nullable": true }, "collateral": { "allOf": [ { "$ref": "#/components/schemas/CollateralDataSource" } ], "nullable": true }, "currentJourneys": { "allOf": [ { "$ref": "#/components/schemas/CurrentJourneysDataSource" } ], "description": "DataSource for entity current journeys", "nullable": true }, "autoCreditScreening": { "allOf": [ { "$ref": "#/components/schemas/AutoCreditScreeningDataSource" } ], "description": "DataSource for auto credit screening", "nullable": true }, "currentProduct": { "allOf": [ { "$ref": "#/components/schemas/CurrentProductDataSource" } ], "description": "DataSource for product scoping", "nullable": true }, "relatedDeals": { "allOf": [ { "$ref": "#/components/schemas/RelatedDealsDataSource" } ], "description": "DataSource for related deals", "nullable": true }, "mainEntity": { "allOf": [ { "$ref": "#/components/schemas/MainEntityDataSource" } ], "description": "DataSource for main entity properties used for condition evaluation", "nullable": true }, "relatedAssets": { "allOf": [ { "$ref": "#/components/schemas/RelatedAssetsDataSource" } ], "description": "DataSource for related assets", "nullable": true }, "relatedAssociations": { "allOf": [ { "$ref": "#/components/schemas/RelatedAssociationsDataSource" } ], "description": "DataSource for related associations", "nullable": true }, "accountRelatedFunds": { "allOf": [ { "$ref": "#/components/schemas/AccountRelatedFundsDataSource" } ], "description": "DataSource for account related funds", "nullable": true }, "investmentAccountFund": { "allOf": [ { "$ref": "#/components/schemas/InvestmentAccountFundDataSource" } ], "description": "DataSource for investment account fund", "nullable": true }, "investmentAccountRelatedFundShareClass": { "allOf": [ { "$ref": "#/components/schemas/InvestmentAccountRelatedFundShareClassDataSource" } ], "description": "DataSource for investment account related fund share class", "nullable": true }, "investmentAccount": { "allOf": [ { "$ref": "#/components/schemas/InvestmentAccountDataSource" } ], "description": "DataSource for in-scope investment accounts, evaluated across all accounts on the entity", "nullable": true }, "journeyLevelData": { "allOf": [ { "$ref": "#/components/schemas/JourneyLevelDataDataSource" } ], "description": "DataSource for draft properties using journey level data requirements used for journey scoping", "nullable": true }, "relatedParties": { "allOf": [ { "$ref": "#/components/schemas/RelatedPartiesDataSource" } ], "description": "DataSource for related parties entity properties", "nullable": true }, "currentField": { "allOf": [ { "$ref": "#/components/schemas/CurrentFieldDataSource" } ], "description": "DataSource for condtional limit validation", "nullable": true }, "significanceEngine": { "allOf": [ { "$ref": "#/components/schemas/SignificanceEngineDataSource" } ], "description": "DataSource for significance engine", "nullable": true }, "alert": { "allOf": [ { "$ref": "#/components/schemas/AlertDataSource" } ], "description": "DataSource for Transaction Monitoring Alert", "nullable": true }, "relatedFCRs": { "allOf": [ { "$ref": "#/components/schemas/RelatedFCRsDataSource" } ], "description": "DataSource for related FCRs in product domain", "nullable": true }, "relatedInvestmentManager": { "allOf": [ { "$ref": "#/components/schemas/RelatedInvestmentManagerDataSource" } ], "description": "Related Investment Manager data source for product domain", "nullable": true }, "relatedUnderlyingPrincipalOwner": { "allOf": [ { "$ref": "#/components/schemas/RelatedUnderlyingPrincipalOwnerDataSource" } ], "description": "Data Source for Related UP Owners", "nullable": true }, "alertAssessment": { "allOf": [ { "$ref": "#/components/schemas/AlertAssessmentDataSource" } ], "description": "DataSource for Transaction Monitoring Alert assessment outcomes", "nullable": true }, "currentProductMetadata": { "allOf": [ { "$ref": "#/components/schemas/CurrentProductMetadataDataSource" } ], "description": "DataSource for Product Metadata", "nullable": true }, "currentUser": { "allOf": [ { "$ref": "#/components/schemas/CurrentUserDataSource" } ], "description": "DataSource for current user", "nullable": true }, "relatedDocuments": { "allOf": [ { "$ref": "#/components/schemas/RelatedDocumentsDataSource" } ], "description": "DataSource for related documents", "nullable": true }, "screeningMateriality": { "allOf": [ { "$ref": "#/components/schemas/ScreeningMaterialityDataSource" } ], "description": "DataSource for Screening Materiality Assessment outcomes for the entity being evaluated (main entity or a specific related party).", "nullable": true } }, "additionalProperties": false }, "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 }, "EntityAssociationDataSource": { "required": [ "associationToClient", "associationType" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "associationType": { "minLength": 1, "type": "string" }, "ownershipPercentage": { "type": "number", "format": "double", "nullable": true }, "associationToClient": { "minLength": 1, "type": "string" }, "properties": { "allOf": [ { "$ref": "#/components/schemas/PropertiesDto" } ], "description": "Generic properties", "nullable": true } }, "additionalProperties": false }, "EntityDataMetadataDataSource": { "required": [ "entityType" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "entityType": { "minLength": 1, "type": "string" } }, "additionalProperties": false }, "EvaluateAllRequirementsReadOnlyRequestDto": { "required": [ "entityType", "jurisdictions", "properties", "requirementType" ], "type": "object", "properties": { "jurisdictions": { "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/VersionedJurisdictionDto" }, "description": "Jurisdictions of the requirement in specific version" }, "requirementType": { "minLength": 1, "type": "string", "description": "Requirement type [Data, Document, OwnershipAndControl]", "example": "Data" }, "targetEntity": { "type": "string", "description": "Target entity", "nullable": true, "example": "Client" }, "entityType": { "minLength": 1, "type": "string", "description": "Type of entity", "example": "Company" }, "categories": { "type": "array", "items": { "type": "string" }, "description": "List of requirement category e.g. [\"Basic Details\", \"Enrich Details\"]", "nullable": true }, "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Entity data properties used for condition evaluation", "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } }, "dataSources": { "allOf": [ { "$ref": "#/components/schemas/DataSourcesDto" } ], "description": "Additional data sources used for evaluation", "nullable": true }, "journeyId": { "type": "string", "description": "Id of the journey used to determine data group version retrieved from the baseline", "format": "uuid", "nullable": true }, "entityId": { "type": "string", "description": "Id of the entity which is used to fetch all Related Products in the Journey", "format": "uuid", "nullable": true }, "journeyLevelDataOnly": { "type": "boolean", "description": "Flag indicating if returned requirements will be Journey Level Data only", "example": false }, "fetchDataSources": { "type": "array", "items": { "type": "string" }, "description": "Array indicating if all related products should be fetched for the entity", "nullable": true, "example": [ "relatedProducts" ] }, "taskId": { "type": "string", "description": "Id of the task associated with this evaluation request", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "EvaluateAllRequirementsReadOnlyRequestDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/EvaluateAllRequirementsReadOnlyRequestDto" } ], "description": "The service request DTO", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "EvaluateAllRequirementsRequestDto": { "required": [ "entityType", "jurisdictions", "properties", "requirementType" ], "type": "object", "properties": { "jurisdictions": { "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/VersionedJurisdictionDto" }, "description": "Jurisdictions of the requirement in specific version" }, "requirementType": { "minLength": 1, "type": "string", "description": "Requirement type [Data, Document, OwnershipAndControl]", "example": "Data" }, "targetEntity": { "type": "string", "description": "Target entity", "nullable": true, "example": "Client" }, "entityType": { "minLength": 1, "type": "string", "description": "Type of entity", "example": "Company" }, "categories": { "type": "array", "items": { "type": "string" }, "description": "List of requirement category e.g. [\"Basic Details\", \"Enrich Details\"]", "nullable": true }, "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Entity data properties used for condition evaluation", "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } }, "dataSources": { "allOf": [ { "$ref": "#/components/schemas/DataSourcesDto" } ], "description": "Additional data sources used for evaluation", "nullable": true }, "journeyId": { "type": "string", "description": "Id of the journey used to determine data group version retrieved from the baseline", "format": "uuid", "nullable": true }, "entityId": { "type": "string", "description": "Id of the entity which is used to fetch all Related Products in the Journey", "format": "uuid", "nullable": true }, "journeyLevelDataOnly": { "type": "boolean", "description": "Flag indicating if returned requirements will be Journey Level Data only", "example": false }, "fetchDataSources": { "type": "array", "items": { "type": "string" }, "description": "Array indicating if all related products should be fetched for the entity", "nullable": true, "example": [ "relatedProducts" ] }, "taskId": { "type": "string", "description": "Id of the task associated with this evaluation request", "format": "uuid", "nullable": true }, "skipValuesEvaluation": { "type": "boolean", "description": "Skip evaluation of default value, conditional value and calculated fields if value is true.\nUse 'true' for readonly/completed tasks.\nDefault value will be false.", "example": false } }, "additionalProperties": false }, "EvaluateAllRequirementsRequestDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/EvaluateAllRequirementsRequestDto" } ], "description": "The service request DTO", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "EvaluateRequirementSetsRequestV2Dto": { "required": [ "properties" ], "type": "object", "properties": { "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Entity data properties for condition evaluation", "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } }, "dataSources": { "allOf": [ { "$ref": "#/components/schemas/DataSourcesDto" } ], "description": "Additional data sources used for evaluation", "nullable": true }, "entityId": { "type": "string", "description": "Entity/journey/task this request concerns. When Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementSets.v2.EvaluateRequirementSetsRequestV2Dto.EntityId is supplied (and\nFenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementSets.v2.EvaluateRequirementSetsRequestV2Dto.JourneyId/Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementSets.v2.EvaluateRequirementSetsRequestV2Dto.TaskId, unless the tenant has\nEnableFetchAllRelatedProductsWithoutJourneyOrTaskId enabled), lets Policy re-fetch Related Products\ndirectly rather than trust the caller-supplied data source (see AB#537936). Full population is not\nrequired in all cases; the exact gating is tenant-flag dependent.", "format": "uuid", "nullable": true }, "journeyId": { "type": "string", "description": "Journey this request concerns. See Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementSets.v2.EvaluateRequirementSetsRequestV2Dto.EntityId.", "format": "uuid", "nullable": true }, "taskId": { "type": "string", "description": "Task this request concerns. See Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementSets.v2.EvaluateRequirementSetsRequestV2Dto.EntityId.", "format": "uuid", "nullable": true } }, "additionalProperties": false, "description": "Request DTO representing entity data properties used to evaluate the condition of requirement set" }, "EvaluateRequirementSetsRequestV2DtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/EvaluateRequirementSetsRequestV2Dto" } ], "description": "Request DTO representing entity data properties used to evaluate the condition of requirement set", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "EvaluateRequirementSetsResponseDto": { "type": "object", "properties": { "requirementSetId": { "type": "string", "description": "The UiD of matched requirement set", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "Name of matched requirement set", "nullable": true, "example": "Fenergo Comprehensive Standard Policy Requirements" }, "jurisdiction": { "type": "string", "description": "Jurisdiction of matched requirement set", "nullable": true, "example": "Global" } }, "additionalProperties": false, "description": "Response DTO representing parameters of matched requirement set" }, "EvaluateRequirementSetsResponseDtoIEnumerableServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluateRequirementSetsResponseDto" }, "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" }, "EvaluateRequirementsInScopeV2RequestDto": { "required": [ "entityType", "jurisdictions", "requirementType" ], "type": "object", "properties": { "jurisdictions": { "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/VersionedJurisdictionDto" }, "description": "Jurisdictions of the requirement in specific version" }, "requirementType": { "minLength": 1, "type": "string", "description": "Requirement type [Data, Document, OwnershipAndControl]", "example": "Data" }, "targetEntity": { "type": "string", "description": "Target entity", "nullable": true, "example": "Client" }, "entityType": { "minLength": 1, "type": "string", "description": "Type of entity", "example": "Company" }, "categories": { "type": "array", "items": { "type": "string" }, "description": "List of requirement category e.g. [\"Basic Details\", \"Enrich Details\"]", "nullable": true }, "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Entity data properties used for condition evaluation", "nullable": true, "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } }, "dataSources": { "allOf": [ { "$ref": "#/components/schemas/DataSourcesDto" } ], "description": "Additional data sources used for evaluation", "nullable": true }, "returnValidationErrors": { "type": "boolean", "description": "Run validation and return errors for each data requirement" } }, "additionalProperties": false }, "EvaluateRequirementsInScopeV2RequestDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/EvaluateRequirementsInScopeV2RequestDto" } ], "description": "The service request DTO", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "EvaluateRequirementsRequestV3Dto": { "type": "object", "properties": { "jurisdictions": { "type": "array", "items": { "$ref": "#/components/schemas/VersionedJurisdictionDto" }, "description": "List of versioned jurisdiction", "nullable": true }, "requirementTypes": { "type": "array", "items": { "type": "string" }, "description": "List of requirement types [Data, Document, OwnershipAndControl]", "nullable": true }, "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Entity data properties for condition evaluation", "nullable": true, "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } }, "dataSources": { "allOf": [ { "$ref": "#/components/schemas/DataSourcesDto" } ], "description": "Additional data sources used for evaluation", "nullable": true }, "targetEntity": { "type": "string", "description": "Target entity", "nullable": true, "example": "Client" }, "categories": { "type": "array", "items": { "type": "string" }, "description": "List of requirement category e.g. [\"Basic Details\", \"Enrich Details\"]", "nullable": true } }, "additionalProperties": false, "description": "Request DTO representing object used to evaluate the condition of requirement" }, "EvaluateRequirementsRequestV3DtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/EvaluateRequirementsRequestV3Dto" } ], "description": "Request DTO representing object used to evaluate the condition of requirement", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "EvaluatedAllRequirementsNormalizedResponseDto": { "type": "object", "properties": { "evaluatedSingleDataRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedSingleDataRequirementDto" }, "description": "Evaluated single data requirements", "nullable": true }, "evaluatedDataGroupRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedDataGroupRequirementNormalizedDto" }, "description": "Evaluated data group requirements (normalized)", "nullable": true }, "evaluatedCustomRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedCustomRequirementDto" }, "description": "Evaluated legacy custom data group requirements", "nullable": true }, "evaluatedDocumentRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedDocumentRequirementDto" }, "description": "Evaluated document requirements", "nullable": true }, "evaluatedOwnershipAndControlRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedOwnershipAndControlRequirementDto" }, "description": "Evaluated ownership and control requirements", "nullable": true }, "evaluatedESignatureDocumentRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedESignatureDocumentRequirementDto" }, "description": "Evaluated eSignature document requirements", "nullable": true } }, "additionalProperties": false, "description": "Normalized variant of Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.ResponseDto.EvaluatedAllRequirementsResponseDto: each data group's unique\nevaluated fields are listed once in `evaluatedFields` and items reference them by index, cutting\npayload size for data groups with many similar items. All other collections are unchanged." }, "EvaluatedAllRequirementsNormalizedResponseDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/EvaluatedAllRequirementsNormalizedResponseDto" } ], "description": "Normalized variant of Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.ResponseDto.EvaluatedAllRequirementsResponseDto: each data group's unique\nevaluated fields are listed once in `evaluatedFields` and items reference them by index, cutting\npayload size for data groups with many similar items. All other collections are unchanged.", "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" }, "EvaluatedAllRequirementsReadOnlyNormalizedResponseDto": { "type": "object", "properties": { "evaluatedSingleDataRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedSingleDataRequirementReadOnlyDto" }, "description": "Evaluated single data requirements", "nullable": true }, "evaluatedDataGroupRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedDataGroupRequirementReadOnlyNormalizedDto" }, "description": "Evaluated data group requirements (normalized)", "nullable": true } }, "additionalProperties": false, "description": "Normalized variant of Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.ResponseDto.EvaluatedAllRequirementsReadOnlyResponseDto: each data group's unique\nevaluated fields are listed once in `evaluatedFields` and items reference them by index, cutting\npayload size for data groups with many similar items. All other collections are unchanged." }, "EvaluatedAllRequirementsReadOnlyNormalizedResponseDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/EvaluatedAllRequirementsReadOnlyNormalizedResponseDto" } ], "description": "Normalized variant of Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.ResponseDto.EvaluatedAllRequirementsReadOnlyResponseDto: each data group's unique\nevaluated fields are listed once in `evaluatedFields` and items reference them by index, cutting\npayload size for data groups with many similar items. All other collections are unchanged.", "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" }, "EvaluatedAllRequirementsReadOnlyResponseDto": { "type": "object", "properties": { "evaluatedSingleDataRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedSingleDataRequirementReadOnlyDto" }, "description": "Evaluated single data requirements", "nullable": true }, "evaluatedDataGroupRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedDataGroupRequirementReadOnlyDto" }, "description": "Evaluated data group requirements", "nullable": true } }, "additionalProperties": false }, "EvaluatedAllRequirementsReadOnlyResponseDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/EvaluatedAllRequirementsReadOnlyResponseDto" } ], "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" }, "EvaluatedAllRequirementsResponseDto": { "type": "object", "properties": { "evaluatedSingleDataRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedSingleDataRequirementDto" }, "description": "Evaluated single data requirements", "nullable": true }, "evaluatedDataGroupRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedDataGroupRequirementDto" }, "description": "Evaluated data group requirements", "nullable": true }, "evaluatedCustomRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedCustomRequirementDto" }, "description": "Evaluated legacy custom data group requirements", "nullable": true }, "evaluatedDocumentRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedDocumentRequirementDto" }, "description": "Evaluated document requirements", "nullable": true }, "evaluatedOwnershipAndControlRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedOwnershipAndControlRequirementDto" }, "description": "Evaluated ownership and control requirements", "nullable": true }, "evaluatedESignatureDocumentRequirements": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedESignatureDocumentRequirementDto" }, "description": "Evaluated eSignature document requirements", "nullable": true } }, "additionalProperties": false }, "EvaluatedAllRequirementsResponseDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/EvaluatedAllRequirementsResponseDto" } ], "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" }, "EvaluatedCustomRequirementDto": { "type": "object", "properties": { "propertyName": { "type": "string", "description": "Property name of custom data group requirement", "nullable": true, "example": "product" }, "dataGroupId": { "type": "string", "description": "The UiD of the data group", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "dataGroupVersionNumber": { "type": "integer", "description": "The version number of the data group", "format": "int32", "example": 1 }, "dataGroupName": { "type": "string", "description": "Data group name", "nullable": true, "example": "Products" }, "name": { "type": "string", "description": "Requirement name", "nullable": true, "example": "Product" }, "description": { "type": "string", "description": "Requirement description", "nullable": true, "example": "This is the product object" }, "category": { "type": "string", "description": "Requirement business category", "nullable": true, "example": "Basic Details" }, "order": { "type": "number", "description": "Order", "format": "double", "nullable": true, "example": 1 }, "isConditional": { "type": "boolean", "description": "Is requirement conditional", "example": false }, "singleFields": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedDataFieldDto" }, "description": "Single custom data group fields", "nullable": true }, "customNestedFields": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedCustomRequirementDto" }, "description": "Nested custom data group fields", "nullable": true } }, "additionalProperties": false }, "EvaluatedDataFieldDto": { "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" }, "name": { "type": "string", "description": "Requirement name", "nullable": true, "example": "First Name" }, "description": { "type": "string", "description": "Requirement description", "nullable": true, "example": "This is the client first name" }, "hasEvaluatedDefaultValue": { "type": "boolean", "description": "Does this field has evaluated default value?" }, "defaultValue": { "type": "string", "description": "Default Value", "nullable": true, "example": "Not Available" }, "isReadOnly": { "type": "boolean", "description": "Is requirement readonly", "example": false }, "category": { "type": "string", "description": "Requirement business category", "nullable": true, "example": "Basic Details" }, "validationData": { "allOf": [ { "$ref": "#/components/schemas/ValidationDataDto" } ], "description": "Request DTO representing validation data metadata", "nullable": true }, "isRequired": { "type": "boolean", "description": "Is the field value mandatory" }, "order": { "type": "number", "description": "Order", "format": "double", "nullable": true, "example": 1 }, "hasEvaluatedConditionalValue": { "type": "boolean", "description": "Does this field has evaluated conditional value?" }, "evaluatedConditionalValue": { "type": "string", "description": "Evaluated conditional value", "nullable": true }, "evaluatedConditionalValueId": { "type": "string", "description": "Evaluated conditional value Id", "nullable": true }, "isMasked": { "type": "boolean", "description": "Flag indicating if field is masked due to missing Sensitive Data Access layers", "example": false }, "isConditional": { "type": "boolean", "description": "Is requirement conditional", "example": false }, "isSensitiveData": { "type": "boolean", "description": "Requirement sensitive data flag", "example": true }, "fieldAccessLayers": { "allOf": [ { "$ref": "#/components/schemas/AccessLayerDto" } ], "description": "Field Access Layers", "nullable": true }, "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 }, "hasCalculatedValue": { "type": "boolean", "description": "Does this field has calculated value?" }, "calculatedFieldResult": { "allOf": [ { "$ref": "#/components/schemas/CalculatedResultDto" } ], "description": "Calcualtion value", "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" }, "validationErrors": { "type": "array", "items": { "$ref": "#/components/schemas/FieldValidationErrorDto" }, "description": "Evaluated validation errors for this field", "nullable": true }, "shouldClearValue": { "type": "boolean", "description": "Whether the field value should be cleared to null because all trigger conditions are not met", "example": false } }, "additionalProperties": false }, "EvaluatedDataGroupFieldDto": { "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" }, "name": { "type": "string", "description": "Requirement name", "nullable": true, "example": "First Name" }, "description": { "type": "string", "description": "Requirement description", "nullable": true, "example": "This is the client first name" }, "hasEvaluatedDefaultValue": { "type": "boolean", "description": "Does this field has evaluated default value?" }, "defaultValue": { "type": "string", "description": "Default Value", "nullable": true, "example": "Not Available" }, "isReadOnly": { "type": "boolean", "description": "Is requirement readonly", "example": false }, "category": { "type": "string", "description": "Requirement business category", "nullable": true, "example": "Basic Details" }, "validationData": { "allOf": [ { "$ref": "#/components/schemas/ValidationDataDto" } ], "description": "Request DTO representing validation data metadata", "nullable": true }, "isRequired": { "type": "boolean", "description": "Is the field value mandatory" }, "order": { "type": "number", "description": "Order", "format": "double", "nullable": true, "example": 1 }, "hasEvaluatedConditionalValue": { "type": "boolean", "description": "Does this field has evaluated conditional value?" }, "evaluatedConditionalValue": { "type": "string", "description": "Evaluated conditional value", "nullable": true }, "evaluatedConditionalValueId": { "type": "string", "description": "Evaluated conditional value Id", "nullable": true }, "isMasked": { "type": "boolean", "description": "Flag indicating if field is masked due to missing Sensitive Data Access layers", "example": false }, "isConditional": { "type": "boolean", "description": "Is requirement conditional", "example": false }, "isSensitiveData": { "type": "boolean", "description": "Requirement sensitive data flag", "example": true }, "fieldAccessLayers": { "allOf": [ { "$ref": "#/components/schemas/AccessLayerDto" } ], "description": "Field Access Layers", "nullable": true }, "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 }, "hasCalculatedValue": { "type": "boolean", "description": "Does this field has calculated value?" }, "calculatedFieldResult": { "allOf": [ { "$ref": "#/components/schemas/CalculatedResultDto" } ], "description": "Calcualtion value", "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" }, "validationErrors": { "type": "array", "items": { "$ref": "#/components/schemas/FieldValidationErrorDto" }, "description": "Evaluated validation errors for this field", "nullable": true }, "shouldClearValue": { "type": "boolean", "description": "Whether the field value should be cleared to null because all trigger conditions are not met", "example": false } }, "additionalProperties": false }, "EvaluatedDataGroupItemDto": { "type": "object", "properties": { "evaluatedFields": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedDataGroupFieldDto" }, "description": "Evaluated data group fields", "nullable": true } }, "additionalProperties": false }, "EvaluatedDataGroupItemRefsDto": { "type": "object", "properties": { "evaluatedFieldRefs": { "type": "array", "items": { "type": "integer", "format": "int32" }, "description": "Ordered, zero-based indices into the parent requirement's `evaluatedFields` list.\nRequest-time-valid only — not stable across requests, so resolve against the same response.", "nullable": true, "example": [ 0, 3, 3, 7 ] } }, "additionalProperties": false, "description": "A data group item that references its evaluated fields by index instead of inlining them." }, "EvaluatedDataGroupRequirementDto": { "type": "object", "properties": { "propertyName": { "type": "string", "description": "Property name of data group requirement", "nullable": true, "example": "firstName" }, "dataGroupId": { "type": "string", "description": "The UiD of the data group", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "dataGroupVersionNumber": { "type": "integer", "description": "The version number of the data group", "format": "int32", "example": 1 }, "dataGroupName": { "type": "string", "description": "Data group name", "nullable": true, "example": "Addresses" }, "name": { "type": "string", "description": "Requirement name", "nullable": true, "example": "Mailing addresses" }, "description": { "type": "string", "description": "Requirement description", "nullable": true, "example": "This is the client mailing addresses" }, "isReadOnly": { "type": "boolean", "description": "Is requirement readonly", "example": false }, "category": { "type": "string", "description": "Requirement business category", "nullable": true, "example": "Basic Details" }, "validationData": { "allOf": [ { "$ref": "#/components/schemas/ValidationDataDto" } ], "description": "Request DTO representing validation data metadata", "nullable": true }, "order": { "type": "number", "description": "Order", "format": "double", "nullable": true, "example": 1 }, "primaryDataGroupField": { "type": "string", "description": "Property name of primary data group field", "nullable": true, "example": "addressType" }, "disableMultiselectPrimaryFieldOnAdd": { "type": "boolean", "description": "When this field toggle is enabled, users will not be able to add multiple entries to a Data Group at once" }, "columns": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupColumnDto" }, "description": "All data group columns", "nullable": true }, "evaluatedItems": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/EvaluatedDataGroupItemDto" }, "description": "Evaluated data group items", "nullable": true, "example": { "itemId": { } } }, "isConditional": { "type": "boolean", "description": "Is requirement conditional", "example": false } }, "additionalProperties": false }, "EvaluatedDataGroupRequirementNormalizedDto": { "type": "object", "properties": { "propertyName": { "type": "string", "description": "Property name of data group requirement", "nullable": true, "example": "firstName" }, "dataGroupId": { "type": "string", "description": "The ID of the data group", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "dataGroupVersionNumber": { "type": "integer", "description": "The version number of the data group", "format": "int32", "example": 1 }, "dataGroupName": { "type": "string", "description": "Data group name", "nullable": true, "example": "Addresses" }, "name": { "type": "string", "description": "Requirement name", "nullable": true, "example": "Mailing addresses" }, "description": { "type": "string", "description": "Requirement description", "nullable": true, "example": "This is the client mailing addresses" }, "isReadOnly": { "type": "boolean", "description": "Is requirement readonly", "example": false }, "category": { "type": "string", "description": "Requirement business category", "nullable": true, "example": "Basic Details" }, "validationData": { "allOf": [ { "$ref": "#/components/schemas/ValidationDataDto" } ], "description": "Request DTO representing validation data metadata", "nullable": true }, "order": { "type": "number", "description": "Order", "format": "double", "nullable": true, "example": 1 }, "primaryDataGroupField": { "type": "string", "description": "Property name of primary data group field", "nullable": true, "example": "addressType" }, "disableMultiselectPrimaryFieldOnAdd": { "type": "boolean", "description": "When this field toggle is enabled, users will not be able to add multiple entries to a Data Group at once" }, "columns": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupColumnDto" }, "description": "All data group columns", "nullable": true }, "evaluatedFields": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedDataGroupFieldDto" }, "description": "Unique evaluated fields for this data group, stored once each. Items reference entries by index\n(see Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.ResponseDto.Normalized.EvaluatedDataGroupItemRefsDto.EvaluatedFieldRefs).", "nullable": true }, "evaluatedItems": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/EvaluatedDataGroupItemRefsDto" }, "description": "Evaluated data group items, keyed by item id, each referencing Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.ResponseDto.Normalized.EvaluatedDataGroupRequirementNormalizedDto.EvaluatedFields by index.", "nullable": true, "example": { "itemId": { "evaluatedFieldRefs": [ 0, 1 ] } } }, "isConditional": { "type": "boolean", "description": "Is requirement conditional", "example": false } }, "additionalProperties": false, "description": "Normalized projection of an evaluated data group requirement: unique evaluated fields listed once in\nFenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.ResponseDto.Normalized.EvaluatedDataGroupRequirementNormalizedDto.EvaluatedFields, with each item referencing them by index. Otherwise identical to\nFenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.ResponseDto.EvaluatedDataGroupRequirementDto." }, "EvaluatedDataGroupRequirementReadOnlyDto": { "type": "object", "properties": { "propertyName": { "type": "string", "description": "Property name of data group requirement", "nullable": true, "example": "firstName" }, "dataGroupId": { "type": "string", "description": "The UiD of the data group", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "dataGroupVersionNumber": { "type": "integer", "description": "The version number of the data group", "format": "int32", "example": 1 }, "dataGroupName": { "type": "string", "description": "Data group name", "nullable": true, "example": "Addresses" }, "name": { "type": "string", "description": "Requirement name", "nullable": true, "example": "Mailing addresses" }, "description": { "type": "string", "description": "Requirement description", "nullable": true, "example": "This is the client mailing addresses" }, "category": { "type": "string", "description": "Requirement business category", "nullable": true, "example": "Basic Details" }, "order": { "type": "number", "description": "Order", "format": "double", "nullable": true, "example": 1 }, "columns": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupColumnDto" }, "description": "All data group columns", "nullable": true }, "evaluatedItems": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/EvaluatedDataGroupItemDto" }, "description": "Evaluated data group items", "nullable": true, "example": { "itemId": { } } }, "isConditional": { "type": "boolean", "description": "Is requirement conditional", "example": false } }, "additionalProperties": false }, "EvaluatedDataGroupRequirementReadOnlyNormalizedDto": { "type": "object", "properties": { "propertyName": { "type": "string", "description": "Property name of data group requirement", "nullable": true, "example": "firstName" }, "dataGroupId": { "type": "string", "description": "The UiD of the data group", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "dataGroupVersionNumber": { "type": "integer", "description": "The version number of the data group", "format": "int32", "example": 1 }, "dataGroupName": { "type": "string", "description": "Data group name", "nullable": true, "example": "Addresses" }, "name": { "type": "string", "description": "Requirement name", "nullable": true, "example": "Mailing addresses" }, "description": { "type": "string", "description": "Requirement description", "nullable": true, "example": "This is the client mailing addresses" }, "category": { "type": "string", "description": "Requirement business category", "nullable": true, "example": "Basic Details" }, "order": { "type": "number", "description": "Order", "format": "double", "nullable": true, "example": 1 }, "columns": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupColumnDto" }, "description": "All data group columns", "nullable": true }, "evaluatedFields": { "type": "array", "items": { "$ref": "#/components/schemas/EvaluatedDataGroupFieldDto" }, "description": "Unique evaluated fields for this data group, stored once each. Items reference entries by index\n(see Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.ResponseDto.Normalized.EvaluatedDataGroupItemRefsDto.EvaluatedFieldRefs).", "nullable": true }, "evaluatedItems": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/EvaluatedDataGroupItemRefsDto" }, "description": "Evaluated data group items, keyed by item id, each referencing Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.ResponseDto.Normalized.EvaluatedDataGroupRequirementReadOnlyNormalizedDto.EvaluatedFields by index.", "nullable": true, "example": { "itemId": { "evaluatedFieldRefs": [ 0, 1 ] } } }, "isConditional": { "type": "boolean", "description": "Is requirement conditional", "example": false } }, "additionalProperties": false, "description": "Normalized projection of an evaluated read-only data group requirement: unique evaluated fields listed\nonce in Fenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.ResponseDto.Normalized.EvaluatedDataGroupRequirementReadOnlyNormalizedDto.EvaluatedFields, with each item referencing them by index. Otherwise identical to\nFenergo.Nebula.Policy.Query.Application.V1.Features.EvaluateRequirementsInScope.V2.ResponseDto.EvaluatedDataGroupRequirementReadOnlyDto." }, "EvaluatedDocumentRequirementDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the requirement", "format": "uuid", "example": "84ec28e2-d786-417b-850f-96321dd849dd" }, "name": { "type": "string", "description": "Document name", "nullable": true, "example": "Driving Licence" }, "dataKey": { "type": "string", "description": "Document datakey", "nullable": true, "example": "drivingLicence" }, "description": { "type": "string", "description": "Document description", "nullable": true, "example": "Driving Licence document" }, "category": { "type": "string", "description": "Document business category", "nullable": true, "example": "Basic Details" }, "isRequired": { "type": "boolean", "description": "Is document mandatory" }, "isConditional": { "type": "boolean", "description": "Is document conditional", "example": false }, "acceptableDocumentDataKeys": { "type": "array", "items": { "type": "string" }, "description": "List of acceptable documents", "nullable": true } }, "additionalProperties": false }, "EvaluatedESignatureDocumentRequirementDto": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier of the eSignature document requirement", "nullable": true }, "name": { "type": "string", "description": "Requirement name", "nullable": true }, "dataKey": { "type": "string", "description": "Data key", "nullable": true }, "description": { "type": "string", "description": "Requirement description", "nullable": true }, "isRequired": { "type": "boolean", "description": "Whether the requirement is mandatory" }, "isConditional": { "type": "boolean", "description": "Whether the requirement is conditional" }, "acceptableDocumentDataKeys": { "type": "array", "items": { "type": "string" }, "description": "List of acceptable document data keys", "nullable": true } }, "additionalProperties": false }, "EvaluatedOwnershipAndControlRequirementDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Ownership and control requirement name", "nullable": true, "example": "Add 1 Controlling Person" }, "dataKey": { "type": "string", "description": "Ownership and control requirement datakey", "nullable": true, "example": "addControllingPerson" }, "description": { "type": "string", "description": "Ownership and control requirement description", "nullable": true, "example": "Add 1 Controlling Person" }, "category": { "type": "string", "description": "Ownership and control requirement business category", "nullable": true, "example": "Related Party Basic Details" }, "isRequired": { "type": "boolean", "description": "Is Ownership and control requirement mandatory" }, "isConditional": { "type": "boolean", "description": "Is Ownership and control requirement conditional", "example": false }, "portalGuidance": { "type": "string", "description": "Portal guidance", "nullable": true, "example": "Provide at least one director RP" } }, "additionalProperties": false }, "EvaluatedSingleDataRequirementDto": { "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" }, "name": { "type": "string", "description": "Requirement name", "nullable": true, "example": "First Name" }, "description": { "type": "string", "description": "Requirement description", "nullable": true, "example": "This is the client first name" }, "hasEvaluatedDefaultValue": { "type": "boolean", "description": "Does this field has evaluated default value?" }, "defaultValue": { "type": "string", "description": "Default Value", "nullable": true, "example": "Not Available" }, "isReadOnly": { "type": "boolean", "description": "Is requirement readonly", "example": false }, "category": { "type": "string", "description": "Requirement business category", "nullable": true, "example": "Basic Details" }, "validationData": { "allOf": [ { "$ref": "#/components/schemas/ValidationDataDto" } ], "description": "Request DTO representing validation data metadata", "nullable": true }, "isRequired": { "type": "boolean", "description": "Is the field value mandatory" }, "order": { "type": "number", "description": "Order", "format": "double", "nullable": true, "example": 1 }, "hasEvaluatedConditionalValue": { "type": "boolean", "description": "Does this field has evaluated conditional value?" }, "evaluatedConditionalValue": { "type": "string", "description": "Evaluated conditional value", "nullable": true }, "evaluatedConditionalValueId": { "type": "string", "description": "Evaluated conditional value Id", "nullable": true }, "isMasked": { "type": "boolean", "description": "Flag indicating if field is masked due to missing Sensitive Data Access layers", "example": false }, "isConditional": { "type": "boolean", "description": "Is requirement conditional", "example": false }, "isSensitiveData": { "type": "boolean", "description": "Requirement sensitive data flag", "example": true }, "fieldAccessLayers": { "allOf": [ { "$ref": "#/components/schemas/AccessLayerDto" } ], "description": "Field Access Layers", "nullable": true }, "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 }, "hasCalculatedValue": { "type": "boolean", "description": "Does this field has calculated value?" }, "calculatedFieldResult": { "allOf": [ { "$ref": "#/components/schemas/CalculatedResultDto" } ], "description": "Calcualtion value", "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" }, "validationErrors": { "type": "array", "items": { "$ref": "#/components/schemas/FieldValidationErrorDto" }, "description": "Evaluated validation errors for this field", "nullable": true }, "shouldClearValue": { "type": "boolean", "description": "Whether the field value should be cleared to null because all trigger conditions are not met", "example": false }, "jurisdiction": { "type": "string", "description": "Requirement jurisdiction", "nullable": true, "example": "Global" }, "isIndexable": { "type": "boolean", "description": "Requirement is indexed for search", "example": true }, "isMaterialData": { "type": "boolean", "description": "Requirement material data flag", "example": true } }, "additionalProperties": false }, "EvaluatedSingleDataRequirementReadOnlyDto": { "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" }, "jurisdiction": { "type": "string", "description": "Requirement jurisdiction", "nullable": true, "example": "Global" }, "name": { "type": "string", "description": "Requirement name", "nullable": true, "example": "First Name" }, "description": { "type": "string", "description": "Requirement description", "nullable": true, "example": "This is the client first name" }, "category": { "type": "string", "description": "Requirement business category", "nullable": true, "example": "Basic Details" }, "order": { "type": "number", "description": "Order", "format": "double", "nullable": true, "example": 1 }, "isMasked": { "type": "boolean", "description": "Flag indicating if field is masked due to missing Sensitive Data Access layers", "example": false }, "isConditional": { "type": "boolean", "description": "Is requirement conditional", "example": false }, "isSensitiveData": { "type": "boolean", "description": "Requirement sensitive data flag", "example": true }, "fieldAccessLayers": { "allOf": [ { "$ref": "#/components/schemas/AccessLayerDto" } ], "description": "Field Access Layers", "nullable": true }, "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 } }, "additionalProperties": false }, "EventIngressDataSource": { "required": [ "eventSubtype", "eventType" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "eventType": { "minLength": 1, "type": "string" }, "eventSubtype": { "minLength": 1, "type": "string" } }, "additionalProperties": false }, "ExternalDataAdapterDataSource": { "required": [ "eventSubtype", "eventType" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "eventType": { "minLength": 1, "type": "string" }, "eventSubtype": { "minLength": 1, "type": "string" } }, "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 }, "FieldValidationErrorDto": { "type": "object", "properties": { "validator": { "type": "string", "description": "Type of the validator that returned error message", "nullable": true, "example": "mandatory" }, "message": { "type": "string", "description": "Error message configured by the user in the Policy", "nullable": true, "example": "This field is required" } }, "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 }, "InvestmentAccountDataSource": { "required": [ "investmentAccount" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "investmentAccount": { "type": "array", "items": { "$ref": "#/components/schemas/InvestmentAccountDto" } } }, "additionalProperties": false }, "InvestmentAccountDto": { "required": [ "properties" ], "type": "object", "properties": { "properties": { "allOf": [ { "$ref": "#/components/schemas/PropertiesDto" } ], "description": "Generic properties of a single in-scope investment account" } }, "additionalProperties": false }, "InvestmentAccountFundDataSource": { "required": [ "properties" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "properties": { "allOf": [ { "$ref": "#/components/schemas/PropertiesDto" } ], "description": "Properties of the single investment account fund" } }, "additionalProperties": false }, "InvestmentAccountRelatedFundShareClassDataSource": { "required": [ "properties" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "properties": { "allOf": [ { "$ref": "#/components/schemas/PropertiesDto" } ], "description": "Properties of the investment account related fund share class" } }, "additionalProperties": false }, "JourneyLevelDataDataSource": { "required": [ "properties" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "properties": { "allOf": [ { "$ref": "#/components/schemas/PropertiesDto" } ] } }, "additionalProperties": false }, "MainEntityDataSource": { "required": [ "properties" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "properties": { "allOf": [ { "$ref": "#/components/schemas/PropertiesDto" } ] } }, "additionalProperties": false }, "ManualCreditAssessmentV2DataSource": { "required": [ "creditAssessments" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "creditAssessments": { "type": "array", "items": { "$ref": "#/components/schemas/CreditAssessmentDto" } } }, "additionalProperties": false }, "ManualCreditScreeningDataSource": { "required": [ "creditScreenings" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "creditScreenings": { "type": "array", "items": { "$ref": "#/components/schemas/ManualCreditScreeningDto" } }, "relatedPartyCreditScreenings": { "type": "array", "items": { "$ref": "#/components/schemas/ManualCreditScreeningDto" }, "nullable": true } }, "additionalProperties": false }, "ManualCreditScreeningDto": { "required": [ "properties" ], "type": "object", "properties": { "taskDataKey": { "type": "string", "description": "Task Data Key", "nullable": true }, "taskId": { "type": "string", "description": "Task Id", "format": "uuid" }, "entityId": { "type": "string", "description": "Entity Id", "format": "uuid" }, "creditScreeningOutcome": { "type": "string", "description": "The outcome recorded for a manual screening task.", "nullable": true }, "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Generic properties setup in policy for manual credit screening", "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } } }, "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": { } }, "PropertiesDto": { "type": "object", "properties": { "singleProperties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/SinglePropertyDto2" }, "nullable": true }, "collectionProperties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/CollectionPropertyDto2" }, "nullable": true }, "customProperties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/CustomPropertyDto2" }, "nullable": true } }, "additionalProperties": false }, "PropertyDto": { "required": [ "type" ], "type": "object", "properties": { "type": { "allOf": [ { "$ref": "#/components/schemas/PropertyType" } ], "readOnly": true }, "discriminator": { "allOf": [ { "$ref": "#/components/schemas/PropertyType" } ], "readOnly": true }, "isValid": { "type": "boolean", "nullable": true } }, "additionalProperties": false, "discriminator": { "propertyName": "type", "mapping": { "Collection": "#/components/schemas/CollectionPropertyDto", "Custom": "#/components/schemas/CustomPropertyDto", "Single": "#/components/schemas/SinglePropertyDto" } } }, "PropertyType": { "enum": [ "Single", "Custom", "Collection" ], "type": "string" }, "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 }, "RelatedAssetDto": { "required": [ "properties" ], "type": "object", "properties": { "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Generic properties setup in policy", "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } } }, "additionalProperties": false }, "RelatedAssetsDataSource": { "required": [ "assets" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "assets": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedAssetDto" } } }, "additionalProperties": false }, "RelatedAssociationDto": { "required": [ "properties" ], "type": "object", "properties": { "associationType": { "type": "string", "description": "Type of this association", "nullable": true, "example": "Employee of " }, "ownershipPercentage": { "type": "number", "description": "Ownership Percentage of this association", "format": "double", "nullable": true, "example": 0.5 }, "associationToClient": { "type": "string", "description": "Association To Client", "nullable": true, "example": "Direct/Indirect" }, "properties": { "allOf": [ { "$ref": "#/components/schemas/PropertiesDto" } ], "description": "Generic properties" } }, "additionalProperties": false }, "RelatedAssociationsDataSource": { "required": [ "relatedAssociations" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "relatedAssociations": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedAssociationDto" } } }, "additionalProperties": false }, "RelatedClientDataSource": { "required": [ "properties" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } } }, "additionalProperties": false }, "RelatedDealDto": { "required": [ "properties" ], "type": "object", "properties": { "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Generic properties setup in policy", "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } } }, "additionalProperties": false }, "RelatedDealsDataSource": { "required": [ "relatedDeals" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "relatedDeals": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedDealDto" } } }, "additionalProperties": false }, "RelatedDocumentDto": { "required": [ "document" ], "type": "object", "properties": { "document": { "allOf": [ { "$ref": "#/components/schemas/RelatedDocumentVersionedDto" } ] } }, "additionalProperties": false }, "RelatedDocumentVersionedDto": { "type": "object", "properties": { "documentKey": { "type": "string", "nullable": true }, "documentType": { "type": "string", "nullable": true }, "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "nullable": true, "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } } }, "additionalProperties": false }, "RelatedDocumentsDataSource": { "required": [ "documents" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "documents": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedDocumentDto" } } }, "additionalProperties": false }, "RelatedFCRDto": { "required": [ "status" ], "type": "object", "properties": { "status": { "type": "string", "description": "The status of the FCR." }, "createdDate": { "type": "string", "description": "The date the FCR was created.", "format": "date-time" }, "submittedDate": { "type": "string", "description": "The date the FCR was submitted.", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "RelatedFCRsDataSource": { "required": [ "fcRs" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "fcRs": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedFCRDto" } } }, "additionalProperties": false }, "RelatedInvestmentManagerDataSource": { "required": [ "properties" ], "type": "object", "properties": { "properties": { "allOf": [ { "$ref": "#/components/schemas/PropertiesDto" } ] }, "dataSource": { "type": "string", "nullable": true, "readOnly": true } }, "additionalProperties": false }, "RelatedPartiesDataSource": { "required": [ "relatedParties" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "relatedParties": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedPartyDto" } } }, "additionalProperties": false }, "RelatedPartyDto": { "required": [ "properties" ], "type": "object", "properties": { "properties": { "allOf": [ { "$ref": "#/components/schemas/PropertiesDto" } ], "description": "Generic properties setup in policy" }, "metadata": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "description": "The properties from the actual relationship", "nullable": true } }, "additionalProperties": false }, "RelatedProductDto": { "required": [ "properties" ], "type": "object", "properties": { "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Generic properties setup in product policy", "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } }, "lifecycleStatus": { "type": "string", "description": "System field used in backend for status of a product in lifecycle", "nullable": true }, "relationshipTypes": { "type": "array", "items": { "type": "string" }, "description": "System field used in backend for product of a product relationship", "nullable": true } }, "additionalProperties": false }, "RelatedProductsDataSource": { "required": [ "products" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "products": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedProductDto" } } }, "additionalProperties": false }, "RelatedUnderlyingPrincipalOwnerDataSource": { "required": [ "properties" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "properties": { "allOf": [ { "$ref": "#/components/schemas/PropertiesDto" } ] } }, "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" }, "ReviewAndApprovalDataSource": { "required": [ "reviewAndApprovals" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "reviewAndApprovals": { "type": "array", "items": { "$ref": "#/components/schemas/ReviewAndApprovalDto" } } }, "additionalProperties": false }, "ReviewAndApprovalDto": { "required": [ "approvalOutcome" ], "type": "object", "properties": { "properties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PropertyDto" }, "description": "Generic properties setup in policy for review and approval task", "nullable": true, "example": { "firstName": { "type": "Single", "value": "Tom" }, "dateOfBirth": { "type": "Single", "value": "2021-07-15" }, "address": { "type": "Collection", "dataGroupId": "dfde9f06-040a-4127-b9a0-2c802a6502fc", "collections": { "54a25d24-1a4b-45c6-a5b4-980e5d3a1df5": { "properties": { "country": "Ireland", "city": "Dublin", "street": "Mayor Street" } }, "47010265-3b85-4407-be61-90d04525f020": { "properties": { "country": "Ireland", "city": "Dublin", "street": "E Wall Rd" } } } } } }, "approvalOutcome": { "type": "string", "description": "The Approval Outcome of the task" }, "approvalReason": { "type": "string", "description": "The Reason of the approval decision.", "nullable": true }, "taskId": { "type": "string", "description": "Task Id", "nullable": true }, "taskDataKey": { "type": "string", "description": "Task Data Key", "nullable": true } }, "additionalProperties": false }, "ScreeningMaterialityAssessmentDto": { "required": [ "adverseMediaJurisdictions", "enforcementsJurisdictions", "otherJurisdictions", "pepJurisdictions", "sanctionsJurisdictions" ], "type": "object", "properties": { "mainEntity": { "type": "boolean", "description": "Whether this assessment is for the main entity (true) or a related party (false)." }, "materialityOutcome": { "type": "string", "description": "Overall materiality outcome of the screening assessment (e.g. \"Material\", \"Non-Material\").", "nullable": true }, "pepMaterialityStatus": { "type": "string", "description": "PEP (Politically Exposed Person) materiality status.", "nullable": true }, "sanctionsMaterialityStatus": { "type": "string", "description": "Sanctions materiality status.", "nullable": true }, "adverseMediaMaterialityStatus": { "type": "string", "description": "Adverse media materiality status.", "nullable": true }, "enforcementsMaterialityStatus": { "type": "string", "description": "Enforcements materiality status.", "nullable": true }, "otherMaterialityStatus": { "type": "string", "description": "Other (non-categorised) materiality status.", "nullable": true }, "pepJurisdictions": { "type": "array", "items": { "type": "string" }, "description": "PEP jurisdictions associated with this assessment." }, "sanctionsJurisdictions": { "type": "array", "items": { "type": "string" }, "description": "Sanctions jurisdictions associated with this assessment." }, "adverseMediaJurisdictions": { "type": "array", "items": { "type": "string" }, "description": "Adverse media jurisdictions associated with this assessment." }, "enforcementsJurisdictions": { "type": "array", "items": { "type": "string" }, "description": "Enforcements jurisdictions associated with this assessment." }, "otherJurisdictions": { "type": "array", "items": { "type": "string" }, "description": "Other jurisdictions associated with this assessment." }, "sanctionsProceedDecision": { "type": "string", "description": "Sanctions ok-to-proceed decision text returned by Screening (e.g. \"Ok to proceed\", \"Not to proceed\").", "nullable": true } }, "additionalProperties": false }, "ScreeningMaterialityDataSource": { "required": [ "assessments" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "assessments": { "type": "array", "items": { "$ref": "#/components/schemas/ScreeningMaterialityAssessmentDto" } } }, "additionalProperties": false, "description": "Data source for Screening Materiality Assessment outcomes.\nContains a list of assessments — one per entity in the batch (main entity and related parties)." }, "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" }, "SignificanceEngineDataSource": { "required": [ "significanceEngine" ], "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true, "readOnly": true }, "significanceEngine": { "allOf": [ { "$ref": "#/components/schemas/SignificanceEngineDto" } ] } }, "additionalProperties": false }, "SignificanceEngineDto": { "type": "object", "properties": { "singleFields": { "type": "array", "items": { "type": "string" }, "nullable": true }, "collections": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "nullable": true }, "nullable": true } }, "additionalProperties": false }, "SinglePropertyDto": { "allOf": [ { "$ref": "#/components/schemas/PropertyDto" }, { "type": "object", "properties": { "value": { "type": "string", "nullable": true }, "valueId": { "type": "string", "nullable": true } }, "additionalProperties": false } ] }, "SinglePropertyDto2": { "type": "object", "properties": { "value": { "type": "string", "nullable": true }, "valueId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "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": [ ] } ] }