openapi: 3.2.0 info: title: Fenergo Product Draft API version: '1.0' description: 'Operations tagged ProductDraft across 2 of this provider''s published API definitions: fenergo-productcommand-v1-0-openapi.json, fenergo-productquery-v1-0-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: /productcommand - url: /productquery security: - Bearer: [] tags: - name: ProductDraft paths: /api/product/{productId}/draft/journey/{journeyId}: post: tags: - ProductDraft summary: Creates a product draft description: 'This method creates a Product Draft and stores the data related to the product. The method returns an object containing some basic information as the result to the user, type and status. The returned Id can be used in the query api to get the product. Required permissions: Following permissions are required: ProductEdit' operationId: CreateProductDraft parameters: - name: productId in: path description: The id of the product record that is the source for this draft required: true schema: type: string format: uuid - name: journeyId in: path description: The id of the product record that is the source for this draft 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: An instance of the Fenergo.Nebula.Product.Command.Application.Dto.ProductDraftDto class with some metadata that represent the Product Draft created content: application/json: schema: $ref: '#/components/schemas/ProductDraftDtoServiceResponse' '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '500': description: Internal server error '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: /productcommand /api/product/{productId}/draft/{id}: put: tags: - ProductDraft summary: Update product draft description: 'Updates an existing product draft. Required permissions: Following permissions are required: ProductEdit' operationId: UpdateProductDraft parameters: - name: productId in: path description: Product id required: true schema: type: string format: uuid - name: id in: path description: Product draft 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 product draft request. Must contain product draft properties content: application/json: schema: allOf: - $ref: '#/components/schemas/UpdateProductDraftDtoServiceRequest' responses: '202': description: Success. Product draft updated content: application/json: schema: $ref: '#/components/schemas/ProductDraftUpdatedDtoServiceResponse' '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '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 '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found. Product/Product draft 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: - ProductDraft summary: Deletes a product draft and its information from the database description: 'Required permissions: Following permissions are required: ProductEdit' operationId: DeleteProductDraft parameters: - name: productId in: path description: Product id required: true schema: type: string format: uuid - name: id in: path description: Product draft 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: Product draft deleted successfully '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 '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found type: Error errorCode: Error Code '400': description: Product draft not found '500': description: Internal server error '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: /productcommand /api/product/{productId}/draft/{id}/save-without-validation: put: tags: - ProductDraft summary: Update product draft without validation (auto-save) description: 'Updates an existing product draft without validation. Used for auto-saving user''s work in progress. This endpoint allows saving partial data without enforcing mandatory field validation. Required permissions: Following permissions are required: ProductEdit' operationId: UpdateProductDraftWithoutValidation parameters: - name: productId in: path description: Product id required: true schema: type: string format: uuid - name: id in: path description: Product draft 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 product draft request. Must contain product draft properties content: application/json: schema: allOf: - $ref: '#/components/schemas/UpdateProductDraftWithoutValidationDtoServiceRequest' responses: '202': description: Success. Product draft saved content: application/json: schema: $ref: '#/components/schemas/ProductDraftSavedDtoServiceResponse' '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 '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found. Product/Product draft with given id does not exist type: Error errorCode: Error Code '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 servers: - url: /productcommand /api/product/{productId}/draft/{id}/verify: put: tags: - ProductDraft summary: Verify product draft description: 'Verifies an product draft record. Required permissions: Following permissions are required: ProductApprove' operationId: VerifyProductDraft parameters: - name: id in: path description: product draft id required: true schema: type: string format: uuid - name: productId in: path description: the id of the product record 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. Product draft verified '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 '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. Product/Product draft 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 servers: - url: /productcommand /api/product/draft/{productDraftId}: get: tags: - ProductDraft summary: Get product draft by id description: 'Returns product draft for a given draft id. Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductDraftById parameters: - name: productDraftId in: path description: Product draft 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. Product draft is returned content: application/json: schema: $ref: '#/components/schemas/ProductDraftDtoServiceResponse_2' '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. Product/Product draft 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 servers: - url: /productquery /api/product/draft/{productId}/{productDraftId}: get: tags: - ProductDraft summary: Get product draft by id and productId description: 'Returns product draft for a given product id and draft id. Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductDraftByProductId parameters: - name: productDraftId in: path description: Product draft id required: true schema: type: string format: uuid - name: productId in: path description: Product 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. Product draft is returned content: application/json: schema: $ref: '#/components/schemas/ProductDraftDtoServiceResponse_2' '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. Product/Product draft 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 servers: - url: /productquery /api/product/draft/list: post: tags: - ProductDraft summary: Get product drafts by ids description: 'Returns product drafts for a given ids. Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductDraftByIds 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: Product draft ids content: application/json: schema: allOf: - $ref: '#/components/schemas/ProductDraftListQueryDtoServiceRequest' required: true responses: '200': description: Success. Product drafts is returned content: application/json: schema: $ref: '#/components/schemas/ProductDraftDtoIEnumerableServiceResponse' '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 type: Error errorCode: Error Code '500': description: Internal server error '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: /productquery /api/product/draft/journey/{journeyId}: get: tags: - ProductDraft summary: Get product drafts by journey description: 'Returns product drafts for journey Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductDraftsByJourney parameters: - name: journeyId in: path description: Journey 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. Product drafts is returned content: application/json: schema: $ref: '#/components/schemas/ProductDraftDtoIEnumerableServiceResponse' '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 type: Error errorCode: Error Code '500': description: Internal server error '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: /productquery /api/product/draft/journey/{journeyId}/summaries: post: tags: - ProductDraft summary: Get lightweight product summaries by journey for side panel display description: 'Returns lightweight product summaries by journey, optimized for side panel display. This endpoint intentionally excludes full Properties, Jurisdictions, RiskAssessments, and AccessLayers. Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductSummariesByJourney parameters: - name: journeyId in: path description: Journey 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: Optional request containing secondary identifier property names to include content: application/json: schema: allOf: - $ref: '#/components/schemas/GetProductSummariesRequestDtoServiceRequest' responses: '200': description: Success. Product summaries are returned content: application/json: schema: $ref: '#/components/schemas/ProductSummaryDtoIEnumerableServiceResponse' '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 type: Error errorCode: Error Code '500': description: Internal server error '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: /productquery /api/product/draft/journey/{journeyId}/all: get: tags: - ProductDraft summary: Get all product drafts by journey description: 'Returns all product drafts for journey inc. deleted drafts Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetAllProductDraftsByJourney parameters: - name: journeyId in: path description: Journey 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. Product drafts is returned content: application/json: schema: $ref: '#/components/schemas/ProductDraftDtoIEnumerableServiceResponse' '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 type: Error errorCode: Error Code '500': description: Internal server error '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: /productquery /api/product/draft/product/{id}: get: tags: - ProductDraft summary: Get active product drafts by product Id description: 'Returns active product drafts by product Id Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductDraftsByProductId parameters: - name: id in: path description: Product 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. Active product drafts are returned content: application/json: schema: $ref: '#/components/schemas/ProductDraftDtoIEnumerableServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found type: Error errorCode: Error Code '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '500': description: Internal server error '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: /productquery /api/product/draft/product/{id}/all: get: tags: - ProductDraft summary: Get all product drafts by product Id description: 'Returns all product drafts by product Id Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetAllProductDraftsByProductId parameters: - name: id in: path description: Product 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: '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '200': description: Success. Product drafts are returned content: application/json: schema: $ref: '#/components/schemas/ProductDraftDtoIEnumerableServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found type: Error errorCode: Error Code '500': description: Internal server error '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: /productquery /api/product/draft/proposedChanges/{id}: get: tags: - ProductDraft summary: Get proposed changes between a product draft and the verified product the draft… description: 'Return proposed changes between product draft and product Required permissions: Following permissions are required: ProductProposedChangesAccess' operationId: GetProductDraftProposedChanges parameters: - name: id in: path description: Product Draft 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: OK content: application/json: schema: $ref: '#/components/schemas/DataChangesDtoListServiceResponse' '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. Product draft with given id does not exist type: Error errorCode: Error Code '202': description: Success. Product proposed changes retrieved '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: /productquery /api/product/draft/journey/{journeyId}/list: post: tags: - ProductDraft summary: Get product drafts by journey and product ids description: 'Returns product drafts for journey filtering by product ids Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductDraftsByJourneyAndProductIds parameters: - name: journeyId in: path description: Journey id required: true schema: type: string - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/GetDraftsByJourneyAndProductIdsDtoServiceRequest' required: true responses: '200': description: Success. Product drafts is returned content: application/json: schema: $ref: '#/components/schemas/ProductDraftDtoItemsPageServiceResponse' '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 type: Error errorCode: Error Code '500': description: Internal server error '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: /productquery /api/product/draft/journey/{journeyId}/validate-all: post: tags: - ProductDraft summary: Validate all product drafts by journey description: 'Validates all product drafts for a given journey and returns validation results for drafts that failed validation. Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: ValidateAllProductDraftsByJourney parameters: - name: journeyId in: path description: Journey id required: true schema: type: string format: uuid - name: taskId in: query 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: Accepted. All product drafts passed validation content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '200': description: Success. Validation results returned for drafts that failed validation content: application/json: schema: $ref: '#/components/schemas/ProductDraftValidationResultDtoListServiceResponse' '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 type: Error errorCode: Error Code '500': description: Internal server error '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: /productquery components: schemas: ProductDraftDto: type: object properties: id: type: string description: The Product Id format: uuid example: e1809731-77df-4e72-98e7-0d314b7a5151 type: type: - string - 'null' description: The Product Type example: Loans family: type: - string - 'null' description: The Product Family example: Trading properties: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/PropertyDto' description: 'List of custom properties for a product separate from the standard out of the box properties.' example: firstName: type: Single value: Tom dateOfBirth: type: Single value: '2021-07-15' address: type: Collection dataGroupId: 674ccef1-cfdc-46af-97f8-340b24ab7f43 collections: 54a25d24-1a4b-45c6-a5b4-980e5d3a1df5: properties: country: Spain city: Madrid street: C. de Sevilla 93468632-1a9e-4ad0-b2e1-c5ec0f65d7b2: properties: country: Spain city: Barcelona street: Carrer de Girona status: type: - string - 'null' description: The Product Draft Status example: Active sourceProductVersion: type: integer description: The Version of Product that draft was made for format: int32 example: 1 conflictsResolvedSourceProductVersion: type: integer description: Conflict Resolved version format: int32 example: 1 sourceProductId: type: string description: ProductId for Product Draft format: uuid journeyId: type: string description: JourneyId for Product Draft format: uuid version: type: integer description: Version of the Product Draft format: int32 createdDate: type: - string - 'null' description: DateTime of the created Product format: date-time productAccessLayers: allOf: - $ref: '#/components/schemas/ProductAccessLayerDto' description: The list of the product access layers onboardedDate: type: - string - 'null' description: Date when product was first successfully verified (onboarded) format: date-time offboardedDate: type: - string - 'null' description: Date when product was successfully verified as offboarded format: date-time lastUpdatedDate: type: - string - 'null' description: Most recent date when product was successfully verified after modification format: date-time additionalProperties: false description: "Class to represent the product uploaded. \nContains all properties needed to fill the metadata of the product being uploaded." PropertyDto: required: - discriminator - type type: object properties: type: allOf: - $ref: '#/components/schemas/PropertyType' readOnly: true discriminator: allOf: - $ref: '#/components/schemas/PropertyType' readOnly: true isValid: type: - boolean - 'null' additionalProperties: false ProductAccessLayerDetailsDto: type: object properties: dataKey: type: - string - 'null' additionalProperties: false ProductDraftDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/ProductDraftDto' description: "Class to represent the product uploaded. \nContains all properties needed to fill the metadata of the product being uploaded." messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false ProductAccessLayerDto: type: object properties: geographic: type: - array - 'null' items: type: string businessRelated: type: - array - 'null' items: type: string geographicDetails: type: - array - 'null' items: $ref: '#/components/schemas/ProductAccessLayerDetailsDto' businessRelatedDetails: type: - array - 'null' items: $ref: '#/components/schemas/ProductAccessLayerDetailsDto' additionalProperties: false ServiceResponse: type: object properties: data: type: - string - 'null' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false ProductDraftUpdatedDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/ProductDraftUpdatedDto' description: Response DTO representing updated product draft messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false ProductDraftUpdatedDto: type: object properties: version: type: integer description: Version of product draft after update format: int32 example: 4 additionalProperties: false description: Response DTO representing updated product draft VersionedJurisdictionDto: type: object properties: jurisdiction: type: - string - 'null' versionId: type: string format: uuid additionalProperties: false UpdateProductDraftWithoutValidationDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/UpdateProductDraftWithoutValidationDto' description: DTO for updating product draft without validation (auto-save) additionalProperties: false ValidationErrorModelListServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/ValidationErrorModel' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false example: data: - propertyName: data errorMessage: Data is required attemptedValue: '' errorCode: NotNullValidator messages: - message: Data is required type: Error errorCode: Error Code ObjectServiceResponse: type: object properties: data: {} messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false StringServiceResponse: type: object properties: data: type: - string - 'null' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false PropertyType: enum: - Single - Custom - Collection type: string UpdateProductDraftDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/UpdateProductDraftDto' description: "Class to represent the product uploaded. \nContains all properties needed to fill the metadata of the product being uploaded." additionalProperties: false ProductDraftSavedDto: type: object properties: version: type: integer description: The version of the saved draft format: int32 success: type: boolean description: Indicates if the save was successful additionalProperties: false description: Response for product draft saved without validation ValidationErrorModel: type: object properties: propertyName: type: - string - 'null' errorMessage: type: - string - 'null' attemptedValue: {} errorCode: type: - string - 'null' additionalProperties: false ServiceResponseMessage: type: object properties: message: type: - string - 'null' type: type: - string - 'null' errorCode: type: - string - 'null' additionalProperties: false UpdateProductDraftWithoutValidationDto: type: object properties: id: type: string description: The Product Id format: uuid type: type: - string - 'null' description: The Product Type family: type: - string - 'null' description: The Product Family properties: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/PropertyDto' description: List of custom properties for a product example: firstName: type: Single value: Tom dateOfBirth: type: Single value: '2021-07-15' address: type: Collection dataGroupId: 674ccef1-cfdc-46af-97f8-340b24ab7f43 collections: 54a25d24-1a4b-45c6-a5b4-980e5d3a1df5: properties: country: Spain city: Madrid street: C. de Sevilla 93468632-1a9e-4ad0-b2e1-c5ec0f65d7b2: properties: country: Spain city: Barcelona street: Carrer de Girona status: type: - string - 'null' description: The Product Draft Status sourceProductVersion: type: integer description: The Version of Product that draft was made for format: int32 version: type: - integer - 'null' description: The version of the updated draft format: int32 jurisdictions: type: - array - 'null' items: $ref: '#/components/schemas/VersionedJurisdictionDto' description: Collection of policy jurisdictions taskId: type: - string - 'null' description: Id of the Manage Product task format: uuid updateEntityDataJurisdictions: type: boolean description: If set to True Entity Data Jurisdictions will be evaluated after update entityProperties: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/PropertyDto' description: EntityData properties example: firstName: type: Single value: Tom dateOfBirth: type: Single value: '2021-07-15' address: type: Collection dataGroupId: 674ccef1-cfdc-46af-97f8-340b24ab7f43 collections: 54a25d24-1a4b-45c6-a5b4-980e5d3a1df5: properties: country: Spain city: Madrid street: C. de Sevilla 93468632-1a9e-4ad0-b2e1-c5ec0f65d7b2: properties: country: Spain city: Barcelona street: Carrer de Girona productAccessLayers: allOf: - $ref: '#/components/schemas/ProductAccessLayerDto' description: Product access layers additionalProperties: false description: DTO for updating product draft without validation (auto-save) UpdateProductDraftDto: type: object properties: id: type: string description: The Product Id format: uuid example: e1809731-77df-4e72-98e7-0d314b7a5151 type: type: - string - 'null' description: The Product Type example: Loans family: type: - string - 'null' description: The Product Family example: Trading properties: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/PropertyDto' description: 'List of custom properties for a product separate from the standard out of the box properties.' example: firstName: type: Single value: Tom dateOfBirth: type: Single value: '2021-07-15' address: type: Collection dataGroupId: 674ccef1-cfdc-46af-97f8-340b24ab7f43 collections: 54a25d24-1a4b-45c6-a5b4-980e5d3a1df5: properties: country: Spain city: Madrid street: C. de Sevilla 93468632-1a9e-4ad0-b2e1-c5ec0f65d7b2: properties: country: Spain city: Barcelona street: Carrer de Girona status: type: - string - 'null' description: The Product Draft Status example: Active sourceProductVersion: type: integer description: The Version of Product that draft was made for format: int32 example: 1 version: type: - integer - 'null' description: The version of the updated draft format: int32 jurisdictions: type: - array - 'null' items: $ref: '#/components/schemas/VersionedJurisdictionDto' description: Collection of policy jurisdictions categories: type: - array - 'null' items: type: string description: Collection of categories of passed properties, if null then use all isUpdateEnforced: type: boolean description: Checks if the product draft has been saved or completed isRelatedPartiesEnabled: type: boolean description: Checks if related parties grid has been enabled isDocumentsEnabled: type: boolean description: Checks if documents tab has been enabled taskId: type: - string - 'null' description: Id of the Manage Product task format: uuid sourceEntityId: type: - string - 'null' description: Id of entity that created the Product format: uuid updateEntityDataJurisdictions: type: boolean description: If set to True Entity Data Jurisdictions will be evaluated after update skipMandatoryValidationFieldsNotInPayload: type: boolean description: SkipMandatoryValidationFieldsNotInPayload entityProperties: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/PropertyDto' description: EntityData properties used for rules evaluation example: firstName: type: Single value: Tom dateOfBirth: type: Single value: '2021-07-15' address: type: Collection dataGroupId: 674ccef1-cfdc-46af-97f8-340b24ab7f43 collections: 54a25d24-1a4b-45c6-a5b4-980e5d3a1df5: properties: country: Spain city: Madrid street: C. de Sevilla 93468632-1a9e-4ad0-b2e1-c5ec0f65d7b2: properties: country: Spain city: Barcelona street: Carrer de Girona relatedInvestmentManagerDataSourceProperties: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/PropertyDto' description: Properties for the Related Investment Manager Data Source example: firstName: type: Single value: Tom dateOfBirth: type: Single value: '2021-07-15' address: type: Collection dataGroupId: 674ccef1-cfdc-46af-97f8-340b24ab7f43 collections: 54a25d24-1a4b-45c6-a5b4-980e5d3a1df5: properties: country: Spain city: Madrid street: C. de Sevilla 93468632-1a9e-4ad0-b2e1-c5ec0f65d7b2: properties: country: Spain city: Barcelona street: Carrer de Girona currentProductMetadataProperties: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/PropertyDto' description: Properties for the Current Product Metadata Data Source example: firstName: type: Single value: Tom dateOfBirth: type: Single value: '2021-07-15' address: type: Collection dataGroupId: 674ccef1-cfdc-46af-97f8-340b24ab7f43 collections: 54a25d24-1a4b-45c6-a5b4-980e5d3a1df5: properties: country: Spain city: Madrid street: C. de Sevilla 93468632-1a9e-4ad0-b2e1-c5ec0f65d7b2: properties: country: Spain city: Barcelona street: Carrer de Girona relatedUnderlyingPrincipalOwnerProperties: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/PropertyDto' description: Properties for the Underlying Principal Owner Data Source example: firstName: type: Single value: Tom dateOfBirth: type: Single value: '2021-07-15' address: type: Collection dataGroupId: 674ccef1-cfdc-46af-97f8-340b24ab7f43 collections: 54a25d24-1a4b-45c6-a5b4-980e5d3a1df5: properties: country: Spain city: Madrid street: C. de Sevilla 93468632-1a9e-4ad0-b2e1-c5ec0f65d7b2: properties: country: Spain city: Barcelona street: Carrer de Girona productAccessLayers: allOf: - $ref: '#/components/schemas/ProductAccessLayerDto' description: Product access layers additionalProperties: false description: "Class to represent the product uploaded. \nContains all properties needed to fill the metadata of the product being uploaded." ProductDraftSavedDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/ProductDraftSavedDto' description: Response for product draft saved without validation messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false GetProductSummariesRequestDto: type: object properties: secondaryIdentifierPropertyNames: type: - array - 'null' items: type: string description: 'Optional list of property names to include as secondary identifiers in the response. Only these properties will be extracted from each product for display in the side panel.' additionalProperties: false description: Request DTO for getting product summaries with optional secondary identifier filter. ProductDraftDto_2: allOf: - $ref: '#/components/schemas/ProductDraftLiteDto' - type: object properties: properties: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/PropertyDto_2' description: 'List of custom properties for a product separate from the standard out of the box properties.' additionalProperties: false description: "A Product object. \nContains all properties needed to fill the metadata of the product." ProductDraftLiteDto: type: object properties: id: type: string description: The Product Draft Id format: uuid example: e1809731-77df-4e72-98e7-0d314b7a5151 type: type: - string - 'null' description: The Product Type example: Loans family: type: - string - 'null' description: The Product Family example: Trading status: type: - string - 'null' description: The Product Draft Status example: Active sourceProductVersion: type: integer description: The Version of Product that draft was made for format: int32 example: 1 conflictsResolvedSourceProductVersion: type: integer description: Conflict Resolved version format: int32 example: 1 sourceProductId: type: string description: The Product Id format: uuid example: e1809731-77df-4e72-98e7-0d314b7a5151 journeyId: type: string description: Id of the related Journey format: uuid example: e1809731-77df-4e72-98e7-0d314b7a5151 version: type: integer description: Version of the Product Draft format: int32 createdDate: type: - string - 'null' description: DateTime of the created Product format: date-time jurisdictions: type: - array - 'null' items: $ref: '#/components/schemas/VersionedJurisdictionDto' description: List of jurisdictions that this draft is using riskAssessments: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/RiskAssessmentLinkDto' description: Collection of risk assessments calculated for this product grouped by riskScore prop name currentLifecycleStatus: type: - string - 'null' description: UI Status of draft within journey example: In Review transferedJourneyId: type: - string - 'null' description: The Id of the Journey the draft was transfered to format: uuid productAccessLayers: allOf: - $ref: '#/components/schemas/ProductAccessLayerDto' description: The list of the product access layers onboardedDate: type: - string - 'null' description: Date when product was first successfully verified (onboarded) format: date-time offboardedDate: type: - string - 'null' description: Date when product was successfully verified as offboarded format: date-time lastUpdatedDate: type: - string - 'null' description: Most recent date when product was successfully verified after modification format: date-time additionalProperties: false description: "A Product object. \nContains all properties needed to fill the metadata of the product." RiskAssessmentLinkDto: type: object properties: taskId: type: string format: uuid productDraftId: type: string format: uuid additionalProperties: false ProductDraftDtoItemsPageServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/ProductDraftDtoItemsPage' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false AccessLayerDto: type: object properties: geographic: type: - array - 'null' items: type: string businessRelated: type: - array - 'null' items: type: string additionalProperties: false PropertyDto_2: required: - discriminator - type type: object properties: discriminator: allOf: - $ref: '#/components/schemas/PropertyType' readOnly: true type: allOf: - $ref: '#/components/schemas/PropertyType' readOnly: true isValid: type: - boolean - 'null' additionalProperties: false discriminator: propertyName: discriminator mapping: Collection: '#/components/schemas/CollectionPropertyDto' Custom: '#/components/schemas/CustomPropertyDto' Single: '#/components/schemas/SinglePropertyDto' CustomPropertyValidationResponseDto: type: object properties: propertyName: type: - string - 'null' propertyValue: type: - string - 'null' errorMessage: type: - string - 'null' additionalProperties: false ProductSummaryDto: type: object properties: id: type: string description: The Product Draft Id format: uuid example: e1809731-77df-4e72-98e7-0d314b7a5151 sourceProductId: type: string description: The Product Id format: uuid example: e1809731-77df-4e72-98e7-0d314b7a5151 type: type: - string - 'null' description: The Product Type example: Loans family: type: - string - 'null' description: The Product Family example: Trading status: type: - string - 'null' description: The Product Draft Status example: Active currentLifecycleStatus: type: - string - 'null' description: UI Status of draft within journey example: In Review transferedJourneyId: type: - string - 'null' description: The Id of the Journey the draft was transferred to format: uuid secondaryIdentifiers: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/PropertyDto_2' description: 'Secondary identifier properties for display in the side panel. Only includes properties marked as secondary identifiers in requirements.' onboardedDate: type: - string - 'null' description: Date when product was first successfully verified (onboarded) format: date-time offboardedDate: type: - string - 'null' description: Date when product was successfully verified as offboarded format: date-time lastUpdatedDate: type: - string - 'null' description: Most recent date when product was successfully verified after modification format: date-time additionalProperties: false description: 'A lightweight Product summary object for side panel display. Contains only the properties needed to render the product list.' ProductDraftDtoServiceResponse_2: type: object properties: data: allOf: - $ref: '#/components/schemas/ProductDraftDto_2' description: "A Product object. \nContains all properties needed to fill the metadata of the product." messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false EvaluatedDataRequirementDto: type: object properties: id: type: string format: uuid propertyName: type: - string - 'null' propertyType: type: - string - 'null' propertyTypeId: type: - string - 'null' format: uuid linkChildFieldPropertyName: type: - string - 'null' linkedParentFieldPropertyName: type: - string - 'null' externalSearchApiProviderId: type: - string - 'null' format: uuid name: type: - string - 'null' description: type: - string - 'null' hasEvaluatedDefaultValue: type: boolean defaultValue: type: - string - 'null' isReadOnly: type: boolean category: type: - string - 'null' validationData: allOf: - $ref: '#/components/schemas/ValidationData' isRequired: type: boolean order: type: - number - 'null' format: double hasEvaluatedConditionalValue: type: boolean evaluatedConditionalValue: type: - string - 'null' isMasked: type: boolean isConditional: type: boolean isSensitiveData: type: boolean jurisdiction: type: - string - 'null' isIndexable: type: boolean fieldAccessLayers: allOf: - $ref: '#/components/schemas/AccessLayerDto' additionalProperties: false ValueLimitRule: type: object properties: active: type: boolean message: type: - string - 'null' minValue: type: - integer - 'null' format: int32 maxValue: type: - integer - 'null' format: int32 additionalProperties: false ExternalProviderRule: type: object properties: active: type: boolean message: type: - string - 'null' providerId: type: string format: uuid additionalProperties: false DataChangesDtoListServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/DataChangesDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false PropertiesValidatorResponse: required: - discriminator type: object properties: discriminator: type: string usedJurisdictions: type: - array - 'null' items: $ref: '#/components/schemas/VersionedJurisdictionDto' version: type: integer format: int32 isValid: type: boolean messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' propertyValidationResponse: type: - array - 'null' items: $ref: '#/components/schemas/CustomPropertyValidationResponseDto' productId: type: string format: uuid evaluatedDataRequirements: type: - array - 'null' items: $ref: '#/components/schemas/EvaluatedDataRequirementDto' autoClearedFields: type: - array - 'null' items: $ref: '#/components/schemas/AutoClearedFieldDto' additionalProperties: false discriminator: propertyName: discriminator mapping: PropertiesValidatorResponse: '#/components/schemas/PropertiesValidatorResponse' LookupValidatorResponse: '#/components/schemas/LookupValidatorResponse' ProductDraftValidationResultDtoListServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/ProductDraftValidationResultDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false ProductSummaryDtoIEnumerableServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/ProductSummaryDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false GetProductSummariesRequestDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/GetProductSummariesRequestDto' description: Request DTO for getting product summaries with optional secondary identifier filter. additionalProperties: false GetDraftsByJourneyAndProductIdsDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/GetDraftsByJourneyAndProductIdsDto' additionalProperties: false ValidationData: type: object properties: isMandatory: allOf: - $ref: '#/components/schemas/BasicRule' specialCharacters: allOf: - $ref: '#/components/schemas/SpecialCharactersRule' noNumbers: allOf: - $ref: '#/components/schemas/BasicRule' onlyInteger: allOf: - $ref: '#/components/schemas/BasicRule' noNegative: allOf: - $ref: '#/components/schemas/BasicRule' onlyDecimal: allOf: - $ref: '#/components/schemas/BasicRule' regex: allOf: - $ref: '#/components/schemas/RegexRule' characterLimit: allOf: - $ref: '#/components/schemas/ValueLimitRule' numberLimit: allOf: - $ref: '#/components/schemas/ValueLimitRule' noFutureDates: allOf: - $ref: '#/components/schemas/BasicRule' noPastDates: allOf: - $ref: '#/components/schemas/BasicRule' multiSelectLimit: allOf: - $ref: '#/components/schemas/ValueLimitRule' collectionMinimumCount: allOf: - $ref: '#/components/schemas/CollectionMinimumCountRule' collectionMaximumCount: allOf: - $ref: '#/components/schemas/CollectionMaximumCountRule' externalProvider: allOf: - $ref: '#/components/schemas/ExternalProviderRule' externalDataGroupProvider: allOf: - $ref: '#/components/schemas/ExternalProviderRule' disallowTodaysDate: allOf: - $ref: '#/components/schemas/BasicRule' dateLimit: allOf: - $ref: '#/components/schemas/DateLimitRule' additionalProperties: false SpecialCharactersRule: type: object properties: active: type: boolean message: type: - string - 'null' excludedCharacters: type: - array - 'null' items: type: string additionalProperties: false PageOptions: type: object properties: paginationToken: type: - string - 'null' pageSize: type: integer format: int32 sortOrder: allOf: - $ref: '#/components/schemas/SortOrder' additionalProperties: false DateLimitRule: type: object properties: active: type: boolean message: type: - string - 'null' minDate: type: - string - 'null' format: date-time maxDate: type: - string - 'null' format: date-time rangeFrom: allOf: - $ref: '#/components/schemas/DateLimitRangeData' rangeTo: allOf: - $ref: '#/components/schemas/DateLimitRangeData' additionalProperties: false SortOrder: enum: - Ascending - Descending type: string RegexRule: type: object properties: active: type: boolean message: type: - string - 'null' isCaseSensitive: type: boolean regexValue: type: - string - 'null' additionalProperties: false ProductDraftDtoItemsPage: type: object properties: items: type: - array - 'null' items: $ref: '#/components/schemas/ProductDraftDto_2' paginationToken: type: - string - 'null' additionalProperties: false AutoClearedFieldDto: type: object properties: propertyName: type: - string - 'null' parentPropertyName: type: - string - 'null' collectionItemKey: type: - string - 'null' additionalProperties: false DataChangesDto: type: object properties: dataKey: type: - string - 'null' description: Property Datakey existingValue: allOf: - $ref: '#/components/schemas/PropertyDto_2' description: Existing value newValue: allOf: - $ref: '#/components/schemas/PropertyDto_2' description: New value changeType: type: - string - 'null' description: "Type of change \nOne of Add, Delete, Edit, Indentical" additionalProperties: false description: Class to represent data conflicts ProductDraftListQueryDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/ProductDraftListQueryDto' additionalProperties: false CollectionMinimumCountRule: type: object properties: active: type: boolean message: type: - string - 'null' requiredTypesMinCount: type: - object - 'null' additionalProperties: type: integer format: int32 overallMinimumCount: type: integer format: int32 additionalProperties: false BasicRule: type: object properties: active: type: boolean message: type: - string - 'null' additionalProperties: false ProductDraftValidationResultDto: type: object properties: productDraftId: type: string description: Product Draft Id format: uuid productId: type: string description: Product Id format: uuid journeyId: type: string description: Journey Id format: uuid type: type: - string - 'null' description: Product Type family: type: - string - 'null' description: Product Family validationResult: allOf: - $ref: '#/components/schemas/PropertiesValidatorResponse' description: Validation result additionalProperties: false description: Represents validation result for a single product draft CollectionMaximumCountRule: type: object properties: active: type: boolean message: type: - string - 'null' requiredTypesMaxCount: type: - object - 'null' additionalProperties: type: integer format: int32 overallMaximumCount: type: - integer - 'null' format: int32 additionalProperties: false DateLimitRangeData: type: object properties: type: type: - string - 'null' relativeTo: type: - string - 'null' source: type: - string - 'null' field: type: - string - 'null' offset: type: - string - 'null' periodType: type: - string - 'null' offsetPeriod: type: - string - 'null' additionalProperties: false GetDraftsByJourneyAndProductIdsDto: type: object properties: productIds: type: - array - 'null' items: type: string description: The list of Product Ids to fetch pageOptions: allOf: - $ref: '#/components/schemas/PageOptions' additionalProperties: false ProductDraftListQueryDto: type: object properties: ids: type: - array - 'null' items: type: string description: The list of Product Draft Ids to fetch additionalProperties: false ProductDraftDtoIEnumerableServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/ProductDraftDto_2' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header x-refined-from: - fenergo-productcommand-v1-0-openapi.json - fenergo-productquery-v1-0-openapi.json