openapi: 3.2.0 info: title: Fenergo Nebula Data Protection Command Legal Hold Entity API description: '**Data Protection Command API**: Data Protection API provides both configurational and operational methods related to the client Data Protection policies. Use the Data Protection Command API to create and manage Jurisdictions. Use the Data Protection Query API to retrieve Jurisdtiction aggregates. **Data Protection API provides**: The ability to create, update and delete Data Protection Regimes.' version: '1.0' servers: - url: /dataprotectioncommand security: - Bearer: [] tags: - name: LegalHoldEntity paths: /api/legalholdentity/{id}: post: tags: - LegalHoldEntity summary: Create legal hold entity description: 'Initializes a new legal hold entity Initializes a legal hold entity. Required permissions: Following permissions are required: LegalHoldEdit' operationId: CreateLegalHoldEntity parameters: - name: id in: path description: Id of the entity for which legal hold entity will be created 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 Legal Hold entity request content: application/json: schema: allOf: - $ref: '#/components/schemas/CreateLegalHoldEntityDtoServiceRequest' description: Service request data responses: '202': description: Success. Legal Hold entity created '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 put: tags: - LegalHoldEntity summary: Update legal hold entity description: 'Updates an existing legal hold entity. Required permissions: Following permissions are required: LegalHoldEdit' operationId: UpdateLegalHoldEntity parameters: - name: id in: path description: Legal hold entity 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 legal hold entity request content: application/json: schema: allOf: - $ref: '#/components/schemas/UpdateLegalHoldEntityDtoServiceRequest' description: Service request data responses: '202': description: Success. Legal hold entity 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. Legal hold entity 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/legalholdentity/{id}/delete: post: tags: - LegalHoldEntity summary: Delete legal hold entity description: 'Deletes the selected legal hold entity. Required permissions: Following permissions are required: LegalHoldDelete' operationId: DeleteLegalHoldEntity parameters: - name: id in: path description: Id of the entity 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: Delete legal hold entity request content: application/json: schema: allOf: - $ref: '#/components/schemas/DeleteLegalHoldEntityDtoServiceRequest' description: Service request data responses: '202': description: Success. Legal hold entity 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. Legal hold entity 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: 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 UpdateLegalHoldEntityDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/UpdateLegalHoldEntityDto' description: The service request DTO additionalProperties: false description: Service request data CreateLegalHoldEntityDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/CreateLegalHoldEntityDto' description: The service request DTO additionalProperties: false description: Service request data DeleteLegalHoldEntityDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/DeleteLegalHoldEntityDto' 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 CreateLegalHoldEntityDto: type: object properties: reasonId: type: string format: uuid reasonName: type: - string - 'null' details: type: - string - 'null' durationMonths: type: integer format: int32 responsibleTeamId: type: string format: uuid startDate: type: string format: date-time additionalProperties: false UpdateLegalHoldEntityDto: type: object properties: reasonId: type: string format: uuid reasonName: type: - string - 'null' details: type: - string - 'null' durationMonths: type: integer format: int32 responsibleTeamId: type: string format: uuid additionalProperties: false 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 DeleteLegalHoldEntityDto: type: object properties: removalReason: type: - string - 'null' 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 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 securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header