{ "openapi": "3.0.4", "info": { "title": "Fenergo Nebula Policy Command", "description": "Policy Command API is part of FenX eco-system to manage Requirement Sets, Requirements, Data Groups and Data Group Fields Instances. All the operations require valid access token obtained from Identity service.", "version": "1.0" }, "servers": [ { "url": "/policycommand" } ], "paths": { "/api/data-group": { "post": { "tags": [ "DataGroup" ], "summary": "Create data group", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "CreateDataGroup", "parameters": [ { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/DataGroupDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Data group created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataGroupDtoServiceResponse" } } } }, "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/{groupId}": { "post": { "tags": [ "DataGroup" ], "summary": "Create data group version", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "CreateDataGroupVersion", "parameters": [ { "name": "groupId", "in": "path", "description": "Data group 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" } ], "requestBody": { "description": "Create data group version request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/DataGroupDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Data group version created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataGroupDtoServiceResponse" } } } }, "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" } ] } } } } } }, "delete": { "tags": [ "DataGroup" ], "summary": "Delete data group and all its versions", "description": "\nDeletes an existing data group and all its versions.

Required permissions:
Following permissions are required: PolicyConfigurationDelete", "operationId": "DeleteDataGroup", "parameters": [ { "name": "groupId", "in": "path", "description": "Data group 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": { "202": { "description": "Success. Data group deleted" }, "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}/draft": { "post": { "tags": [ "DataGroup" ], "summary": "Create data group version draft from different version", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "CreateDataGroupVersionDraft", "parameters": [ { "name": "dataGroupId", "in": "path", "description": "Data group Id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to create a new draft from", "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": { "202": { "description": "Success. Data group version created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateDataGroupVersionDraftResponseDtoServiceResponse" } } } }, "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/{groupId}/version/{versionNumber}": { "put": { "tags": [ "DataGroup" ], "summary": "Update data group version", "description": "\nUpdates an existing data group version. Only draft and rejected versions are allowed to be updated.

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "UpdateDataGroupVersion", "parameters": [ { "name": "groupId", "in": "path", "description": "Data group Id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to update", "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" } ], "requestBody": { "description": "Update data group version request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/UpdateDataGroupVersionDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Data group version updated" }, "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" } ] } } } }, "409": { "description": "Conflict saving changes in expected version", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes", "type": "Error", "errorCode": "CONFLICT" } ] } } } }, "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" } ] } } } } } }, "delete": { "tags": [ "DataGroup" ], "summary": "Delete data group version", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationDelete", "operationId": "DeleteDataGroupVersion", "parameters": [ { "name": "groupId", "in": "path", "description": "Data group Id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to delete", "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": { "202": { "description": "Success. Data group version deleted" }, "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}/clone": { "post": { "tags": [ "DataGroup" ], "summary": "Clone data group version", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "CloneDataGroupVersion", "parameters": [ { "name": "dataGroupId", "in": "path", "description": "Data group Id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to clone", "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" } ], "requestBody": { "description": "Clone data group version request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CloneDataGroupVersionDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Data group version cloned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CloneDataGroupVersionResponseServiceResponse" } } } }, "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/{groupId}/version/{versionNumber}/submit-for-approval": { "put": { "tags": [ "DataGroup" ], "summary": "Submit data group version for approval", "description": "\nSubmits the selected version of an existing data group for approval.

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "SubmitDataGroupVersion", "parameters": [ { "name": "groupId", "in": "path", "description": "Data group Id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to submit", "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": { "202": { "description": "Success. Data group version submitted" }, "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/{groupId}/version/{versionNumber}/sign": { "put": { "tags": [ "DataGroup" ], "summary": "Sign data group version", "description": "\nSigns the selected version of an existing data group and changes the version status accordingly to the action\n (Approve/Reject).

Required permissions:
Following permissions are required: PolicyConfigurationApprove", "operationId": "SignDataGroupVersion", "parameters": [ { "name": "groupId", "in": "path", "description": "Data group Id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to sign", "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" } ], "requestBody": { "description": "Sign data group version request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ApproveActionServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Data group version signed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataGroupVersionSignResponseServiceResponse" } } } }, "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/{groupId}/version/{versionNumber}/archive": { "put": { "tags": [ "DataGroup" ], "summary": "Archive data group version", "description": "\nArchives the selected version of an existing data group.

Required permissions:
Following permissions are required: PolicyConfigurationArchive", "operationId": "ArchiveDataGroupVersion", "parameters": [ { "name": "groupId", "in": "path", "description": "Data group Id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to archive", "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": { "202": { "description": "Success. Data group version archived", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/{id}/version/{versionNumber}/field": { "post": { "tags": [ "DataGroup" ], "summary": "Add data group field", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "AddDataGroupField", "parameters": [ { "name": "id", "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": "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": "Add data group field request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/DataGroupFieldDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Data group field added", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataGroupCreatedDtoServiceResponse" } } } }, "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" } ] } } } } } }, "put": { "tags": [ "DataGroup" ], "summary": "Update data group field", "description": "\nUpdates an existing data group field in specific data group.

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "UpdateDataGroupField", "parameters": [ { "name": "id", "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": "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": "Update data group field request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/UpdateDataGroupFieldDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Data group field updated", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateDataGroupFieldDtoServiceResponse" } } } }, "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" } ] } } } }, "409": { "description": "Conflict saving changes in expected version", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes", "type": "Error", "errorCode": "CONFLICT" } ] } } } }, "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/{id}/version/{versionNumber}/field/{fieldId}": { "delete": { "tags": [ "DataGroup" ], "summary": "Delete data group field", "description": "\nDeletes an existing data group field in specific data group.

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "DeleteDataGroupField", "parameters": [ { "name": "id", "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": "fieldId", "in": "path", "description": "Data group field id to delete", "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": { "202": { "description": "Success. Data group field deleted" }, "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 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": { "post": { "tags": [ "RequirementSet" ], "summary": "Create requirement set", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "CreateRequirementSet", "parameters": [ { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/RequirementSetDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Requirement set created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRequirementSetResponseServiceResponse" } } } }, "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}": { "post": { "tags": [ "RequirementSet" ], "summary": "Create requirement set version", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "CreateRequirementSetVersion", "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" } ], "requestBody": { "description": "Create requirement set version request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/RequirementSetDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Requirement set version created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRequirementSetResponseServiceResponse" } } } }, "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" } ] } } } } } }, "delete": { "tags": [ "RequirementSet" ], "summary": "Delete requirement set and all its versions", "description": "\nDeletes an existing requirement set and all its versions.

Required permissions:
Following permissions are required: PolicyConfigurationDelete", "operationId": "DeleteRequirementSet", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "allowGlobalPolicyRemoval", "in": "query", "description": "Flag allowing to delete Global policy (Not recommended)", "schema": { "type": "boolean", "default": false } }, { "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": { "202": { "description": "Success. Requirement set deleted" }, "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}/draft": { "post": { "tags": [ "RequirementSet" ], "summary": "Create requirement set version from provided set id", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "CreateRequirementSetVersionFromSetId", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to create new draft from", "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": { "202": { "description": "Success. Requirement set version created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRequirementSetVersionFromSetIdResponseServiceResponse" } } } }, "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}": { "put": { "tags": [ "RequirementSet" ], "summary": "Update requirement set version", "description": "\nUpdates an existing requirement set version. Only draft and rejected versions are allowed to be updated.

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "UpdateRequirementSetVersion", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to update", "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" } ], "requestBody": { "description": "Update requirement set version request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/UpdateRequirementSetVersionDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Requirement set version updated", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatedRequirementSetVersionResponseDtoServiceResponse" } } } }, "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" } ] } } } }, "409": { "description": "Conflict saving changes in expected version", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes", "type": "Error", "errorCode": "CONFLICT" } ] } } } }, "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" } ] } } } } } }, "delete": { "tags": [ "RequirementSet" ], "summary": "Delete requirement set version", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationDelete", "operationId": "DeleteRequirementSetVersion", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to delete", "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": { "202": { "description": "Success. Requirement set version deleted" }, "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}/lite": { "put": { "tags": [ "RequirementSet" ], "summary": "Update properties in the specified requirement set version", "description": "\nUpdates an existing requirement set version. Only draft and rejected versions are allowed to be updated.

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "UpdateRequirementSetVersionLite", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to update", "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" } ], "requestBody": { "description": "Update requirement set version request with editable properties", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/UpdateRequirementSetVersionLiteDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Requirement set version updated", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatedRequirementSetVersionResponseDtoServiceResponse" } } } }, "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" } ] } } } }, "409": { "description": "Conflict saving changes in expected version", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes", "type": "Error", "errorCode": "CONFLICT" } ] } } } }, "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/{requirementSetId}/version/{versionNumber}/clone": { "post": { "tags": [ "RequirementSet" ], "summary": "Clone requirement set version", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "CloneRequirementSetVersion", "parameters": [ { "name": "requirementSetId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to clone", "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" } ], "requestBody": { "description": "Clone requirement set version request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CloneRequirementSetVersionDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Requirement set version cloned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CloneRequirementSetVersionResponseServiceResponse" } } } }, "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}/submit-for-approval": { "put": { "tags": [ "RequirementSet" ], "summary": "Submit requirement set version for approval", "description": "\nSubmits the selected version of an existing requirement set for approval.

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "SubmitRequirementSetVersion", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to submit", "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": { "202": { "description": "Success. Requirement set version submitted" }, "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}/sign": { "put": { "tags": [ "RequirementSet" ], "summary": "Sign requirement set version", "description": "\nSigns the selected version of an existing requirement set and changes the version status accordingly to the\n action (Approve/Reject).

Required permissions:
Following permissions are required: PolicyConfigurationApprove", "operationId": "SignRequirementSetVersion", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to sign", "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" } ], "requestBody": { "description": "Sign requirement set version request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ApproveActionServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success.Requirement set version signed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequirementSetVersionSignResponseServiceResponse" } } } }, "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}/archive": { "put": { "tags": [ "RequirementSet" ], "summary": "Archive requirement set version", "description": "\nArchives the selected version of an existing requirement set.

Required permissions:
Following permissions are required: PolicyConfigurationArchive", "operationId": "ArchiveRequirementSetVersion", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to archive", "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": { "202": { "description": "Success. Requirement set version archived", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/{id}/version/{versionNumber}/field": { "post": { "tags": [ "RequirementSet" ], "summary": "Add requirement", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "AddRequirement", "parameters": [ { "name": "id", "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": "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": "Add requirement request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/RequirementDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Requirement added", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemCreatedDtoServiceResponse" } } } }, "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" } ] } } } } } }, "put": { "tags": [ "RequirementSet" ], "summary": "Update requirement", "description": "\nUpdates an existing requirement in specific requirement set.

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "UpdateRequirement", "parameters": [ { "name": "id", "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": "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": "Update requirement request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/UpdateRequirementDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Requirement updated", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateRequirementDtoServiceResponse" } } } }, "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" } ] } } } }, "409": { "description": "Conflict saving changes in expected version", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes", "type": "Error", "errorCode": "CONFLICT" } ] } } } }, "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}/fields": { "post": { "tags": [ "RequirementSet" ], "summary": "Add requirements", "description": "

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "AddRequirements", "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": "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": "Add requirements request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AddRequirementsRequestDtoServiceRequest" } ], "description": "Service request data" } } } }, "responses": { "202": { "description": "Success. Requirements added", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddRequirementsResponseDtoServiceResponse" } } } }, "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/{id}/version/{versionNumber}/field/{fieldId}": { "delete": { "tags": [ "RequirementSet" ], "summary": "Delete requirement", "description": "\nDeletes an existing requirement in specific requirement set.

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "DeleteRequirement", "parameters": [ { "name": "id", "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": "fieldId", "in": "path", "description": "Requirement id to delete", "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": { "202": { "description": "Success. Requirement deleted" }, "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 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}/update-requirements-dataprotection-jurisdiction": { "put": { "tags": [ "RequirementSet" ], "summary": "Update requirements DataProtectionJurisdiction", "description": "\nUpdate DataProtectionJurisdiction for all Requirements in specified Requirement Set using\n DefaultDataProtectionJurisdiction

Required permissions:
Following permissions are required: PolicyConfigurationEdit", "operationId": "UpdateRequirementsDataProtectionJurisdiction", "parameters": [ { "name": "setId", "in": "path", "description": "Requirement set id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "versionNumber", "in": "path", "description": "Version number to update data protection jurisdiction", "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": { "202": { "description": "Success. Requirement set attributes updated with default data protection jurisdiction" }, "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" } ] } } } } } } } }, "components": { "schemas": { "AccessLayerDto": { "required": [ "businessRelated", "geographic" ], "type": "object", "properties": { "geographic": { "type": "array", "items": { "maxLength": 500, "minLength": 1, "type": "string" }, "description": "Collection of geographic access layers" }, "businessRelated": { "type": "array", "items": { "maxLength": 500, "minLength": 1, "type": "string" }, "description": "Collection of business related access layers" } }, "additionalProperties": false, "description": "DTO representing associated access layers" }, "AddRequirementsRequestDto": { "type": "object", "properties": { "requirements": { "type": "array", "items": { "$ref": "#/components/schemas/RequirementDto" }, "nullable": true } }, "additionalProperties": false }, "AddRequirementsRequestDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/AddRequirementsRequestDto" } ], "description": "The service request DTO", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "AddRequirementsResponseDto": { "type": "object", "properties": { "requirementIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false }, "AddRequirementsResponseDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/AddRequirementsResponseDto" } ], "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" }, "ApproveAction": { "type": "object", "properties": { "comment": { "type": "string", "nullable": true }, "decision": { "allOf": [ { "$ref": "#/components/schemas/Decision" } ] }, "created": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "ApproveActionServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/ApproveAction" } ], "description": "The service request DTO", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "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 }, "BasicRuleDto": { "type": "object", "properties": { "active": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "message": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" } }, "additionalProperties": false, "description": "Request DTO representing basic validation rule metadata" }, "BasicRuleDto2": { "type": "object", "properties": { "errorMessage": { "type": "string", "description": "Validation rule error message", "nullable": true, "example": "Validation error occurred" } }, "additionalProperties": false, "description": "Request DTO representing basic validation rule metadata" }, "BasicRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true }, "dynamicRules": { "type": "array", "items": { "$ref": "#/components/schemas/BasicRuleDtoConditionalValueDto" }, "description": "Conditional validation rules", "nullable": true } }, "additionalProperties": false }, "BasicRuleDtoConditionalValueDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "value": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 } }, "additionalProperties": false }, "BasicRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "CloneDataGroupVersionDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of new data group", "nullable": true, "example": "Address" }, "description": { "type": "string", "description": "Description of new data group", "nullable": true, "example": "Address details" } }, "additionalProperties": false, "description": "Request DTO representing clone data group data" }, "CloneDataGroupVersionDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CloneDataGroupVersionDto" } ], "description": "Request DTO representing clone data group data", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "CloneDataGroupVersionResponse": { "type": "object", "properties": { "dataGroupId": { "type": "string", "description": "Id of the cloned data group", "format": "uuid", "example": "7084669b-0813-4faa-b1d5-b7bf6d749717" } }, "additionalProperties": false, "description": "Cloned data group response data" }, "CloneDataGroupVersionResponseServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CloneDataGroupVersionResponse" } ], "description": "Cloned data group response 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" }, "CloneRequirementSetVersionDto": { "type": "object", "properties": { "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" } }, "additionalProperties": false }, "CloneRequirementSetVersionDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CloneRequirementSetVersionDto" } ], "description": "The service request DTO", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "CloneRequirementSetVersionResponse": { "type": "object", "properties": { "requirementSetId": { "type": "string", "description": "Id of the cloned requirement set", "format": "uuid" }, "expectedRequirementCount": { "type": "integer", "description": "Expected number of requirements of the cloned requirement set", "format": "int32" } }, "additionalProperties": false, "description": "Request DTO representing clone requirement set data" }, "CloneRequirementSetVersionResponseServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CloneRequirementSetVersionResponse" } ], "description": "Request DTO representing clone requirement set 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" }, "CollectionMaximumCountRuleDto": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" }, { "type": "object", "properties": { "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": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" }, { "type": "object", "properties": { "requiredTypesMaxCount": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32" }, "description": "Dictionary of required Primary Data Group Field values with maximum count", "nullable": true, "example": { "Registered": 1 } }, "overallMaximumCount": { "type": "integer", "description": "Overall maximum count", "format": "int32", "nullable": true, "example": 1 } }, "additionalProperties": false } ], "description": "Request DTO representing collection maximum count validation rule metadata" }, "CollectionMaximumCountRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/CollectionMaximumCountRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "CollectionMinimumCountRuleDto": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" }, { "type": "object", "properties": { "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": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" }, { "type": "object", "properties": { "requiredTypesMinCount": { "type": "object", "additionalProperties": { "type": "integer", "format": "int32" }, "description": "Dictionary of required Primary Data Group Field values with minimum count", "nullable": true, "example": { "Registered": 1 } }, "overallMinimumCount": { "type": "integer", "description": "Overall minimum count", "format": "int32", "example": 1 } }, "additionalProperties": false } ], "description": "Request DTO representing collection minimum count validation rule metadata" }, "CollectionMinimumCountRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/CollectionMinimumCountRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "CommonRequirementSetDto": { "type": "object", "properties": { "setId": { "type": "string", "description": "The UiD of the data requirement set", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "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" }, "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" }, "signees": { "type": "array", "items": { "$ref": "#/components/schemas/Signee" }, "description": "The defined list of signees for the version", "nullable": true } }, "additionalProperties": false, "description": "Request DTO representing requirement set data" }, "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": { "required": [ "logicalOperation", "name", "operands" ], "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "minLength": 1, "type": "string", "description": "The name of the condition", "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "minLength": 1, "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "example": "AND" }, "operands": { "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto" } }, "additionalProperties": false, "description": "Represents condition root", "example": { "id": "118313c6-91e6-4b05-a537-5a1ab906418f", "name": "Company-type only", "description": "Applicable only when EntityType=Company", "logicalOperation": "AND", "operands": [ { "fieldName": "EntityType", "value": [ "string" ], "valueType": "text", "operation": "equal", "operands": [ ] } ] } }, "ConditionalValueDto": { "allOf": [ { "$ref": "#/components/schemas/StringConditionalValueDto" }, { "type": "object", "properties": { "valueId": { "type": "string", "description": "Value Id that should be returned when conditions are met", "nullable": true, "example": "RM" } }, "additionalProperties": false } ] }, "ConditionalValueDto`1": { "allOf": [ { "$ref": "#/components/schemas/ConditionDto" }, { "type": "object", "properties": { "value": { "allOf": [ { "$ref": "#/components/schemas/T" } ], "description": "Value that should be returned when conditions are met", "nullable": true }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 } }, "additionalProperties": false } ] }, "CreateDataGroupVersionDraftResponseDto": { "type": "object", "properties": { "dataGroupId": { "type": "string", "format": "uuid" }, "versionNumber": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "CreateDataGroupVersionDraftResponseDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CreateDataGroupVersionDraftResponseDto" } ], "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" }, "CreateRequirementSetResponse": { "allOf": [ { "$ref": "#/components/schemas/RequirementSetDto" }, { "type": "object", "properties": { "defaultDataProtectionJurisdiction": { "type": "string", "nullable": true } }, "additionalProperties": false } ] }, "CreateRequirementSetResponseServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CreateRequirementSetResponse" } ], "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" }, "CreateRequirementSetVersionFromSetIdResponse": { "type": "object", "properties": { "setId": { "type": "string", "format": "uuid" }, "versionNumber": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "CreateRequirementSetVersionFromSetIdResponseServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CreateRequirementSetVersionFromSetIdResponse" } ], "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" }, "DataFieldDto": { "required": [ "propertyName", "propertyType" ], "type": "object", "properties": { "propertyName": { "minLength": 1, "type": "string", "description": "Property name", "example": "firstName" }, "propertyType": { "minLength": 1, "type": "string", "description": "Property type", "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" }, "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": "Request DTO representing data field metadata" }, "DataGroupCreatedDto": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier of created Data Group", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" } }, "additionalProperties": false, "description": "Response DTO representing created Data Group Instance" }, "DataGroupCreatedDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/DataGroupCreatedDto" } ], "description": "Response DTO representing created Data Group Instance", "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" }, "DataGroupDto": { "type": "object", "properties": { "groupId": { "type": "string", "description": "The UiD of the data group", "format": "uuid" }, "name": { "type": "string", "description": "Data group name", "nullable": true, "example": "Product Details" }, "description": { "type": "string", "description": "Data group description", "nullable": true, "example": "Product Details" }, "dataGroupFields": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupFieldDto" }, "description": "List of data group fields", "nullable": true }, "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" }, "created": { "type": "string", "description": "The creation date of the version (Read-only)", "format": "date-time", "example": "2021-01-01T14:48:00.000Z" }, "status": { "allOf": [ { "$ref": "#/components/schemas/VersionStatus" } ], "description": "The status of the version" }, "signees": { "type": "array", "items": { "$ref": "#/components/schemas/Signee" }, "description": "The defined list of signees for the version", "nullable": true }, "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": "Request DTO representing data group data" }, "DataGroupDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/DataGroupDto" } ], "description": "Request DTO representing data group data", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "DataGroupDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/DataGroupDto" } ], "description": "Request DTO representing data group 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" }, "DataGroupFieldDto": { "required": [ "dataField", "name", "type" ], "type": "object", "properties": { "identifier": { "type": "string", "description": "The UiD of the data group field", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "minLength": 1, "type": "string", "description": "Data group field name", "example": "Product Type" }, "type": { "minLength": 1, "type": "string", "description": "Data group field type", "readOnly": true, "example": "DataGroup" }, "order": { "type": "number", "description": "Data group field order", "format": "double", "nullable": true, "example": 2 }, "isSensitiveData": { "type": "boolean", "description": "Data group field sensitive data flag", "example": true }, "defaultValue": { "type": "string", "description": "Default value for this data field", "nullable": true, "example": "Australia" }, "isReadOnly": { "type": "boolean", "description": "Is requirement readonly", "example": false }, "dataField": { "allOf": [ { "$ref": "#/components/schemas/DataFieldDto" } ], "description": "Data group field data field" }, "validationRule": { "allOf": [ { "$ref": "#/components/schemas/ValidationRuleDto" } ], "description": "Data group 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 }, "conditionalValues": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionalValueDto" }, "description": "List of conditional values", "nullable": true }, "description": { "type": "string", "description": "Data group field description", "nullable": true, "example": "This is the client first name" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "List of tags", "nullable": true, "example": [ "internal" ] }, "category": { "type": "string", "description": "Data group field business category", "nullable": true, "example": "Basic Details", "deprecated": true }, "entityType": { "type": "string", "description": "Data group field entity type", "nullable": true, "example": "Individual", "deprecated": true }, "jurisdiction": { "type": "string", "description": "Data group field jurisdiction", "nullable": true, "example": "Global", "deprecated": true }, "isCoreDefinition": { "type": "boolean", "description": "Data group field core definition flag", "example": true, "deprecated": true }, "isMaterialData": { "type": "boolean", "description": "Data group field core definition flag", "example": true, "deprecated": true }, "references": { "type": "array", "items": { "$ref": "#/components/schemas/ReferenceDto" }, "description": "Data group field references list", "nullable": true } }, "additionalProperties": false, "description": "Response DTO representing data group field data" }, "DataGroupFieldDtoServiceRequest": { "required": [ "data" ], "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/DataGroupFieldDto" } ], "description": "Response DTO representing data group field data" } }, "additionalProperties": false, "description": "Service request data" }, "DataGroupVersionSignResponse": { "type": "object", "properties": { "groupId": { "type": "string", "description": "The UiD of the data group", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "versionNumber": { "type": "integer", "description": "The number of the version that has been signed", "format": "int32", "example": 2 }, "status": { "allOf": [ { "$ref": "#/components/schemas/VersionStatus" } ], "description": "The new version status", "example": "Rejected" } }, "additionalProperties": false, "description": "Sign data group response contains the new version status" }, "DataGroupVersionSignResponseServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/DataGroupVersionSignResponse" } ], "description": "Sign data group response contains the new version status", "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" }, "DataValidationRulesDto": { "type": "object", "properties": { "mandatory": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoConditionalValidationRuleDto" } ], "description": "Mandatory Rule - does not allow empty value", "nullable": true }, "specialCharacters": { "allOf": [ { "$ref": "#/components/schemas/SpecialCharactersRuleDtoValidationRuleDto" } ], "description": "Special characters validation rule - does not allow special characters,\nbut allows define array of characters which can be ignored by the validation", "nullable": true }, "noNumbers": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that does not allow numbers", "nullable": true }, "onlyInteger": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows only integers", "nullable": true }, "noNegative": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that does not allow negative numbers", "nullable": true }, "onlyDecimal": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows numbers up to two decimal places", "nullable": true }, "regex": { "allOf": [ { "$ref": "#/components/schemas/RegexRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that validates the value against provided regex", "nullable": true }, "characterLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to set minimum and maximum count of characters", "nullable": true }, "numberLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to set number range", "nullable": true }, "noFutureDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that does not allow future dates", "nullable": true }, "noPastDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoValidationRuleDto" } ], "description": "Validation rule that does not allow past dates", "nullable": true }, "dateLimit": { "allOf": [ { "$ref": "#/components/schemas/DateLimitRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that allows to set date range", "nullable": true }, "multiSelectLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that allows to set selection range", "nullable": true }, "collectionMinimumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMinimumCountRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to set minimum count requirements for collection", "nullable": true }, "collectionMaximumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMaximumCountRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to set maximum count requirements for collection", "nullable": true }, "externalProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to use external provider for validation", "nullable": true }, "externalDataGroupProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDtoValidationRuleDto" } ], "description": "Validation rule that allows to use external provider for validation of one field with other fields as context", "nullable": true }, "readOnly": { "allOf": [ { "$ref": "#/components/schemas/EmptyRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that allows to set if field should be read only", "nullable": true }, "conditionalLimit": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDtoConditionalValidationRuleDto" } ], "description": "Validation rule that validates the dynamic value against provided condition", "nullable": true }, "timeZoneId": { "type": "string", "description": "Time zone id used for date values validation in order to determine exact Today time range", "nullable": true, "example": "Europe/Warsaw" } }, "additionalProperties": false, "description": "Request DTO representing validation data metadata" }, "DateLimitRuleDto": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" }, { "type": "object", "properties": { "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": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" }, { "type": "object", "properties": { "minDate": { "type": "string", "description": "Minimum date", "format": "date-time", "nullable": true, "example": "2020-01-01T14:48:00.000Z" }, "maxDate": { "type": "string", "description": "Maximum date", "format": "date-time", "nullable": true, "example": "2021-01-01T14:48:00.000Z" } }, "additionalProperties": false } ], "description": "Request DTO representing date limit rule metadata" }, "DateLimitRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/DateLimitRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true }, "dynamicRules": { "type": "array", "items": { "$ref": "#/components/schemas/DateLimitRuleDtoConditionalValueDto" }, "description": "Conditional validation rules", "nullable": true } }, "additionalProperties": false }, "DateLimitRuleDtoConditionalValueDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "value": { "allOf": [ { "$ref": "#/components/schemas/DateLimitRuleDto2" } ], "description": "Request DTO representing date limit rule metadata", "nullable": true }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 } }, "additionalProperties": false }, "DateTimePeriodFormulaSchemaDto": { "required": [ "formulaSetId", "formulaString" ], "type": "object", "properties": { "formulaSetId": { "minLength": 1, "type": "string", "format": "uuid" }, "versionNumber": { "type": "integer", "format": "int32", "nullable": true }, "formulaString": { "minLength": 1, "type": "string" }, "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 }, "ExternalProviderRuleDto": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" }, { "type": "object", "properties": { "providerId": { "type": "string", "description": "Id of external provider.", "format": "uuid" } }, "additionalProperties": false } ], "description": "Request DTO representing external provider rule metadata" }, "ExternalProviderRuleDto2": { "allOf": [ { "$ref": "#/components/schemas/EmptyRuleDto" }, { "type": "object", "properties": { "providerId": { "type": "string", "description": "Id of external provider.", "format": "uuid" } }, "additionalProperties": false } ], "description": "Request DTO representing external provider rule metadata" }, "ExternalProviderRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "FilterConditionDto": { "type": "object", "properties": { "fieldName": { "type": "string", "description": "Field name for the filter condition", "nullable": true }, "conditions": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDto" }, "description": "Conditions applied to the field", "nullable": true } }, "additionalProperties": false }, "ItemCreatedDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the created item", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" } }, "additionalProperties": false, "description": "Response DTO representing created Item Instance" }, "ItemCreatedDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/ItemCreatedDto" } ], "description": "Response DTO representing created Item Instance", "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" }, "NumberFormulaSchemaDto": { "required": [ "formulaSetId", "formulaString" ], "type": "object", "properties": { "formulaSetId": { "minLength": 1, "type": "string", "format": "uuid" }, "versionNumber": { "type": "integer", "format": "int32", "nullable": true }, "formulaString": { "minLength": 1, "type": "string" }, "formulaVariables": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/NumberFormulaVariableDto" }, "nullable": true } }, "additionalProperties": false }, "NumberFormulaVariableDto": { "type": "object", "properties": { "dataSource": { "type": "string", "nullable": true }, "propertyName": { "type": "string", "nullable": true }, "filterConditions": { "type": "array", "items": { "$ref": "#/components/schemas/FilterConditionDto" }, "nullable": true } }, "additionalProperties": false }, "ObjectServiceResponse": { "type": "object", "properties": { "data": { "description": "The service response DTO", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response", "nullable": true } }, "additionalProperties": false, "description": "Service response data" }, "OwnershipValidationDataDto": { "type": "object", "properties": { "isMandatory": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true }, "partyCount": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto" } ], "description": "Request DTO representing value limit rule metadata", "nullable": true }, "addAllParties": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true }, "idvIsMandatory": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true }, "idvPartyCount": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto" } ], "description": "Request DTO representing value limit rule metadata", "nullable": true }, "idvAllParties": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Request DTO representing basic validation rule metadata", "nullable": true } }, "additionalProperties": false }, "OwnershipValidationRuleDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the ownership validation rule", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "setId": { "type": "string", "description": "The UiD of the requirement set", "format": "uuid", "example": "012cfe3a-7bfa-41e7-8269-d49b3b38dff3" }, "ownershipValidationData": { "allOf": [ { "$ref": "#/components/schemas/OwnershipValidationDataDto" } ], "description": "Ownership Validation Data - set of validation rules specific to ownership requirement", "nullable": true } }, "additionalProperties": false }, "ReferenceDto": { "required": [ "description", "type", "url" ], "type": "object", "properties": { "type": { "maxLength": 256, "minLength": 1, "type": "string", "description": "Reference type", "example": "FATCA" }, "description": { "maxLength": 2048, "minLength": 1, "type": "string", "description": "Reference description", "example": "Foreign Account Tax Compliance Act" }, "url": { "maxLength": 2048, "minLength": 1, "type": "string", "description": "Reference URL", "example": "www.irs.gov" } }, "additionalProperties": false, "description": "Request DTO representing reference metadata" }, "RegexRuleDto": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" }, { "type": "object", "properties": { "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": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" }, { "type": "object", "properties": { "isCaseSensitive": { "type": "boolean", "description": "Flag that indicate if regex is case sensitive", "example": false }, "regexValue": { "type": "string", "description": "Regex expression", "nullable": true, "example": "^[\\\\w-\\\\.]+@([\\\\w-]+\\\\.)+[\\\\w-]{2,4}$" } }, "additionalProperties": false } ], "description": "Request DTO representing regex rule metadata" }, "RegexRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/RegexRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true }, "dynamicRules": { "type": "array", "items": { "$ref": "#/components/schemas/RegexRuleDtoConditionalValueDto" }, "description": "Conditional validation rules", "nullable": true } }, "additionalProperties": false }, "RegexRuleDtoConditionalValueDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "value": { "allOf": [ { "$ref": "#/components/schemas/RegexRuleDto2" } ], "description": "Request DTO representing regex rule metadata", "nullable": true }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 } }, "additionalProperties": false }, "RequirementDto": { "required": [ "entityType", "jurisdiction", "type" ], "type": "object", "properties": { "identifier": { "type": "string", "description": "The UiD of the requirement", "format": "uuid", "example": "84ec28e2-d786-417b-850f-96321dd849dd" }, "requirementSetId": { "type": "string", "description": "The UiD of the requirement set", "format": "uuid", "example": "228313c6-91e6-4b05-a537-5a1ab906418f" }, "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": { "minLength": 1, "type": "string", "description": "Requirement entity type", "example": "Individual" }, "name": { "type": "string", "description": "Requirement name", "nullable": true, "example": "First Name" }, "order": { "type": "number", "description": "Requirement the order which the field will appears", "format": "double", "nullable": true, "example": 1 }, "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\nand cannot be deleted or altered", "example": false }, "isIndexable": { "type": "boolean", "description": "Requirement is data indexed for search flag", "example": true }, "isJourneyLevelData": { "type": "boolean", "description": "Requirement journey level data flag", "example": false }, "jurisdiction": { "minLength": 1, "type": "string", "description": "Requirement jurisdiction", "example": "Global" }, "dataProtectionJurisdiction": { "type": "string", "description": "Jurisdiction for data protection", "nullable": true, "example": "Global" }, "classification": { "type": "string", "description": "Requirement classification", "nullable": true, "example": "Customer Profiling" }, "isReadOnly": { "type": "boolean", "description": "Read-only flag", "example": true }, "isMandatory": { "type": "boolean", "description": "Requirement mandatory flag", "example": true }, "targetEntity": { "type": "string", "description": "Requirement target entity", "nullable": true, "example": "Client" }, "type": { "minLength": 1, "type": "string", "description": "Requirement type", "example": "Data" }, "documentDescription": { "type": "string", "description": "Requirement document description", "nullable": true, "example": "Articles of Incorporation" }, "documentDataKey": { "type": "string", "description": "Requirement document datakey", "nullable": true, "example": "Passport" }, "partyType": { "type": "string", "description": "Requirement party type", "nullable": true, "example": "Shareholder", "deprecated": true }, "partyTypes": { "type": "array", "items": { "type": "string" }, "description": "Requirement party types", "nullable": true }, "partyCount": { "type": "integer", "description": "Requirement party count", "format": "int32", "nullable": true, "example": 1, "deprecated": true }, "uboThreshold": { "type": "number", "description": "Requirement UBO threshold", "format": "double", "nullable": true, "example": 10 }, "ownershipDataKey": { "type": "string", "description": "The datakey that is used to identify this requirement", "nullable": true, "example": "seniorManagersRequirement" }, "sourceEntityType": { "type": "string", "description": "Any of the related party entity types selected can be counted toward this requirement", "nullable": true, "example": "Individual", "deprecated": true }, "relatedPartyEntityTypes": { "type": "array", "items": { "type": "string" }, "description": "Requirement related party entity types", "nullable": true }, "directAssociationsOnly": { "type": "boolean", "description": "When enabled, only related parties directly associated to the main client entity will be counted towards this\nrequirement", "example": true }, "idvOn": { "type": "boolean", "description": "Is there an ID&V element applicable to this requirement?", "example": true }, "idvName": { "type": "string", "description": "Name of the ID&V requirement and label which will be applied to the ID&V chip", "nullable": true, "example": "ID&V 1 Senior Manager" }, "idvTooltip": { "type": "string", "description": "Tooltip description of the ID&V requirement", "nullable": true, "example": "At Least one CEO, CFO, COO, CTO, Board Member or Executive Director must be ID&Vd" }, "ownershipValidationRule": { "allOf": [ { "$ref": "#/components/schemas/OwnershipValidationRuleDto" } ], "description": "Ownership requirement validation data", "nullable": true }, "dataField": { "allOf": [ { "$ref": "#/components/schemas/DataFieldDto" } ], "description": "Requirement data field", "nullable": true }, "references": { "type": "array", "items": { "$ref": "#/components/schemas/ReferenceDto" }, "description": "Requirement references list", "nullable": true }, "conditions": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDto" }, "description": "Requirement conditions list", "nullable": true }, "validationRule": { "allOf": [ { "$ref": "#/components/schemas/ValidationRuleDto" } ], "description": "Requirement validation data", "nullable": true }, "validationRulesV2": { "allOf": [ { "$ref": "#/components/schemas/DataValidationRulesDto" } ], "description": "Request DTO representing validation data metadata", "nullable": true }, "defaultValue": { "type": "string", "description": "Default value\nvalue will be accepted base on datafield type", "nullable": true, "example": "Australia" }, "documentAccessLayers": { "allOf": [ { "$ref": "#/components/schemas/AccessLayerDto" } ], "description": "Access layers determining the access to the document", "nullable": true }, "acceptableDocumentDataKeys": { "type": "array", "items": { "type": "string" }, "description": "List of acceptable Document Types Id for the Document Requirement", "nullable": true }, "conditionalValues": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionalValueDto" }, "description": "List of conditional values", "nullable": true }, "clearValueIfTriggerConditionNotMet": { "type": "boolean", "description": "Whether to clear the field value when all trigger conditions are not met", "example": false }, "tags": { "type": "array", "items": { "type": "string" }, "description": "List of tags", "nullable": true }, "fieldAccessLayers": { "allOf": [ { "$ref": "#/components/schemas/AccessLayerDto" } ], "description": "Access layers determining the access to the field", "nullable": true }, "uiDecoration": { "type": "string", "description": "Determines how the requirement should be rendered", "nullable": true }, "uiColorDecoration": { "type": "string", "description": "Determines with what colour requirement should be rendered", "nullable": true }, "portalGuidance": { "type": "string", "description": "Portal guidance", "nullable": true, "example": "Provide at least one director RP" } }, "additionalProperties": false, "description": "Request DTO representing requirement metadata" }, "RequirementDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/RequirementDto" } ], "description": "Request DTO representing requirement metadata", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "RequirementSetDto": { "allOf": [ { "$ref": "#/components/schemas/CommonRequirementSetDto" }, { "type": "object", "properties": { "created": { "type": "string", "description": "The creation date of the version (Read-only)", "format": "date-time", "example": "2021-01-01T14:48:00.000Z" }, "status": { "allOf": [ { "$ref": "#/components/schemas/VersionStatus" } ], "description": "The status of the version", "example": "Draft" }, "requirements": { "type": "array", "items": { "$ref": "#/components/schemas/RequirementDto" }, "description": "List of requirements", "nullable": true }, "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" }, "defaultDataProtectionJurisdiction": { "type": "string", "description": "Default data protection jurisdiction for requirement set", "nullable": true, "example": "Global" } }, "additionalProperties": false } ], "description": "Request DTO representing requirement set data" }, "RequirementSetDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/RequirementSetDto" } ], "description": "Request DTO representing requirement set data", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "RequirementSetVersionSignResponse": { "type": "object", "properties": { "setId": { "type": "string", "description": "The UiD of the requirement set", "format": "uuid" }, "versionNumber": { "type": "integer", "description": "The number of the version that has been signed", "format": "int32", "example": 2 }, "status": { "allOf": [ { "$ref": "#/components/schemas/VersionStatus" } ], "description": "The new version status", "example": "Rejected" } }, "additionalProperties": false, "description": "Sign requirement set response contains the new version status" }, "RequirementSetVersionSignResponseServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/RequirementSetVersionSignResponse" } ], "description": "Sign requirement set response contains the new version status", "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" }, "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 }, "SpecialCharactersRuleDto": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" }, { "type": "object", "properties": { "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": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" }, { "type": "object", "properties": { "excludedCharacters": { "type": "array", "items": { "type": "string" }, "description": "Array of special characters, which will be ignored by validation e.g. [\"!\",\"@\",\"#\"]", "nullable": true } }, "additionalProperties": false } ], "description": "Request DTO representing special characters rule metadata" }, "SpecialCharactersRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/SpecialCharactersRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "StringConditionalValueDto": { "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 } }, "additionalProperties": false }, "StringServiceResponse": { "type": "object", "properties": { "data": { "type": "string", "description": "The service response DTO", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response", "nullable": true } }, "additionalProperties": false, "description": "Service response data" }, "T": { "type": "object", "additionalProperties": false }, "UpdateDataGroupFieldDto": { "allOf": [ { "$ref": "#/components/schemas/DataGroupFieldDto" }, { "type": "object", "properties": { "version": { "type": "integer", "description": "Current version of Data Group aggregate where the changes needs to be applied. This parameter is required\nto guarantee consistency and conflicts detection. If it is not provided, it will save new changes\non top of latest without conflicts checking", "format": "int32", "default": -1, "example": 5 } }, "additionalProperties": false } ], "description": "Request DTO representing Data Group field metadata" }, "UpdateDataGroupFieldDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/UpdateDataGroupFieldDto" } ], "description": "Request DTO representing Data Group field metadata", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "UpdateDataGroupFieldDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/UpdateDataGroupFieldDto" } ], "description": "Request DTO representing Data Group field 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" }, "UpdateDataGroupVersionDto": { "type": "object", "properties": { "groupId": { "type": "string", "description": "The UiD of the data group", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "Data group name", "nullable": true, "example": "Product Details" }, "description": { "type": "string", "description": "Data group description", "nullable": true, "example": "Product Details" }, "dataGroupFields": { "type": "array", "items": { "$ref": "#/components/schemas/DataGroupFieldDto" }, "description": "List of data group fields", "nullable": true }, "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" }, "signees": { "type": "array", "items": { "$ref": "#/components/schemas/Signee" }, "description": "The defined list of signees for the version", "nullable": true }, "version": { "type": "integer", "description": "Current version of Data Group aggregate where the changes needs to be applied. This parameter is required\nto guarantee consistency and conflicts detection. If it is not provided, it will save new changes\non top of latest without conflicts checking", "format": "int32", "default": -1, "example": 5 }, "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": "Request DTO representing set of properties which define a new version of data group" }, "UpdateDataGroupVersionDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/UpdateDataGroupVersionDto" } ], "description": "Request DTO representing set of properties which define a new version of data group", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "UpdateRequirementDto": { "allOf": [ { "$ref": "#/components/schemas/RequirementDto" }, { "type": "object", "properties": { "version": { "type": "integer", "description": "Current version of Data Group aggregate where the changes needs to be applied. This parameter is required\nto guarantee consistency and conflicts detection. If it is not provided, it will save new changes\non top of latest without conflicts checking", "format": "int32", "default": -1, "example": 5 } }, "additionalProperties": false } ], "description": "Request DTO representing requirement metadata" }, "UpdateRequirementDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/UpdateRequirementDto" } ], "description": "Request DTO representing requirement metadata", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "UpdateRequirementDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/UpdateRequirementDto" } ], "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" }, "UpdateRequirementSetVersionDto": { "type": "object", "properties": { "setId": { "type": "string", "description": "The UiD of the requirement set", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "Requirement set name", "nullable": true, "example": "Standard Policy" }, "jurisdiction": { "type": "string", "description": "Requirement set jurisdiction", "nullable": true, "example": "Global" }, "defaultDataProtectionJurisdiction": { "type": "string", "description": "Default data protection jurisdiction for requirement set", "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": "List of conditions", "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" }, "signees": { "type": "array", "items": { "$ref": "#/components/schemas/Signee" }, "description": "The defined list of signees for the version", "nullable": true }, "version": { "type": "integer", "description": "Current version of Data Group aggregate where the changes needs to be applied. This parameter is required\nto guarantee consistency and conflicts detection. If it is not provided, it will save new changes\non top of latest without conflicts checking", "format": "int32", "default": -1, "example": 5 }, "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": "Request DTO representing set of properties which define a new version of requirement set" }, "UpdateRequirementSetVersionDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/UpdateRequirementSetVersionDto" } ], "description": "Request DTO representing set of properties which define a new version of requirement set", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "UpdateRequirementSetVersionLiteDto": { "type": "object", "properties": { "name": { "type": "string", "description": "Requirement set name", "nullable": true, "example": "Standard Policy" }, "defaultDataProtectionJurisdiction": { "type": "string", "description": "Default data protection jurisdiction for requirement set", "nullable": true, "example": "Global" }, "conditions": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDto" }, "description": "List of conditions", "nullable": true }, "version": { "type": "integer", "description": "Current version of Data Group aggregate where the changes needs to be applied. This parameter is required\nto guarantee consistency and conflicts detection. If it is not provided, it will save new changes\non top of latest without conflicts checking", "format": "int32", "default": -1, "example": 5 }, "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": "Request DTO representing set of properties which define a new version of requirement set" }, "UpdateRequirementSetVersionLiteDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/UpdateRequirementSetVersionLiteDto" } ], "description": "Request DTO representing set of properties which define a new version of requirement set", "nullable": true } }, "additionalProperties": false, "description": "Service request data" }, "UpdatedRequirementSetVersionResponseDto": { "type": "object", "properties": { "version": { "type": "integer", "description": "Version of requirement set version after the update", "format": "int32", "example": 4 } }, "additionalProperties": false, "description": "Response DTO representing updated requirement set version" }, "UpdatedRequirementSetVersionResponseDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/UpdatedRequirementSetVersionResponseDto" } ], "description": "Response DTO representing updated requirement set version", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response", "nullable": true } }, "additionalProperties": false, "description": "Service response data" }, "ValidationDataDto": { "type": "object", "properties": { "isMandatory": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Mandatory Rule - does not allow empty value", "nullable": true }, "specialCharacters": { "allOf": [ { "$ref": "#/components/schemas/SpecialCharactersRuleDto" } ], "description": "Special characters validation rule - does not allow special characters,\nbut allows define array of characters which can be ignored by the validation", "nullable": true }, "noNumbers": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Validation rule that does not allow numbers", "nullable": true }, "onlyInteger": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Validation rule that allows only integers", "nullable": true }, "noNegative": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Validation rule that does not allow negative numbers", "nullable": true }, "onlyDecimal": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Validation rule that allows numbers up to two decimal places", "nullable": true }, "regex": { "allOf": [ { "$ref": "#/components/schemas/RegexRuleDto" } ], "description": "Validation rule that validates the value against provided regex", "nullable": true }, "characterLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto" } ], "description": "Validation rule that allows to set minimum and maximum count of characters", "nullable": true }, "numberLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto" } ], "description": "Validation rule that allows to set number range", "nullable": true }, "noFutureDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Validation rule that does not allow future dates", "nullable": true }, "noPastDates": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" } ], "description": "Validation rule that does not allow past dates", "nullable": true }, "dateLimit": { "allOf": [ { "$ref": "#/components/schemas/DateLimitRuleDto" } ], "description": "Validation rule that allows to set date range", "nullable": true }, "multiSelectLimit": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto" } ], "description": "Validation rule that allows to set selection range", "nullable": true }, "collectionMinimumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMinimumCountRuleDto" } ], "description": "Validation rule that allows to set minimum count requirements for collection", "nullable": true }, "collectionMaximumCount": { "allOf": [ { "$ref": "#/components/schemas/CollectionMaximumCountRuleDto" } ], "description": "Validation rule that allows to set maximum count requirements for collection", "nullable": true }, "externalProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDto" } ], "description": "Validation rule that allows to use external provider for validation", "nullable": true }, "externalDataGroupProvider": { "allOf": [ { "$ref": "#/components/schemas/ExternalProviderRuleDto" } ], "description": "Validation rule that allows to use external provider for validating all fields of a DataGroup as a collection", "nullable": true } }, "additionalProperties": false, "description": "Request DTO representing validation data metadata" }, "ValidationRuleDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The UiD of the validation rule", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "setId": { "type": "string", "description": "The UiD of the requirement set/data group", "format": "uuid", "example": "012cfe3a-7bfa-41e7-8269-d49b3b38dff3" }, "propertyId": { "type": "string", "description": "The UiD of the requirement/data group field", "format": "uuid", "example": "450df9bf-b2d3-48cf-ab8d-481c69b74373" }, "dataGroupId": { "type": "string", "description": "The UiD of the of data group - is set only when requirement/data group field propertyType is set to \"dataGroup\"", "format": "uuid", "nullable": true, "example": "8eb83ec6-1539-46a9-b0ba-c5138a09580c" }, "isDataGroup": { "type": "boolean", "description": "Flag indicating it is validation rules for data group field", "example": true }, "propertyName": { "type": "string", "description": "Requirement/data group field property name", "nullable": true, "example": "firstName" }, "friendlyName": { "type": "string", "description": "Requirement/data group field friendly Name", "nullable": true, "example": "First Name" }, "validationType": { "type": "string", "description": "Validation type", "nullable": true, "example": "text" }, "validationData": { "allOf": [ { "$ref": "#/components/schemas/ValidationDataDto" } ], "description": "Request DTO representing validation data metadata", "nullable": true } }, "additionalProperties": false, "description": "Request DTO representing validation rule metadata" }, "ValueField": { "type": "object", "properties": { "dataSource": { "type": "string", "description": "Value of DataSource used to filter field values", "nullable": true }, "field": { "type": "string", "description": "Field value used to validate conditional value", "nullable": true } }, "additionalProperties": false }, "ValueLimitRuleDto": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto" }, { "type": "object", "properties": { "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": { "allOf": [ { "$ref": "#/components/schemas/BasicRuleDto2" }, { "type": "object", "properties": { "minValue": { "type": "integer", "description": "Minimum value", "format": "int32", "nullable": true, "example": 1 }, "maxValue": { "type": "integer", "description": "Maximum value", "format": "int32", "nullable": true, "example": 10 } }, "additionalProperties": false } ], "description": "Request DTO representing value limit rule metadata" }, "ValueLimitRuleDtoConditionalValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true }, "dynamicRules": { "type": "array", "items": { "$ref": "#/components/schemas/ValueLimitRuleDtoConditionalValueDto" }, "description": "Conditional validation rules", "nullable": true } }, "additionalProperties": false }, "ValueLimitRuleDtoConditionalValueDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the condition", "format": "uuid", "example": "118313c6-91e6-4b05-a537-5a1ab906418f" }, "name": { "type": "string", "description": "The name of the condition", "nullable": true, "example": "Company-type only" }, "description": { "type": "string", "description": "The description of the condition", "nullable": true, "example": "Applicable only when EntityType=Company" }, "logicalOperation": { "type": "string", "description": "Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection", "nullable": true, "example": "AND" }, "operands": { "type": "array", "items": { "$ref": "#/components/schemas/ConditionDefinitionDto" }, "description": "Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto", "nullable": true }, "value": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto2" } ], "description": "Request DTO representing value limit rule metadata", "nullable": true }, "priority": { "type": "integer", "description": "Priority of the value in case when multiple conditional values are evaluated", "format": "int32", "example": 1 } }, "additionalProperties": false }, "ValueLimitRuleDtoValidationRuleDto": { "type": "object", "properties": { "isActive": { "type": "boolean", "description": "Validation rule active flag", "example": true }, "staticRule": { "allOf": [ { "$ref": "#/components/schemas/ValueLimitRuleDto2" } ], "description": "Static validation rule always applied when active", "nullable": true } }, "additionalProperties": false }, "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": [ ] } ] }