{ "openapi": "3.0.4", "info": { "title": "Fenergo Nebula Policy Query", "description": "Policy Query API is part of FenX eco-system to query for Requirement Sets, Requirements, Data Groups and Data Group Fields Instances. All the operations require valid access token obtained from Identity service.", "version": "1.0" }, "servers": [ { "url": "/policyquery" } ], "paths": { "/api/data-group": { "get": { "tags": [ "DataGroup" ], "summary": "Get data groups", "description": "This endpoint is obsolete and was terminated on 2024-08-01. Use /api/data-group/lite instead.
\nReturns the list of all data groups.

Required permissions:
At least one of the following permissions is required: PolicyConfigurationAccess, PolicySearch", "operationId": "GetAllDataGroups", "parameters": [ { "name": "onlyPublishedAndArchived", "in": "query", "description": "Flag that indicate that we will return only versions with status Published and\nArchived", "schema": { "type": "boolean" } }, { "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. The list of data groups is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataGroupDtoIEnumerableServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/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" } ] } } } } }, "deprecated": true } }, "/api/data-group/latest": { "get": { "tags": [ "DataGroup" ], "summary": "Get latest data groups with published or archived status", "description": "\nReturns the list of data groups with publish or archived status .

Required permissions:
At least one of the following permissions is required: PolicyConfigurationAccess, PolicySearch", "operationId": "GetLatestDataGroups", "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" } ], "responses": { "200": { "description": "Success. The list of data groups is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataGroupVersionDtoListServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/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/data-group/lite": { "get": { "tags": [ "DataGroup" ], "summary": "Get data groups lite", "description": "\nReturns the list of all data groups versions without fields.

Required permissions:
At least one of the following permissions is required: PolicyConfigurationAccess, PolicySearch", "operationId": "GetDataGroupsLite", "parameters": [ { "name": "onlyPublishedAndArchived", "in": "query", "description": "Flag that indicate that we will return only versions with status Published and\nArchived", "schema": { "type": "boolean" } }, { "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. The list of data groups is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataGroupLiteDtoIEnumerableServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/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/data-group/{dataGroupId}": { "get": { "tags": [ "DataGroup" ], "summary": "Get data group by id", "description": "\nReturns the active, currently in effect, published data group version for a given id.

Required permissions:
Following permissions are required: PolicyConfigurationAccess", "operationId": "GetDataGroupById", "parameters": [ { "name": "dataGroupId", "in": "path", "description": "Data group id", "required": true, "schema": { "type": "string" } }, { "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. Data group is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataGroupVersionDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found. Data group with given id does not exist", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/data-group/{dataGroupId}/version/{versionNumber}": { "get": { "tags": [ "DataGroup" ], "summary": "Get data group by id and version", "description": "\nReturns data group for a given id and version number.

Required permissions:
Following permissions are required: PolicyConfigurationAccess", "operationId": "GetDataGroupVersionById", "parameters": [ { "name": "dataGroupId", "in": "path", "description": "Data group id", "required": true, "schema": { "type": "string" } }, { "name": "versionNumber", "in": "path", "description": "Data group version number", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "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. Data group is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataGroupVersionDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found. Data group with given id/version does not exist", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/data-group/{dataGroupId}/version/{versionNumber}/field/{id}": { "get": { "tags": [ "DataGroup" ], "summary": "Get data group field by id", "description": "\nReturns data group field by given data group id, data group version number and data group field id.

Required permissions:
Following permissions are required: PolicyConfigurationAccess", "operationId": "GetDataGroupFieldById", "parameters": [ { "name": "dataGroupId", "in": "path", "description": "Data group id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Data group version number", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "id", "in": "path", "description": "Data group field id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "200": { "description": "Success. Data group field is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataGroupFieldDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found. Data group/data group field with given id/version does not exist", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/data-group/versions": { "post": { "tags": [ "DataGroup" ], "summary": "Get data groups by id and version numbers", "description": "\nReturns list of data groups for a given id and version numbers.

Required permissions:
At least one of the following permissions is required: PolicyConfigurationAccess, PolicySearch", "operationId": "GetDataGroups", "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": "List of Data Group data with versions", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/GetDataGroupsRequestDtoServiceRequest" } ], "description": "Service request data" } } }, "required": true }, "responses": { "200": { "description": "Success. Data group is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataGroupDtoIEnumerableServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found. Data group with given id/version does not exist", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/requirement-set": { "get": { "tags": [ "RequirementSet" ], "summary": "Get requirement sets", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationAccess", "operationId": "GetAllRequirementSets", "parameters": [ { "name": "includeRequirements", "in": "query", "description": "Flag to include requirements in the response.", "schema": { "type": "boolean", "default": false } }, { "name": "versionsLimit", "in": "query", "description": "Optional limit on versions returned per jurisdiction. When omitted, all versions are returned.", "schema": { "type": "integer", "format": "int32" } }, { "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. List of requirement sets data is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequirementSetDtoIEnumerableServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/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/requirement-set/{setId}": { "get": { "tags": [ "RequirementSet" ], "summary": "Get requirement set by id", "description": "\nReturns the active, currently in effect, published requirement set version for a given id.

Required permissions:
Following permissions are required: PolicyConfigurationAccess", "operationId": "GetRequirementSetById", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string" } }, { "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. Requirement set is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequirementSetVersionDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found. Requirement set with given id does not exist", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/requirement-set/{setId}/version/{versionNumber}": { "get": { "tags": [ "RequirementSet" ], "summary": "Get requirement set by id and version", "description": "\nReturns requirement set for a given id and version number.

Required permissions:
Following permissions are required: PolicyConfigurationAccess", "operationId": "GetRequirementSetVersionById", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string" } }, { "name": "versionNumber", "in": "path", "description": "Requirement set version number", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "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. Requirement set is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequirementSetVersionDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found. Requirement set with given id/version does not exist", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/requirement-set/{setId}/version/{versionNumber}/field/{id}": { "get": { "tags": [ "RequirementSet" ], "summary": "Get requirement by id", "description": "\nReturns requirement by given requirement set id, requirement set version number and requirement id.

Required permissions:
Following permissions are required: PolicyConfigurationAccess", "operationId": "GetRequirementById", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Requirement set version number", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "id", "in": "path", "description": "Requirement id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "200": { "description": "Success. Requirement is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequirementDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found. Requirement set/requirement with given id/version does not exist", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/requirement-set/jurisdictions": { "get": { "tags": [ "RequirementSet" ], "summary": "Get jurisdictions", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationAccess", "operationId": "GetJurisdictions", "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" } ], "responses": { "200": { "description": "Success. List of available jurisdictions is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequirementSetJurisdictionDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/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/requirements-in-scope": { "post": { "tags": [ "RequirementsInScope" ], "summary": "Get requirements in scope", "description": "\nReturns requirements that are in scope for a given search criteria.

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

Required permissions:
Following permissions are required: PolicySearch", "operationId": "GetActiveSetVersionByJurisdiction", "parameters": [ { "name": "jurisdiction", "in": "path", "description": "The Jurisdiction", "required": true, "schema": { "type": "string" }, "example": "Global" }, { "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. Requirement version is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ActiveSetVersionResponseDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found. Requirement set or requirement version with given jurisdiction does not exist", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/tag/requirements": { "get": { "tags": [ "Tag" ], "summary": "Get requirements by tags list", "description": "\nReturns list of requirements searched by tags

Required permissions:
Following permissions are required: PolicyConfigurationAccess", "operationId": "GetRequirementsByTags", "parameters": [ { "name": "tags", "in": "query", "description": "List of tags", "schema": { "type": "array", "items": { "type": "string" } } }, { "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. List of requirements is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequirementDtoListServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/tag": { "get": { "tags": [ "Tag" ], "summary": "Get list of published tags for tenant", "description": "\nReturns list of published tags for tenant

Required permissions:
Following permissions are required: PolicyConfigurationAccess", "operationId": "GetTagsByTenant", "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" } ], "responses": { "200": { "description": "Success. List of tags is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringListServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/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/tag/requirement-set/{setId}": { "get": { "tags": [ "Tag" ], "summary": "Get list of tags in Requirement Set", "description": "\nReturns list of tags in Requirement Set

Required permissions:
Following permissions are required: PolicyConfigurationAccess", "operationId": "GetTagsByRequirementSetId", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement Set Id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "200": { "description": "Success. List of tags is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringListServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/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/validation-rule/validation-rules": { "post": { "tags": [ "ValidationRule" ], "summary": "Get validation data by jurisdiction(s)", "description": "\nReturns validation data of requirements and data groups by requirement set jurisdiction(s).

Required permissions:
Following permissions are required: PolicySearch", "operationId": "GetValidationRules", "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": "Get validation data request.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/GetValidationRulesRequestDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "200": { "description": "Success. The list of validation data is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationRuleListServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/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 }, "ActiveSetVersionResponseDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the requirement set version", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "setId": { "type": "string", "description": "The UiD of the requirement set that the version belongs to", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "requirementSetStatus": { "type": "string", "description": "Requirement set status", "nullable": true, "example": "Active" }, "jurisdiction": { "type": "string", "description": "Requirement set jurisdiction", "nullable": true, "example": "Global" }, "versionNumber": { "type": "integer", "description": "The versions number", "format": "int32", "example": 1 }, "effectiveFrom": { "type": "string", "description": "The date that the version takes effect when published", "format": "date-time", "example": "2021-01-01T14:48:00.000Z" }, "effectiveUntil": { "type": "string", "description": "The calculated date that the version ceases being active", "format": "date-time", "nullable": true, "example": "2021-01-01T14:48:00.000Z" }, "status": { "allOf": [ { "$ref": "#/components/schemas/VersionStatus" } ], "description": "The status of the version", "example": "Published" }, "created": { "type": "string", "description": "The creation date of the version", "format": "date-time", "example": "2021-01-01T14:48:00.000Z" }, "version": { "type": "integer", "description": "Version number for given Aggregate (concurrency check)", "format": "int32", "example": 1 } }, "additionalProperties": false, "description": "Response DTO representing light requirement set version data" }, "ActiveSetVersionResponseDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/ActiveSetVersionResponseDto" } ], "description": "Response DTO representing light requirement set version data", "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" }, "ApproveAction": { "type": "object", "properties": { "comment": { "type": "string", "nullable": true }, "decision": { "allOf": [ { "$ref": "#/components/schemas/Decision" } ] }, "created": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "Approver": { "type": "object", "properties": { "subject": { "type": "string", "nullable": true }, "successor": { "allOf": [ { "$ref": "#/components/schemas/Approver" } ], "nullable": true }, "action": { "allOf": [ { "$ref": "#/components/schemas/ApproveAction" } ], "nullable": true }, "hasProcessedRequest": { "type": "boolean", "readOnly": true } }, "additionalProperties": false }, "BasicRule": { "type": "object", "properties": { "active": { "type": "boolean" }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "BasicRuleDto": { "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" }, "BasicRuleDto2": { "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" }, "BasicRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "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/BasicRuleDto" } ], "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/BasicRuleDto" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "CollectionMaximumCountRule": { "type": "object", "properties": { "active": { "type": "boolean" }, "message": { "type": "string", "nullable": true }, "requiredTypesMaxCount": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32" }, "nullable": true }, "overallMaximumCount": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "CollectionMaximumCountRuleDto": { "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" }, "CollectionMaximumCountRuleDto2": { "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" }, "CollectionMaximumCountRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/CollectionMaximumCountRuleDto" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "CollectionMinimumCountRule": { "type": "object", "properties": { "active": { "type": "boolean" }, "message": { "type": "string", "nullable": true }, "requiredTypesMinCount": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32" }, "nullable": true }, "overallMinimumCount": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "CollectionMinimumCountRuleDto": { "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" }, "CollectionMinimumCountRuleDto2": { "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" }, "CollectionMinimumCountRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/CollectionMinimumCountRuleDto" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "ConditionDefinitionDto": { "type": "object", "properties": { "fieldName": { "type": "string", "description": "Name of the field to evaluate", "nullable": true, "example": "EntityType" }, "value": { "type": "array", "items": { "type": "string" }, "description": "List of values", "nullable": true }, "valueId": { "type": "array", "items": { "type": "string" }, "description": "List of value ids", "nullable": true }, "valueType": { "type": "string", "description": "Type of the value", "nullable": true, "example": "text" }, "dataSource": { "type": "string", "description": "Data source from which field is retrieved. If empty then Entity Data properties will be used.", "nullable": true, "example": "entityDataMetadata" }, "operation": { "type": "string", "description": "Logical operation to be performed to match the values", "nullable": true, "example": "equal" }, "logicalOperation": { "type": "string", "description": "Logical operation to be performed on the operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "valueField": { "allOf": [ { "$ref": "#/components/schemas/ValueField" } ], "description": "Field value used for conditional limit validation", "nullable": true } }, "additionalProperties": false, "description": "Represents condition" }, "ConditionDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true } }, "additionalProperties": false, "description": "Represents condition root" }, "ConditionalValueDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "value": { "type": "string", "description": "Value that should be returned when conditions are met", "nullable": true, "example": "Relationship Manager" }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 }, "valueId": { "type": "string", "description": "Value Id that should be returned when conditions are met", "nullable": true, "example": "RM" } }, "additionalProperties": false }, "DataFieldDto": { "type": "object", "properties": { "propertyName": { "type": "string", "description": "Property name", "nullable": true, "example": "firstName" }, "propertyType": { "type": "string", "description": "Property type", "nullable": true, "example": "text" }, "propertyTypeId": { "type": "string", "description": "Property type id", "format": "uuid", "nullable": true, "example": "ab92ecbc-bd77-494b-acad-3d2fb0b8136c" }, "linkChildFieldPropertyName": { "type": "string", "description": "Linked child field property name", "nullable": true, "example": "productCategory" }, "linkedParentFieldPropertyName": { "type": "string", "description": "Linked Parent field property name", "nullable": true, "example": "productCategory" }, "externalSearchApiProviderId": { "type": "string", "description": "External search api provider id", "format": "uuid", "nullable": true, "example": "ab92ecbc-bd77-494b-acad-3d2fb0b8136c" }, "propertyTypeVersion": { "type": "integer", "description": "Property version", "format": "int32", "nullable": true, "deprecated": true }, "formulaSchema": { "allOf": [ { "$ref": "#/components/schemas/NumberFormulaSchemaDto" } ], "description": "Number formula schema", "nullable": true }, "dateTimePeriodFormulaSchema": { "allOf": [ { "$ref": "#/components/schemas/DateTimePeriodFormulaSchemaDto" } ], "description": "Date formula schema", "nullable": true } }, "additionalProperties": false, "description": "Response DTO representing data field data" }, "DataGroupDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the data group", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "versions": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupVersionDto" }, "description": "Versions associated to this data group", "nullable": true }, "version": { "type": "integer", "description": "Version number for given Aggregate (concurrency check)", "format": "int32", "example": 1 } }, "additionalProperties": false, "description": "Response DTO representing data group data" }, "DataGroupDtoIEnumerableServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupDto" }, "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" }, "DataGroupFieldDto": { "type": "object", "properties": { "identifier": { "type": "string", "description": "The UiD of the data group field", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "Data group field name", "nullable": true, "example": "Product Type" }, "type": { "type": "string", "description": "Data group field type", "nullable": true, "example": "DataGroup" }, "order": { "type": "number", "description": "Data group field order", "format": "double", "nullable": true, "example": 2 }, "dataField": { "allOf": [ { "$ref": "#/components/schemas/DataFieldDto" } ], "description": "Data group field data field", "nullable": true }, "isSensitiveData": { "type": "boolean", "description": "Data group field sensitive data flag", "example": true }, "isCoreDefinition": { "type": "boolean", "description": "Data group field core definition flag", "example": true }, "validationRule": { "allOf": [ { "$ref": "#/components/schemas/ValidationRule" } ], "description": "Data group field validation data", "nullable": true }, "validationRulesV2": { "allOf": [ { "$ref": "#/components/schemas/DataValidationRulesDto" } ], "description": "Request DTO representing validation data metadata", "nullable": true }, "conditions": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDto" }, "description": "Data group field conditions list", "nullable": true }, "version": { "type": "integer", "description": "Version number for given Aggregate (concurrency check)", "format": "int32", "example": 1 }, "defaultValue": { "type": "string", "description": "Default value for this data field", "nullable": true, "example": "Australia" }, "isReadOnly": { "type": "boolean", "description": "Is requirement readonly", "example": false }, "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?" }, "evaluatedConditionalValue": { "type": "string", "description": "Evaluated conditional value", "nullable": true }, "evaluatedConditionalValueId": { "type": "string", "description": "Evaluated conditional value Id", "nullable": true }, "description": { "type": "string", "description": "Data group field description", "nullable": true, "example": "This is the field description" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "List of tags", "nullable": true, "example": [ "internal" ] }, "references": { "type": "array", "items": { "$ref": "#/components/schemas/ReferenceDto" }, "description": "Data group field references list. Gated by the `DataGroupPolicyReferencesEnabled` feature flag:\nalways null when the flag is disabled for the tenant; when enabled, reflects\nwhatever references are stored for the field, which may itself be null if none exist.", "nullable": true } }, "additionalProperties": false, "description": "Response DTO representing data group field data" }, "DataGroupFieldDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/DataGroupFieldDto" } ], "description": "Response DTO representing data group field data", "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" }, "DataGroupIdentifierDto": { "type": "object", "properties": { "id": { "type": "string", "description": "Data Group UiD", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "versionNumbers": { "type": "array", "items": { "type": "integer", "format": "int32" }, "description": "Data Group Version Numbers", "nullable": true, "example": [ 1, 2 ] } }, "additionalProperties": false }, "DataGroupLiteDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the data group", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "versions": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupVersionLiteDto" }, "description": "Versions associated to this data group", "nullable": true }, "version": { "type": "integer", "description": "Version number for given Aggregate (concurrency check)", "format": "int32", "example": 1 } }, "additionalProperties": false, "description": "Response DTO representing data group data lite" }, "DataGroupLiteDtoIEnumerableServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupLiteDto" }, "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" }, "DataGroupVersionDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the data group version", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "groupId": { "type": "string", "description": "The UiD of the data group that the version belongs to", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "Data group Name", "nullable": true, "example": "Product" }, "description": { "type": "string", "description": "Data group description", "nullable": true, "example": "Set of fields for capturing Product" }, "primaryDataGroupField": { "type": "string", "description": "Property name for 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" }, "cardinality": { "type": "boolean", "description": "Data group cardinality flag", "example": false }, "template": { "type": "string", "description": "Data group template", "nullable": true, "example": "Product" }, "versionNumber": { "type": "integer", "description": "The versions number", "format": "int32", "example": 1 }, "effectiveFrom": { "type": "string", "description": "The date that the version takes effect when published", "format": "date-time", "example": "2021-01-01T14:48:00.000Z" }, "effectiveUntil": { "type": "string", "description": "The calculated date that the version ceases being active", "format": "date-time", "nullable": true, "example": "2021-01-01T14:48:00.000Z" }, "publicationDate": { "type": "string", "description": "The date that the version got published", "format": "date-time", "nullable": true, "readOnly": true, "example": "2021-01-01T14:48:00.000Z" }, "status": { "allOf": [ { "$ref": "#/components/schemas/VersionStatus" } ], "description": "The status of the version", "example": "Published" }, "created": { "type": "string", "description": "The creation date of the version", "format": "date-time", "example": "2021-01-01T14:48:00.000Z" }, "isActive": { "type": "boolean", "description": "The calculated flag to annotate whether this is the model's latest version\nat the time of the query (not necessarily published)", "example": true }, "signees": { "type": "array", "items": { "$ref": "#/components/schemas/Signee" }, "description": "The defined list of signees for the version", "nullable": true }, "version": { "type": "integer", "description": "Version number for given Aggregate (concurrency check)", "format": "int32", "example": 1 }, "notes": { "type": "string", "description": "Optional description of changes made that will be visible to all users who can access the version. It's assumed\nthat version notes won't contain 'personal identifiable information'. Please note that having many versions with\nvery long notes could hurt API performance in the long term.", "nullable": true, "example": "Example Notes" }, "dataGroupFields": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupFieldDto" }, "description": "List of data group fields", "nullable": true } }, "additionalProperties": false, "description": "Response DTO representing data group version data" }, "DataGroupVersionDtoListServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupVersionDto" }, "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" }, "DataGroupVersionDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/DataGroupVersionDto" } ], "description": "Response DTO representing data group version data", "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" }, "DataGroupVersionLiteDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the data group version", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "groupId": { "type": "string", "description": "The UiD of the data group that the version belongs to", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "Data group Name", "nullable": true, "example": "Product" }, "description": { "type": "string", "description": "Data group description", "nullable": true, "example": "Set of fields for capturing Product" }, "primaryDataGroupField": { "type": "string", "description": "Property name for 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" }, "cardinality": { "type": "boolean", "description": "Data group cardinality flag", "example": false }, "template": { "type": "string", "description": "Data group template", "nullable": true, "example": "Product" }, "versionNumber": { "type": "integer", "description": "The versions number", "format": "int32", "example": 1 }, "effectiveFrom": { "type": "string", "description": "The date that the version takes effect when published", "format": "date-time", "example": "2021-01-01T14:48:00.000Z" }, "effectiveUntil": { "type": "string", "description": "The calculated date that the version ceases being active", "format": "date-time", "nullable": true, "example": "2021-01-01T14:48:00.000Z" }, "publicationDate": { "type": "string", "description": "The date that the version got published", "format": "date-time", "nullable": true, "readOnly": true, "example": "2021-01-01T14:48:00.000Z" }, "status": { "allOf": [ { "$ref": "#/components/schemas/VersionStatus" } ], "description": "The status of the version", "example": "Published" }, "created": { "type": "string", "description": "The creation date of the version", "format": "date-time", "example": "2021-01-01T14:48:00.000Z" }, "isActive": { "type": "boolean", "description": "The calculated flag to annotate whether this is the model's latest version\nat the time of the query (not necessarily published)", "example": true }, "signees": { "type": "array", "items": { "$ref": "#/components/schemas/Signee" }, "description": "The defined list of signees for the version", "nullable": true }, "version": { "type": "integer", "description": "Version number for given Aggregate (concurrency check)", "format": "int32", "example": 1 }, "notes": { "type": "string", "description": "Optional description of changes made that will be visible to all users who can access the version. It's assumed\nthat version notes won't contain 'personal identifiable information'. Please note that having many versions with\nvery long notes could hurt API performance in the long term.", "nullable": true, "example": "Example Notes" } }, "additionalProperties": false, "description": "Response DTO representing data group version lite data" }, "DataValidationRulesDto": { "type": "object", "properties": { "mandatory": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoConditionalValidationRuleDto" } ], "description": "Mandatory Rule - does not allow empty value", "nullable": true }, "specialCharacters": { "allOf": [ { "$ref": "#/components/schemas/SpecialCharactersRuleDtoValidationRuleDto" } ], "description": "Special characters validation rule - does not allow special characters,\nbut allows define array of characters which can be ignored by the validation", "nullable": true }, "noNumbers": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that does not allow numbers", "nullable": true }, "onlyInteger": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows only integers", "nullable": true }, "noNegative": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that does not allow negative numbers", "nullable": true }, "onlyDecimal": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows numbers up to two decimal places", "nullable": true }, "regex": { "allOf": [ { "$ref": "#/components/schemas/RegexRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that validates the value against provided regex", "nullable": true }, "characterLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to set minimum and maximum count of characters", "nullable": true }, "numberLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to set number range", "nullable": true }, "noFutureDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that does not allow future dates", "nullable": true }, "noPastDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that does not allow past dates", "nullable": true }, "dateLimit": { "allOf": [ { "$ref": "#/components/schemas/DateLimitRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that allows to set date range", "nullable": true }, "multiSelectLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that allows to set selection range", "nullable": true }, "collectionMinimumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMinimumCountRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to set minimum count requirements for collection", "nullable": true }, "collectionMaximumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMaximumCountRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to set maximum count requirements for collection", "nullable": true }, "externalProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to use external provider for validation", "nullable": true }, "externalDataGroupProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to use external provider for validation of one field with other fields as context", "nullable": true }, "readOnly": { "allOf": [ { "$ref": "#/components/schemas/EmptyRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that allows to set if field should be read only", "nullable": true }, "conditionalLimit": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that validates the dynamic value against provided condition", "nullable": true }, "timeZoneId": { "type": "string", "description": "Time zone id used for date values validation in order to determine exact Today time range", "nullable": true, "example": "Europe/Warsaw" } }, "additionalProperties": false, "description": "Request DTO representing validation data metadata" }, "DateLimitRule": { "type": "object", "properties": { "active": { "type": "boolean" }, "message": { "type": "string", "nullable": true }, "minDate": { "type": "string", "format": "date-time", "nullable": true }, "maxDate": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "DateLimitRuleDto": { "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" }, "DateLimitRuleDto2": { "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" }, "DateLimitRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/DateLimitRuleDto" } ], "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/DateLimitRuleDto" } ], "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 }, "Decision": { "enum": [ "Approve", "Reject" ], "type": "string" }, "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 }, "ExternalProviderRule": { "type": "object", "properties": { "active": { "type": "boolean" }, "message": { "type": "string", "nullable": true }, "providerId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "ExternalProviderRuleDto": { "type": "object", "properties": { "providerId": { "type": "string", "description": "Id of external provider.", "format": "uuid" } }, "additionalProperties": false, "description": "Request DTO representing external provider rule metadata" }, "ExternalProviderRuleDto2": { "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" }, "ExternalProviderRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDto" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "FilterConditionDto": { "type": "object", "properties": { "fieldName": { "type": "string", "description": "Field name for the filter condition", "nullable": true }, "conditions": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDto" }, "description": "Conditions applied to the field", "nullable": true } }, "additionalProperties": false }, "GetDataGroupsRequestDto": { "type": "object", "properties": { "identifiers": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupIdentifierDto" }, "description": "List with DataGroup Id and Version Numbers", "nullable": true } }, "additionalProperties": false }, "GetDataGroupsRequestDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/GetDataGroupsRequestDto" } ], "description": "The service request DTO", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "GetValidationRulesRequestDto": { "required": [ "entityType", "jurisdictions" ], "type": "object", "properties": { "jurisdictions": { "minItems": 1, "type": "array", "items": { "minLength": 1, "type": "string" }, "description": "List of jurisdictions e.g. [\"Global\", \"Ireland\"]" }, "entityType": { "minLength": 1, "type": "string", "description": "The type of the entity (Individual, Company, Other, All)", "example": "Individual" }, "category": { "type": "array", "items": { "type": "string" }, "description": "List of requirement category e.g. [\"Basic Details\", \"Enrich Details\"]", "nullable": true } }, "additionalProperties": false, "description": "Response DTO representing validation request data" }, "GetValidationRulesRequestDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/GetValidationRulesRequestDto" } ], "description": "Response DTO representing validation request data", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "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/BasicRuleDto2" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true }, "partyCount": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto2" } ], "description": "Request DTO representing value limit rule metadata", "nullable": true }, "addAllParties": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true }, "idvIsMandatory": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true }, "idvPartyCount": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto2" } ], "description": "Request DTO representing value limit rule metadata", "nullable": true }, "idvAllParties": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true } }, "additionalProperties": false }, "OwnershipValidationRuleDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the ownership validation rule", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "setId": { "type": "string", "description": "The UiD of the requirement set", "format": "uuid", "example": "012cfe3a-7bfa-41e7-8269-d49b3b38dff3" }, "ownershipValidationData": { "allOf": [ { "$ref": "#/components/schemas/OwnershipValidationDataDto" } ], "description": "Ownership Validation Data - set of validation rules specific to ownership requirement", "nullable": true } }, "additionalProperties": false }, "ProblemDetails": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "status": { "type": "integer", "format": "int32", "nullable": true }, "detail": { "type": "string", "nullable": true }, "instance": { "type": "string", "nullable": true } }, "additionalProperties": { } }, "ReferenceDto": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "url": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RegexRule": { "type": "object", "properties": { "active": { "type": "boolean" }, "message": { "type": "string", "nullable": true }, "isCaseSensitive": { "type": "boolean" }, "regexValue": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RegexRuleDto": { "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" }, "RegexRuleDto2": { "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" }, "RegexRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/RegexRuleDto" } ], "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/RegexRuleDto" } ], "description": "Request DTO representing regex rule metadata", "nullable": true }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 } }, "additionalProperties": false }, "RequirementDto": { "type": "object", "properties": { "rootVersionId": { "type": "string", "description": "The UiD of the root requirement set version", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "versionNumber": { "type": "integer", "description": "Requirement set version number", "format": "int32", "example": 1 }, "id": { "type": "string", "description": "The UiD of the requirement", "format": "uuid", "example": "84ec28e2-d786-417b-850f-96321dd849dd" }, "tenant": { "type": "string", "description": "The UiD of the tenant", "nullable": true, "example": "c345f3e9-c9f7-40ac-9eaa-654c2d2de1d1" }, "category": { "type": "string", "description": "Requirement business category", "nullable": true, "example": "Basic Details" }, "description": { "type": "string", "description": "Requirement description", "nullable": true, "example": "This is the client first name" }, "template": { "type": "string", "description": "Requirement template", "nullable": true, "example": "Product" }, "entityType": { "type": "string", "description": "Requirement entity type", "nullable": true, "example": "Individual" }, "name": { "type": "string", "description": "Requirement name", "nullable": true, "example": "First Name" }, "isSensitiveData": { "type": "boolean", "description": "Requirement sensitive data flag", "example": true }, "isMaterialData": { "type": "boolean", "description": "Requirement material data flag", "example": true }, "isCoreDefinition": { "type": "boolean", "description": "Requirement is defined as core and cannot be deleted or altered", "example": false }, "jurisdiction": { "type": "string", "description": "Requirement jurisdiction", "nullable": true, "example": "Global" }, "references": { "type": "array", "items": { "$ref": "#/components/schemas/ReferenceDto" }, "description": "Requirement references list", "nullable": true }, "targetEntity": { "type": "string", "description": "Requirement target entity", "nullable": true, "example": "Client" }, "classification": { "type": "string", "description": "Requirement classification", "nullable": true, "example": "Customer Profiling" }, "type": { "type": "string", "description": "Requirement type", "nullable": true, "example": "Data" }, "conditions": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDto" }, "description": "Requirement conditions list", "nullable": true }, "RequirementSetId": { "type": "string", "description": "The UiD of the current requirement set version", "format": "uuid", "example": "c060f297-70a2-4d4c-9360-9b5b39060ff0" }, "versionId": { "type": "string", "description": "The UiD of the current requirement set version", "format": "uuid", "example": "e060f297-70a2-4d4c-9360-9b5b39060ff0" }, "dataField": { "allOf": [ { "$ref": "#/components/schemas/DataFieldDto" } ], "description": "Data Field", "nullable": true }, "dataProtectionJurisdiction": { "type": "string", "description": "Jurisdiction for data protection", "nullable": true, "example": "Global" }, "order": { "type": "number", "description": "Order", "format": "double", "nullable": true, "example": 1 }, "defaultValue": { "type": "string", "description": "Default Value", "nullable": true, "example": "Not Available" }, "isReadOnly": { "type": "boolean", "description": "Is requirement readonly", "example": false }, "isIndexable": { "type": "boolean", "description": "Is requirement indexable", "example": true }, "isJourneyLevelData": { "type": "boolean", "description": "Is journey level data", "example": false }, "isMandatoryIndexable": { "type": "boolean", "description": "Is requirement mandatory indexable", "example": true }, "isMandatory": { "type": "boolean", "description": "Is requirement mandatory", "example": false }, "documentDescription": { "type": "string", "description": "Document Description", "nullable": true, "example": "Driver License" }, "documentDataKey": { "type": "string", "description": "Document Data Key", "nullable": true }, "documentAccessLayers": { "allOf": [ { "$ref": "#/components/schemas/AccessLayerDto" } ], "description": "Document Access Layers", "nullable": true }, "acceptableDocumentDataKeys": { "type": "array", "items": { "type": "string" }, "description": "List of acceptable Document Types for the Document Requirement", "nullable": true }, "fieldAccessLayers": { "allOf": [ { "$ref": "#/components/schemas/AccessLayerDto" } ], "description": "Field Access Layers", "nullable": true }, "isMasked": { "type": "boolean", "description": "Flag indicating if field is masked due to missing Sensitive Data Access layers", "example": false }, "ownershipDataKey": { "type": "string", "description": "Ownership Data Key", "nullable": true, "example": "DataKey" }, "partyTypes": { "type": "array", "items": { "type": "string" }, "description": "Party Types e.g. [\"Director\"]", "nullable": true }, "uboThreshold": { "type": "number", "description": "UBO Threshold", "format": "double", "nullable": true, "example": 0.6 }, "relatedPartyEntityTypes": { "type": "array", "items": { "type": "string" }, "description": "Types of Related Party Entity e.g. [\"Individual\"]", "nullable": true }, "directAssociationsOnly": { "type": "boolean", "description": "Is Only direct association", "example": false }, "idvOn": { "type": "boolean", "description": "Is Idv On", "example": false }, "idvName": { "type": "string", "description": "Idv Name", "nullable": true, "example": "IdentityRequirement" }, "idvTooltip": { "type": "string", "description": "Idv Tooltip", "nullable": true, "example": "Identity Requirement" }, "ownershipValidationRule": { "allOf": [ { "$ref": "#/components/schemas/OwnershipValidationRuleDto" } ], "description": "Ownership Validation Rule", "nullable": true }, "validationRule": { "allOf": [ { "$ref": "#/components/schemas/ValidationRuleDto" } ], "description": "Validation Rule", "nullable": true }, "validationRulesV2": { "allOf": [ { "$ref": "#/components/schemas/DataValidationRulesDto" } ], "description": "Request DTO representing validation data metadata", "nullable": true }, "conditionalValues": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionalValueDto" }, "description": "List of conditional values", "nullable": true }, "hasEvaluatedConditionalValue": { "type": "boolean", "description": "Does this field has evaluated conditional value?" }, "evaluatedConditionalValueId": { "type": "string", "description": "Evaluated conditional value Id", "nullable": true }, "evaluatedConditionalValue": { "type": "string", "description": "Evaluated conditional value", "nullable": true }, "tags": { "type": "array", "items": { "type": "string" }, "description": "List of tags", "nullable": true }, "clearValueIfTriggerConditionNotMet": { "type": "boolean", "description": "Indicates whether the field value should be cleared when trigger conditions are not met", "example": false }, "aggregateVersion": { "type": "integer", "description": "Requirement aggregate version", "format": "int32", "nullable": true, "example": 1 }, "uiDecoration": { "type": "string", "description": "Determines how the requirement should be rendered", "nullable": true }, "uiColorDecoration": { "type": "string", "description": "Determines with what colour requirement should be rendered", "nullable": true }, "portalGuidance": { "type": "string", "description": "Portal guidance", "nullable": true, "example": "Provide at least one director RP" }, "isLocked": { "type": "boolean", "description": "True if the aggregate is locked (obsolete)", "example": false, "deprecated": true }, "discriminator": { "type": "string", "description": "Data group field core definition flag (obsolete)", "nullable": true, "example": "true", "deprecated": true }, "version": { "type": "integer", "description": "Requirement aggregate version (obsolete)", "format": "int32", "example": true, "deprecated": true }, "partyCount": { "type": "integer", "description": "Requirement party count", "format": "int32", "nullable": true, "example": 1, "deprecated": true }, "partyType": { "type": "string", "description": "Requirement party type", "nullable": true, "example": "Shareholder", "deprecated": true }, "sourceEntityType": { "type": "string", "description": "Any of the related party entity types selected can be counted toward this requirement", "nullable": true, "example": "Individual", "deprecated": true } }, "additionalProperties": false, "description": "Request DTO representing requirement metadata" }, "RequirementDtoListServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/RequirementDto" }, "description": "The service response DTO", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response", "nullable": true } }, "additionalProperties": false, "description": "Service response data" }, "RequirementDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/RequirementDto" } ], "description": "Request DTO representing requirement metadata", "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" }, "RequirementSetDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the requirement set", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "versions": { "type": "array", "items": { "$ref": "#/components/schemas/RequirementSetVersionDto" }, "description": "Versions associated to this requirement set", "nullable": true }, "version": { "type": "integer", "description": "Version number for given Aggregate (concurrency check)", "format": "int32", "example": 1 }, "status": { "type": "string", "description": "Requirement Set status", "nullable": true, "example": "Active" }, "jurisdiction": { "type": "string", "description": "Jurisdiction of the requirement set", "nullable": true, "example": "Global" } }, "additionalProperties": false, "description": "Response DTO representing requirement set data" }, "RequirementSetDtoIEnumerableServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/RequirementSetDto" }, "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" }, "RequirementSetJurisdictionDto": { "type": "object", "properties": { "availableJurisdictions": { "uniqueItems": true, "type": "array", "items": { "type": "string" }, "description": "List of available jurisdictions in which requirement sets are created", "nullable": true } }, "additionalProperties": false, "description": "Response DTO representing requirement sets jurisdictions available" }, "RequirementSetJurisdictionDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/RequirementSetJurisdictionDto" } ], "description": "Response DTO representing requirement sets jurisdictions available", "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" }, "RequirementSetVersionDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the requirement set version", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "setId": { "type": "string", "description": "The UiD of the requirement set that the version belongs to", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "requirementSetStatus": { "type": "string", "description": "Requirement set status", "nullable": true, "example": "Active" }, "name": { "type": "string", "description": "Requirement set name", "nullable": true, "example": "Fenergo Comprehensive Standard Policy Requirements" }, "jurisdiction": { "type": "string", "description": "Requirement set jurisdiction", "nullable": true, "example": "Global" }, "defaultDataProtectionJurisdiction": { "type": "string", "description": "Default jurisdiction for data protection", "nullable": true, "example": "Global" }, "requirements": { "type": "array", "items": { "$ref": "#/components/schemas/RequirementDto" }, "description": "List of requirements", "nullable": true }, "conditions": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDto" }, "description": "Conditions under which the requirement set can be applied", "nullable": true }, "versionNumber": { "type": "integer", "description": "The versions number", "format": "int32", "example": 1 }, "effectiveFrom": { "type": "string", "description": "The date that the version takes effect when published", "format": "date-time", "example": "2021-01-01T14:48:00.000Z" }, "effectiveUntil": { "type": "string", "description": "The calculated date that the version ceases being active", "format": "date-time", "nullable": true, "example": "2021-01-01T14:48:00.000Z" }, "publicationDate": { "type": "string", "description": "The date that the version got published", "format": "date-time", "nullable": true, "readOnly": true, "example": "2021-01-01T14:48:00.000Z" }, "status": { "allOf": [ { "$ref": "#/components/schemas/VersionStatus" } ], "description": "The status of the version", "example": "Published" }, "created": { "type": "string", "description": "The creation date of the version", "format": "date-time", "example": "2021-01-01T14:48:00.000Z" }, "isActive": { "type": "boolean", "description": "The calculated flag to annotate whether this is the model's latest version\nat the time of the query (not necessarily published)", "example": true }, "signees": { "type": "array", "items": { "$ref": "#/components/schemas/Signee" }, "description": "The defined list of signees for the version", "nullable": true }, "version": { "type": "integer", "description": "Version number for given Aggregate (concurrency check)", "format": "int32", "example": 1 }, "notes": { "type": "string", "description": "Optional description of changes made that will be visible to all users who can access the version. It's assumed\nthat version notes won't contain 'personal identifiable information'. Please note that having many versions with\nvery long notes could hurt API performance in the long term.", "nullable": true, "example": "Example Notes" } }, "additionalProperties": false, "description": "Response DTO representing requirement set version data" }, "RequirementSetVersionDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/RequirementSetVersionDto" } ], "description": "Response DTO representing requirement set version data", "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" }, "RequirementsInScopeRequestDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Exact name of the requirement", "nullable": true, "example": "Fenergo Comprehensive Standard Policy Requirements" }, "jurisdiction": { "type": "string", "description": "(Deprecated - Use Jurisdictions instead)\nJurisdiction of the requirement", "nullable": true, "example": "Global", "deprecated": true }, "jurisdictions": { "type": "array", "items": { "type": "string" }, "description": "Jurisdictions of the requirement e.g. [\"Global\", \"Ireland\"]", "nullable": true }, "type": { "type": "string", "description": "Type of requirement", "nullable": true, "example": "Data" }, "category": { "type": "array", "items": { "type": "string" }, "description": "List of requirement category e.g. [\"Basic Details\", \"Enrich Details\"]", "nullable": true }, "entityType": { "type": "string", "description": "Type of entity", "nullable": true, "example": "Company" }, "isMandatory": { "type": "boolean", "description": "Mandatory flag of the requirement", "nullable": true, "example": true }, "isSensitiveData": { "type": "boolean", "description": "Sensitive data flag of the requirement", "nullable": true, "example": true }, "isMaterialData": { "type": "boolean", "description": "Materiality flag of the requirement", "nullable": true, "example": true }, "isIndexable": { "type": "boolean", "description": "Requirement is data indexed for search flag", "nullable": true, "example": true }, "dataField": { "allOf": [ { "$ref": "#/components/schemas/DataFieldDto" } ], "description": "Data field definition", "nullable": true }, "targetEntity": { "type": "string", "description": "Target entity", "nullable": true, "example": "Client" }, "includeConditions": { "type": "boolean", "description": "Include conditions flag.\nIf true, include the Requirements containing conditions.\nIf false, only the Requirements without conditions will be returned.", "example": false } }, "additionalProperties": false, "description": "Response DTO representing filter parameters for in-scope query" }, "RequirementsInScopeRequestDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/RequirementsInScopeRequestDto" } ], "description": "Response DTO representing filter parameters for in-scope query", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "ServiceResponse": { "type": "object", "properties": { "data": { "type": "string", "description": "The service response DTO", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response", "nullable": true } }, "additionalProperties": false, "description": "Service response data" }, "ServiceResponseMessage": { "type": "object", "properties": { "message": { "type": "string", "description": "The message", "nullable": true, "example": "Success" }, "type": { "type": "string", "description": "Type of the message\nOne of Info, Warning, Error, Forbidden", "nullable": true, "example": "Info" }, "errorCode": { "type": "string", "description": "Error Code", "nullable": true, "example": "INTERNAL_SERVER_ERROR" } }, "additionalProperties": false, "description": "The message associated to the service response" }, "Signee": { "type": "object", "properties": { "subject": { "type": "string", "nullable": true }, "successor": { "allOf": [ { "$ref": "#/components/schemas/Approver" } ], "nullable": true }, "action": { "allOf": [ { "$ref": "#/components/schemas/ApproveAction" } ], "nullable": true }, "hasProcessedRequest": { "type": "boolean", "readOnly": true } }, "additionalProperties": false }, "SpecialCharactersRule": { "type": "object", "properties": { "active": { "type": "boolean" }, "message": { "type": "string", "nullable": true }, "excludedCharacters": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "SpecialCharactersRuleDto": { "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" }, "SpecialCharactersRuleDto2": { "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" }, "SpecialCharactersRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/SpecialCharactersRuleDto" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "StringListServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "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" }, "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" }, "ValidationData": { "type": "object", "properties": { "isMandatory": { "allOf": [ { "$ref": "#/components/schemas/BasicRule" } ], "nullable": true }, "specialCharacters": { "allOf": [ { "$ref": "#/components/schemas/SpecialCharactersRule" } ], "nullable": true }, "noNumbers": { "allOf": [ { "$ref": "#/components/schemas/BasicRule" } ], "nullable": true }, "onlyInteger": { "allOf": [ { "$ref": "#/components/schemas/BasicRule" } ], "nullable": true }, "noNegative": { "allOf": [ { "$ref": "#/components/schemas/BasicRule" } ], "nullable": true }, "onlyDecimal": { "allOf": [ { "$ref": "#/components/schemas/BasicRule" } ], "nullable": true }, "regex": { "allOf": [ { "$ref": "#/components/schemas/RegexRule" } ], "nullable": true }, "characterLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRule" } ], "nullable": true }, "numberLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRule" } ], "nullable": true }, "noFutureDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRule" } ], "nullable": true }, "noPastDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRule" } ], "nullable": true }, "dateLimit": { "allOf": [ { "$ref": "#/components/schemas/DateLimitRule" } ], "nullable": true }, "multiSelectLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRule" } ], "nullable": true }, "collectionMinimumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMinimumCountRule" } ], "nullable": true }, "collectionMaximumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMaximumCountRule" } ], "nullable": true }, "externalProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRule" } ], "nullable": true }, "externalDataGroupProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRule" } ], "nullable": true } }, "additionalProperties": false }, "ValidationDataDto": { "type": "object", "properties": { "isMandatory": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Mandatory Rule - does not allow empty value", "nullable": true }, "specialCharacters": { "allOf": [ { "$ref": "#/components/schemas/SpecialCharactersRuleDto2" } ], "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/BasicRuleDto2" } ], "description": "Validation rule that does not allow numbers", "nullable": true }, "onlyInteger": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Validation rule that allows only integers", "nullable": true }, "noNegative": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Validation rule that does not allow negative numbers", "nullable": true }, "onlyDecimal": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Validation rule that allows numbers up to two decimal places", "nullable": true }, "regex": { "allOf": [ { "$ref": "#/components/schemas/RegexRuleDto2" } ], "description": "Validation rule that validates the value against provided regex", "nullable": true }, "characterLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto2" } ], "description": "Validation rule that allows to set minimum and maximum count of characters", "nullable": true }, "numberLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto2" } ], "description": "Validation rule that allows to set number range", "nullable": true }, "noFutureDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Validation rule that does not allow future dates", "nullable": true }, "noPastDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Validation rule that does not allow past dates", "nullable": true }, "dateLimit": { "allOf": [ { "$ref": "#/components/schemas/DateLimitRuleDto2" } ], "description": "Validation rule that allows to set date range", "nullable": true }, "multiSelectLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto2" } ], "description": "Validation rule that allows to set selection range", "nullable": true }, "collectionMinimumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMinimumCountRuleDto2" } ], "description": "Validation rule that allows to set minimum count requirements for collection", "nullable": true }, "collectionMaximumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMaximumCountRuleDto2" } ], "description": "Validation rule that allows to set maximum count requirements for collection", "nullable": true }, "externalProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDto2" } ], "description": "Validation rule that allows to use external provider for validation", "nullable": true }, "externalDataGroupProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDto2" } ], "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" }, "ValidationRule": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "setId": { "type": "string", "format": "uuid" }, "propertyId": { "type": "string", "format": "uuid" }, "propertyTypeId": { "type": "string", "format": "uuid", "nullable": true }, "linkChildFieldPropertyName": { "type": "string", "nullable": true }, "linkedParentFieldPropertyName": { "type": "string", "nullable": true }, "propertyName": { "type": "string", "nullable": true }, "friendlyName": { "type": "string", "nullable": true }, "validationType": { "type": "string", "nullable": true }, "isDataGroup": { "type": "boolean" }, "dataGroupId": { "type": "string", "format": "uuid", "nullable": true }, "validationData": { "allOf": [ { "$ref": "#/components/schemas/ValidationData" } ], "nullable": true } }, "additionalProperties": false }, "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" }, "ValidationRuleListServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ValidationRule" }, "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" }, "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 }, "ValueLimitRule": { "type": "object", "properties": { "active": { "type": "boolean" }, "message": { "type": "string", "nullable": true }, "minValue": { "type": "integer", "format": "int32", "nullable": true }, "maxValue": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "ValueLimitRuleDto": { "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" }, "ValueLimitRuleDto2": { "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" }, "ValueLimitRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto" } ], "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/ValueLimitRuleDto" } ], "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/ValueLimitRuleDto" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "VersionStatus": { "enum": [ "Draft", "Pending", "Rejected", "Published", "Archived", "Deleted" ], "type": "string" } }, "securitySchemes": { "Bearer": { "type": "apiKey", "description": "Please insert JWT with Bearer into field", "name": "Authorization", "in": "header" } } }, "security": [ { "Bearer": [ ] } ] }