openapi: 3.2.0 info: title: Fenergo Product API version: '1.0' description: 'Operations tagged Product 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: Product paths: /api/managedProduct: post: tags: - Product summary: Creates a managed product description: 'This method creates a managed product and stores the data related to the product. The method returns an object containing some basic information as the result to the user, and type. The returned Id can be used in the query api to get the product. Required permissions: Following permissions are required: ProductEdit' operationId: CreateManagedProduct 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: The create managed product request content: application/json: schema: allOf: - $ref: '#/components/schemas/ManagedProductDtoServiceRequest' responses: '202': description: An instance of the Fenergo.Nebula.Product.Command.Application.Features.CreateManagedProduct.ManagedProductDto class with some metadata that represent the managed product created content: application/json: schema: $ref: '#/components/schemas/ManagedProductDtoServiceResponse' '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: post: tags: - Product summary: Creates a product description: 'This method creates a product and stores the data related to the product. The method returns an object containing some basic information as the result to the user, and type. The returned Id can be used in the query api to get the product. Required permissions: Following permissions are required: ProductEdit' operationId: CreateProduct 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: The create product request content: application/json: schema: allOf: - $ref: '#/components/schemas/ProductDtoServiceRequest' responses: '202': description: An instance of the Fenergo.Nebula.Product.Command.Application.Features.CreateProduct.ProductDto class with some metadata that represent the product created content: application/json: schema: $ref: '#/components/schemas/ProductDtoServiceResponse' '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/{id}/clone: post: tags: - Product summary: Clones a product description: 'This method clones a product. The cloned product will remain within the same entity and journey as the source product. Required permissions: Following permissions are required: ProductEdit' operationId: CloneProduct parameters: - name: id in: path description: The Source Product Id which should be cloned 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: Parameters to clone the productd content: application/json: schema: allOf: - $ref: '#/components/schemas/CloneProductRequestDtoServiceRequest' responses: '202': description: An instance of the Fenergo.Nebula.Product.Command.Application.Dto.ProductDraftDto class with some metadata that represent the product 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' '429': description: Too many requests. The tenant has exceeded its API rate limit; wait and retry. 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/{id}: delete: tags: - Product summary: Deletes a product description: 'This method deletes a product record and all associated drafts. Only products with the Onboarding status can be deleted. Required permissions: Following permissions are required: ProductEdit' operationId: DeleteProduct parameters: - name: id in: path description: The Id of the product 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.Features.CreateProduct.ProductDto class with some metadata that represent the product created '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 '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 put: tags: - Product summary: Updates a Product Status to Approved (Verified) description: 'This method updates a product record status. Required permissions: Following permissions are required: ProductEdit' operationId: VerifyProduct parameters: - name: id in: path description: The Id of the product 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.Features.CreateProduct.ProductDto class with some metadata that represent the product created content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '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 get: tags: - Product summary: Get a product by id description: 'Returns product data for the specified product id Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductById parameters: - name: id in: path description: The Id of the existing Product required: true schema: type: string - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProductDtoServiceResponse' '400': description: Product Id is invalid content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: No Product was found type: Error errorCode: Error Code '500': description: An exception occurred while processing the command '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/{id}/reproject-reports: post: tags: - Product summary: Re-syncs a product to Advanced Reporting description: 'Re-emits the product''s current state to the Advanced Reporting projection, rebuilding its reports object if it is missing (for example after a reprojection skipped it). This is an idempotent ops/support action. Required permissions: Following permissions are required: ProductEdit' operationId: ReprojectReports parameters: - name: id in: path description: The Id of the product to re-sync to reporting. 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: The product was re-synced. The payload indicates whether a projection object was written. content: application/json: schema: $ref: '#/components/schemas/ReprojectReportsResponseDtoServiceResponse' '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: No product was found for the supplied id. 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: /productcommand /api/product/{id}/create-url-to-upload-file: post: tags: - Product summary: Create url to upload file. description: 'Creates url for file upload. Returns url that can be used to upload file. Required permissions: Following permissions are required: ProductEdit' operationId: CreateUrlToUploadFile 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 requestBody: description: Parameters to create url to upload content: application/json: schema: allOf: - $ref: '#/components/schemas/CreateUrlToUploadFileRequestDtoServiceRequest' responses: '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '202': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateUrlToUploadFileResponseDtoServiceResponse' '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/getProductsList: post: tags: - Product summary: Get a list of products with specific attributes description: 'Returns a product list, with only the data for the attributes specified Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductsList parameters: - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/ProductQueryDtoServiceRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProductDtoListServiceResponse' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '500': description: An exception occurred while processing the request '202': description: List of Fenergo.Nebula.Product.Domain.Models.ProductAggregate.ProductModel class containing products. '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/counts/serviced: get: tags: - Product summary: Get the tenant-wide count of products serviced description: 'Returns the count of products whose lifecycle status is Onboarded, tenant-wide Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetServicedProductsCount 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: OK content: application/json: schema: $ref: '#/components/schemas/ServicedProductsCountDtoServiceResponse' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '500': description: An exception occurred while processing the request '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/products-in-scope/{journeyInstanceId}: get: tags: - Product summary: Get products in scopes for journey description: 'Returns list of product ids in scope for journey Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductsInScopeForJourney parameters: - name: journeyInstanceId in: path 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/GuidIEnumerableServiceResponse' '400': description: Journey instance id is not valid content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found type: Error errorCode: Error Code '500': description: An exception occurred while processing the command '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/{entityId}/{journeyId}: get: tags: - Product summary: Get Product Data Sources description: 'Gets related product data sources Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductDataSources parameters: - name: entityId in: path description: The Id of the existing Entity required: true schema: type: string format: uuid - name: journeyId in: path description: The Id of the existing Journey 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: The created Fenergo.Nebula.Product.Query.Application.Queries.GetProductDataSourceResponse containing related products content: application/json: schema: $ref: '#/components/schemas/GetProductDataSourceResponseServiceResponse' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '500': description: An exception occurred while processing the request '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/{entityId}/{journeyId}/dataSourcesWithExcludedSubtypes: get: tags: - Product summary: Get Product Data Sources including the products associated with excluded types description: 'Gets related product data sources Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductDataSourceIncludingExcludedSubtypes parameters: - name: entityId in: path description: The Id of the existing Entity required: true schema: type: string format: uuid - name: journeyId in: path description: The Id of the existing Journey 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: The created Fenergo.Nebula.Product.Query.Application.Queries.GetProductDataSourceResponse containing related products content: application/json: schema: $ref: '#/components/schemas/GetProductDataSourceResponseServiceResponse' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '500': description: An exception occurred while processing the request '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/{entityId}/{journeyId}/{filterOutExcludedSubtype}/filterDraftsByEntityId: get: tags: - Product summary: Get Data Sources only from products associated to the specific entity description: 'Gets related product data sources Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductDataSourceFilteredByEntityId parameters: - name: entityId in: path description: The Id of the existing Entity required: true schema: type: string format: uuid - name: journeyId in: path description: The Id of the existing Journey required: true schema: type: string format: uuid - name: filterOutExcludedSubtype in: path description: '' required: true schema: type: boolean - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 responses: '200': description: The created Fenergo.Nebula.Product.Query.Application.Queries.GetProductDataSourceResponse containing related products content: application/json: schema: $ref: '#/components/schemas/GetProductDataSourceResponseServiceResponse' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '500': description: An exception occurred while processing the request '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/{entityId}/dataSources: get: tags: - Product summary: Get Product Data Sources By Entity Id description: 'Gets related product data sources by entity Id Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductDataSourcesByEntityId parameters: - name: entityId in: path description: The Id of the existing 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 responses: '200': description: The created Fenergo.Nebula.Product.Query.Application.Queries.GetProductDataSourceResponse containing related products content: application/json: schema: $ref: '#/components/schemas/GetProductDataSourceResponseServiceResponse' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '500': description: An exception occurred while processing the request '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/journey/{journeyId}/task/{taskId}: get: tags: - Product summary: Get a temporal products snapshot description: 'This method retrieves an object containing lists of products and drafts from S3 for a given taskId Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductsSnapshot parameters: - name: journeyId in: path description: The id of a journey that the products belong to required: true schema: type: string format: uuid - name: taskId in: path description: The id of a task that the products belong to 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/ProductSnapshotDtoServiceResponse' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '500': description: An exception occurred while processing the query '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found 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 '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/journey/{journeyId}/task/{taskId}/product/{productId}: get: tags: - Product summary: Get a temporal product associations snapshot description: 'This method retrieves a list of product associations from S3 for a given taskId Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetProductAssociationsSnapshot parameters: - name: journeyId in: path description: The id of a journey the products belong to required: true schema: type: string format: uuid - name: taskId in: path description: The id of a task the products belong to required: true schema: type: string format: uuid - name: productId in: path description: The id of a product the associations belong to 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/ProductAssociationSnapshotDtoIEnumerableServiceResponse' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '500': description: An exception occurred while processing the query '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found 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 '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/{productId}/pre-sign-urls: post: tags: - Product summary: Get pre-sign URLs for a file identifiers This endpoint is intended for use with… description: 'Returns URLs for each file identifier Required permissions: Following permissions are required: ProductAccessAndSearch' operationId: GetPreSignUrlForFileIdentifiers parameters: - name: productId in: path description: Deal 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: File identifiers request content: application/json: schema: allOf: - $ref: '#/components/schemas/GetPreSignUrlForFileIdentifiersRequestDtoServiceRequest' responses: '200': description: Success. Instance of property is returned content: application/json: schema: $ref: '#/components/schemas/GetPreSignUrlForFileIdentifiersResponseDtoServiceResponse' '403': description: Forbidden. User has no access to reveal property content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found. Deal or PropertyName with given id/name 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/ValidationErrorModelListServiceResponse' '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '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 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." CreateUrlToUploadFileRequestDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/CreateUrlToUploadFileRequestDto' additionalProperties: false CreateUrlToUploadFileResponseDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/CreateUrlToUploadFileResponseDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false ProductDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/ProductDto' 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 ManagedProductDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/ManagedProductDto' description: "Class to represent the managed 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 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 ProductDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/ProductDto' description: "Class to represent the product uploaded. \nContains all properties needed to fill the metadata of the product being uploaded." 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 ReprojectReportsResponseDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/ReprojectReportsResponseDto' description: Result of a product reports re-sync. 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 CloneProductRequestDto: type: object properties: entityId: type: string description: Id of the Entity format: uuid example: b73aecd4-6a11-4ca6-bcf0-c372c5b5da9b journeyId: type: string description: Id of the Journey format: uuid example: a43a93b3-bf8f-4899-8fe2-7439c92431da includeRelatedParties: type: boolean description: If set to true the product's related parties will be included in clone process example: false additionalProperties: false ManagedProductDto: allOf: - $ref: '#/components/schemas/ProductDto' - type: object properties: mrId: type: string description: The Managed Relationship Id format: uuid example: e1809731-77df-4e72-98e7-0d314b7a5151 agentId: type: string description: The Agent Id format: uuid example: e1809731-77df-4e72-98e7-0d314b7a5151 additionalProperties: false description: "Class to represent the managed product uploaded. \nContains all properties needed to fill the metadata of the product being uploaded." ServiceResponse: type: object properties: data: type: - string - 'null' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false ManagedProductDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/ManagedProductDto' description: "Class to represent the managed product uploaded. \nContains all properties needed to fill the metadata of the product being uploaded." additionalProperties: false CloneProductRequestDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/CloneProductRequestDto' additionalProperties: false VersionedJurisdictionDto: type: object properties: jurisdiction: type: - string - 'null' versionId: type: string format: uuid additionalProperties: false CreateUrlToUploadFileRequestDto: type: object properties: fileName: type: - string - 'null' description: File name example: file.png dataKey: type: - string - 'null' description: Requirement dataKey example: richTextEditorV1 isRootContent: type: boolean description: Identifier if it's requirement content productDraftId: type: string description: Product Draft Id format: uuid example: 2124efd2-3423-40f5-9bdb-fae66c7fa88a contentSize: type: integer description: File content size format: int64 example: 6892 additionalProperties: false CreateUrlToUploadFileResponseDto: type: object properties: url: type: - string - 'null' fileIdentifier: type: - string - 'null' additionalProperties: false 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 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 PropertyType: enum: - Single - Custom - Collection type: string ValidationErrorModel: type: object properties: propertyName: type: - string - 'null' errorMessage: type: - string - 'null' attemptedValue: {} errorCode: type: - string - 'null' additionalProperties: false ReprojectReportsResponseDto: type: object properties: productId: type: string format: uuid projectionWritten: type: boolean timestamp: type: string format: date-time additionalProperties: false description: Result of a product reports re-sync. ServiceResponseMessage: type: object properties: message: type: - string - 'null' type: type: - string - 'null' errorCode: type: - string - 'null' additionalProperties: false ProductDto: 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 alternateId: type: - string - 'null' description: Product Id from data migration 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 entityId: type: string description: The Entity Id format: uuid example: e1809731-77df-4e72-98e7-0d314b7a5151 journeyId: type: string description: The Journey Id format: uuid example: e1809731-77df-4e72-98e7-0d314b7a5151 categories: type: - array - 'null' items: type: string description: Collection of categories of passed properties, if null then use all 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 enforceValidation: type: boolean description: If set to true the data will be validated before saving performHardMandatoryValidation: type: boolean description: If set to true the hard mandatory fields will be validated at api level performLookupValidation: type: boolean description: If set to true the lookup validation will happen jurisdictions: type: - array - 'null' items: $ref: '#/components/schemas/VersionedJurisdictionDto' description: Optional list of Jurisdiction to skip jurisdiction evaluation and use the ones sent here 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." 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 ProductDtoListServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/ProductDto_2' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false RelatedProductDto: required: - properties type: object properties: properties: type: object additionalProperties: $ref: '#/components/schemas/PropertyDto_2' description: Generic properties setup in product policy productId: type: string description: The Id of the Product format: uuid lifecycleStatus: enum: - Onboarding - In Review - Onboarded - Offboarded - Offboarding - For Deletion type: - string - 'null' description: System field used in backend for status of a product in lifecycle relationshipTypes: type: - array - 'null' items: type: string description: System field used in backend for product of a product relationship 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 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' GetPreSignUrlForFileIdentifiersResponseDto: type: object properties: isRootContent: type: boolean urls: type: - object - 'null' additionalProperties: type: - string - 'null' additionalProperties: false ProductQueryDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/ProductQueryDto' additionalProperties: false GuidIEnumerableServiceResponse: type: object properties: data: type: - array - 'null' items: type: string format: uuid messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false GetPreSignUrlForFileIdentifiersResponseDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/GetPreSignUrlForFileIdentifiersResponseDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false GetPreSignUrlForFileIdentifiersRequestDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/GetPreSignUrlForFileIdentifiersRequestDto' additionalProperties: false ProductDataSourcesDto: type: object properties: relatedProducts: allOf: - $ref: '#/components/schemas/RelatedProductsDataSource' additionalProperties: false ProductQueryDto: type: object properties: ids: type: - array - 'null' items: type: string description: The list of Product Ids to fetch attributes: type: - array - 'null' items: type: string description: The list of attributes to fetch the data for additionalProperties: false ProductAssociationSnapshotDto: type: object properties: id: type: string format: uuid entityId: type: string format: uuid entityName: type: - string - 'null' entityType: type: - string - 'null' associationType: type: - string - 'null' additionalProperties: false ServicedProductsCountDto: type: object properties: count: type: integer description: The number of products serviced for the tenant. format: int64 additionalProperties: false description: Represents the tenant-wide count of products serviced (products whose lifecycle status is Onboarded). ProductSnapshotDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/ProductSnapshotDto' description: A ProductSnapshot object messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false RelatedProductsDataSource: type: object properties: products: type: - array - 'null' items: $ref: '#/components/schemas/RelatedProductDto' additionalProperties: false ServicedProductsCountDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/ServicedProductsCountDto' description: Represents the tenant-wide count of products serviced (products whose lifecycle status is Onboarded). messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false GetProductDataSourceResponse: type: object properties: dataSources: allOf: - $ref: '#/components/schemas/ProductDataSourcesDto' additionalProperties: false GetProductDataSourceResponseServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/GetProductDataSourceResponse' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false GetPreSignUrlForFileIdentifiersRequestDto: type: object properties: isRootContent: type: boolean dataKey: type: - string - 'null' fileIdentifiers: type: - array - 'null' items: type: string productDraftId: type: - string - 'null' format: uuid additionalProperties: false ProductDto_2: type: object properties: id: type: string description: The Product Id format: uuid example: e1809731-77df-4e72-98e7-0d314b7a5151 entityId: type: string description: The Id of the Entity this product was onboarded through format: uuid type: type: - string - 'null' description: The Product Type example: Loans family: type: - string - 'null' description: The Product Family example: Trading alternateId: type: - string - 'null' description: Product Id from data migration 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.' lifecycleStatus: enum: - Onboarding - In Review - Onboarded - Offboarded - Offboarding - For Deletion type: - string - 'null' description: The lifecycle status of the product jurisdictions: type: - array - 'null' items: $ref: '#/components/schemas/VersionedJurisdictionDto' description: List of versioned jurisdictions that product 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 readOnly: true 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." ProductSnapshotDto: type: object properties: products: type: - array - 'null' items: $ref: '#/components/schemas/ProductDto_2' description: List of products productDrafts: type: - array - 'null' items: $ref: '#/components/schemas/ProductDraftDto_2' description: List of product drafts additionalProperties: false description: A ProductSnapshot object ProductAssociationSnapshotDtoIEnumerableServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/ProductAssociationSnapshotDto' 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