openapi: 3.2.0 info: title: Fenergo Data Protection Regime API version: '1.0' description: 'Operations tagged DataProtectionRegime across 2 of this provider''s published API definitions: fenergo-dataprotectioncommand-v1-0-openapi.json, fenergo-dataprotectionquery-v1-0-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: /dataprotectioncommand - url: /dataprotectionquery security: - Bearer: [] tags: - name: DataProtectionRegime paths: /api/regime: post: tags: - DataProtectionRegime summary: Create data protection regime description: 'Creates a new data protection regime Creates a new data protection regime. Returns the created data protection regime id. Required permissions: Following permissions are required: DataProtectionCreate' operationId: CreateDataProtectionRegime parameters: - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 requestBody: description: Create data protection regime request content: application/json: schema: allOf: - $ref: '#/components/schemas/CreateDataProtectionRegimeRequestDtoServiceRequest' description: Service request data responses: '202': description: Success. Data protection regime created content: application/json: schema: $ref: '#/components/schemas/CreateDataProtectionRegimeResponseDtoServiceResponse' '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '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 get: tags: - DataProtectionRegime summary: Get data protection regimes description: 'Returns all existing data protection regimes. Required permissions: At least one of the following permissions is required: DataProtectionAccess, JourneyCreate' operationId: GetAllDataProtectionRegimes parameters: - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 responses: '200': description: Success. The list of data protection regimes is returned content: application/json: schema: $ref: '#/components/schemas/DataProtectionRegimeOverviewDtoIEnumerableServiceResponse' '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '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 servers: - url: /dataprotectioncommand /api/regime/{id}: put: tags: - DataProtectionRegime summary: Update data protection regime description: 'Updates data protection regime Required permissions: Following permissions are required: DataProtectionEdit' operationId: UpdateDataProtectionRegime parameters: - name: id in: path description: Data protection regime 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: Update data protection regime request content: application/json: schema: allOf: - $ref: '#/components/schemas/UpdateDataProtectionRegimeRequestDtoServiceRequest' description: Service request data responses: '202': description: Success. Data protection regime updated '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found. Data protection regime 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: - DataProtectionRegime summary: Delete data protection regime description: 'Deletes data protection regime with provided id Required permissions: Following permissions are required: DataProtectionDelete' operationId: DeleteDataProtectionRegime parameters: - name: id in: path description: Data protection regime 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 protection regime deleted '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found. Data protection regime 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 get: tags: - DataProtectionRegime summary: Get data protection regime by id description: 'Returns the data protection regime for a given id. Required permissions: Following permissions are required: DataProtectionAccess' operationId: GetDataProtectionRegime parameters: - name: id in: path description: Data protection regime id required: true schema: type: string format: uuid - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 responses: '200': description: Success. Data protection regime is returned content: application/json: schema: $ref: '#/components/schemas/DataProtectionRegimeDtoServiceResponse' '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found. Data protection regime with given id does not exist type: Error errorCode: Error Code '500': description: Internal Server Error 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 '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 servers: - url: /dataprotectioncommand components: schemas: DataRetentionPeriodDto: type: object properties: months: type: integer format: int32 additionalProperties: false ValueField: type: object properties: dataSource: type: - string - 'null' description: Value of DataSource used to filter field values field: type: - string - 'null' description: Field value used to validate conditional value additionalProperties: false ConditionDefinitionDto: type: object properties: fieldName: type: - string - 'null' description: Name of the field to evaluate example: EntityType value: type: - array - 'null' items: type: string description: List of values valueId: type: - array - 'null' items: type: string description: List of value ids valueType: type: - string - 'null' description: Type of the value example: text dataSource: type: - string - 'null' description: Data source from which field is retrieved. If empty then Entity Data properties will be used. example: entityDataMetadata operation: type: - string - 'null' description: Logical operation to be performed to match the values example: equal logicalOperation: type: - string - 'null' description: Logical operation to be performed on the operands collection example: AND operands: type: - array - 'null' items: $ref: '#/components/schemas/ConditionDefinitionDto' description: Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto valueField: allOf: - $ref: '#/components/schemas/ValueField' description: Field value used for conditional limit validation additionalProperties: false description: Represents condition UpdateDataProtectionRegimeRequestDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/UpdateDataProtectionRegimeRequestDto' description: The service request DTO additionalProperties: false description: Service request data ValidationErrorModel: type: object properties: propertyName: type: - string - 'null' description: Name of the property example: data errorMessage: type: - string - 'null' description: User friendly error message example: Data is required attemptedValue: description: Invalid value errorCode: type: - string - 'null' description: Internal error code example: NotNullValidator additionalProperties: false description: Represents the details of validation error CreateDataProtectionRegimeResponseDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/CreateDataProtectionRegimeResponseDto' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data ServiceResponseMessage: type: object properties: message: type: - string - 'null' description: The message example: Success type: type: - string - 'null' description: 'Type of the message One of Info, Warning, Error, Forbidden' example: Info errorCode: type: - string - 'null' description: Error Code example: INTERNAL_SERVER_ERROR additionalProperties: false description: The message associated to the service response CreateDataProtectionRegimeRequestDto: type: object properties: name: type: - string - 'null' relatedJurisdiction: type: - string - 'null' dataRetentionPeriod: allOf: - $ref: '#/components/schemas/DataRetentionPeriodDto' conditionalRetentionPeriods: type: - array - 'null' items: $ref: '#/components/schemas/DataRetentionPeriodDtoConditionalValueDto' additionalProperties: false CreateDataProtectionRegimeRequestDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/CreateDataProtectionRegimeRequestDto' description: The service request DTO additionalProperties: false description: Service request data DataRetentionPeriodDtoConditionalValueDto: type: object properties: id: type: string description: The ID of the condition format: uuid example: 118313c6-91e6-4b05-a537-5a1ab906418f name: type: - string - 'null' description: The name of the condition example: Company-type only description: type: - string - 'null' description: The description of the condition example: Applicable only when EntityType=Company logicalOperation: type: - string - 'null' description: Logical operation on the Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDto.Operands collection example: AND operands: type: - array - 'null' items: $ref: '#/components/schemas/ConditionDefinitionDto' description: Collection of operands for given condition. These might contain additional, nested conditions of type Fenergo.Nebula.Platform.LogicEngine.Model.Dto.ConditionDefinitionDto value: allOf: - $ref: '#/components/schemas/DataRetentionPeriodDto' description: Value that should be returned when conditions are met priority: type: integer description: Priority of the value in case when multiple conditional values are evaluated format: int32 example: 1 additionalProperties: false ObjectServiceResponse: type: object properties: data: description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data CreateDataProtectionRegimeResponseDto: type: object properties: id: type: string format: uuid additionalProperties: false UpdateDataProtectionRegimeRequestDto: type: object properties: name: type: - string - 'null' relatedJurisdiction: type: - string - 'null' dataRetentionPeriod: allOf: - $ref: '#/components/schemas/DataRetentionPeriodDto' conditionalRetentionPeriods: type: - array - 'null' items: $ref: '#/components/schemas/DataRetentionPeriodDtoConditionalValueDto' additionalProperties: false ValidationErrorModelListServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/ValidationErrorModel' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data example: data: - propertyName: data errorMessage: Data is required attemptedValue: '' errorCode: NotNullValidator messages: - message: Data is required type: Error errorCode: Error Code StringServiceResponse: type: object properties: data: type: - string - 'null' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data ServiceResponse: type: object properties: data: type: - string - 'null' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data DataProtectionRegimeDto: type: object properties: id: type: string format: uuid name: type: - string - 'null' relatedJurisdiction: type: - string - 'null' dataRetentionPeriod: allOf: - $ref: '#/components/schemas/DataRetentionPeriodDto' conditionalRetentionPeriods: type: - array - 'null' items: $ref: '#/components/schemas/DataRetentionPeriodDtoConditionalValueDto' additionalProperties: false DataProtectionRegimeOverviewDto: type: object properties: id: type: string format: uuid name: type: - string - 'null' relatedJurisdiction: type: - string - 'null' dataRetentionPeriod: allOf: - $ref: '#/components/schemas/DataRetentionPeriodDto' hasConditionalRetentionPeriods: type: boolean additionalProperties: false DataProtectionRegimeDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/DataProtectionRegimeDto' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data DataProtectionRegimeOverviewDtoIEnumerableServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/DataProtectionRegimeOverviewDto' description: The service response DTO messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' description: List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response additionalProperties: false description: Service response data securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header x-refined-from: - fenergo-dataprotectioncommand-v1-0-openapi.json - fenergo-dataprotectionquery-v1-0-openapi.json