{
"openapi": "3.0.1",
"info": {
"title": "Fenergo Nebula Product Query",
"description": "Product Query API is part of FenX eco-system to manage Product Data. All the operations require valid access token obtained from Identity service.",
"version": "1.0"
},
"servers": [
{
"url": "/productquery"
}
],
"paths": {
"/api/product/getProductsList": {
"post": {
"tags": [
"Product"
],
"summary": "Get a list of products with specific attributes",
"description": "\nReturns 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"
}
]
}
}
}
}
}
}
},
"/api/product/{id}": {
"get": {
"tags": [
"Product"
],
"summary": "Get a product by id",
"description": "\nReturns 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"
}
]
}
}
}
}
}
}
},
"/api/product/counts/serviced": {
"get": {
"tags": [
"Product"
],
"summary": "Get the tenant-wide count of products serviced",
"description": "\nReturns 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"
}
]
}
}
}
}
}
}
},
"/api/product/products-in-scope/{journeyInstanceId}": {
"get": {
"tags": [
"Product"
],
"summary": "Get products in scopes for journey",
"description": "\nReturns 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"
}
]
}
}
}
}
}
}
},
"/api/product/{entityId}/{journeyId}": {
"get": {
"tags": [
"Product"
],
"summary": "Get Product Data Sources",
"description": "\nGets 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"
}
]
}
}
}
}
}
}
},
"/api/product/{entityId}/{journeyId}/dataSourcesWithExcludedSubtypes": {
"get": {
"tags": [
"Product"
],
"summary": "Get Product Data Sources including the products associated with excluded types",
"description": "\nGets 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"
}
]
}
}
}
}
}
}
},
"/api/product/{entityId}/{journeyId}/{filterOutExcludedSubtype}/filterDraftsByEntityId": {
"get": {
"tags": [
"Product"
],
"summary": "Get Data Sources only from products associated to the specific entity",
"description": "\nGets 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"
}
]
}
}
}
}
}
}
},
"/api/product/{entityId}/dataSources": {
"get": {
"tags": [
"Product"
],
"summary": "Get Product Data Sources By Entity Id",
"description": "\nGets 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"
}
]
}
}
}
}
}
}
},
"/api/product/journey/{journeyId}/task/{taskId}": {
"get": {
"tags": [
"Product"
],
"summary": "Get a temporal products snapshot",
"description": "\nThis 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"
}
]
}
}
}
}
}
}
},
"/api/product/journey/{journeyId}/task/{taskId}/product/{productId}": {
"get": {
"tags": [
"Product"
],
"summary": "Get a temporal product associations snapshot",
"description": "\nThis 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"
}
]
}
}
}
}
}
}
},
"/api/product/{productId}/pre-sign-urls": {
"post": {
"tags": [
"Product"
],
"summary": "Get pre-sign URLs for a file identifiers\r\nThis endpoint is intended for use with the new DataField type - RichTextEditor.",
"description": "\nReturns 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"
}
]
}
}
}
}
}
}
},
"/api/product-access-layer/evaluate": {
"post": {
"tags": [
"ProductAccessLayer"
],
"summary": "Evaluate which Product access layers would be assigned for a given set of product field values.",
"description": "\nUsed by the Manage Products screen to warn users they would lose access to a product record\r\n before they save their changes. Evaluates Dynamic Configuration rules against the supplied product\r\n properties and returns the Geographic and BusinessRelated access layers that would be written to\r\n the product on save, along with a `ShouldApplyResultToProduct` flag indicating whether any\r\n rules matched. When `ShouldApplyResultToProduct` is `false`, no access layers are\r\n policy-enforced and the product is open-access.
Required permissions:
Following permissions are required: ProductAccessAndSearch",
"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 properties to evaluate",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EvaluateProductDynamicConfigurationRequestDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Success. Evaluated access layers are returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EvaluateProductDynamicConfigurationResponseDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"403": {
"description": "Access to resource is forbidden.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Access denied. Following permissions are required: Permission1, Permission2",
"type": "Forbidden",
"errorCode": "Error Code"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "Internal server exception. Please, contact your provider.",
"type": "Error",
"errorCode": "INTERNAL_SERVER_ERROR"
}
]
}
}
}
},
"410": {
"description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StringServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "This endpoint is obsolete and was terminated on yyyy-MM-dd",
"type": "Error",
"errorCode": "OBSOLETE_ENDPOINT"
}
]
}
}
}
}
}
}
},
"/api/product/draft/{productDraftId}": {
"get": {
"tags": [
"ProductDraft"
],
"summary": "Get product draft by id",
"description": "\nReturns 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"
}
}
}
},
"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"
}
]
}
}
}
}
}
}
},
"/api/product/draft/{productId}/{productDraftId}": {
"get": {
"tags": [
"ProductDraft"
],
"summary": "Get product draft by id and productId",
"description": "\nReturns 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"
}
}
}
},
"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"
}
]
}
}
}
}
}
}
},
"/api/product/draft/list": {
"post": {
"tags": [
"ProductDraft"
],
"summary": "Get product drafts by ids",
"description": "\nReturns 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"
}
]
}
}
}
}
}
}
},
"/api/product/draft/journey/{journeyId}": {
"get": {
"tags": [
"ProductDraft"
],
"summary": "Get product drafts by journey",
"description": "\nReturns 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"
}
]
}
}
}
}
}
}
},
"/api/product/draft/journey/{journeyId}/summaries": {
"post": {
"tags": [
"ProductDraft"
],
"summary": "Get lightweight product summaries by journey for side panel display",
"description": "\nReturns lightweight product summaries by journey, optimized for side panel display.\r\n\nThis 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"
}
]
}
}
}
}
}
}
},
"/api/product/draft/journey/{journeyId}/all": {
"get": {
"tags": [
"ProductDraft"
],
"summary": "Get all product drafts by journey",
"description": "\nReturns 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"
}
]
}
}
}
}
}
}
},
"/api/product/draft/product/{id}": {
"get": {
"tags": [
"ProductDraft"
],
"summary": "Get active product drafts by product Id",
"description": "\nReturns 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"
}
]
}
}
}
}
}
}
},
"/api/product/draft/product/{id}/all": {
"get": {
"tags": [
"ProductDraft"
],
"summary": "Get all product drafts by product Id",
"description": "\nReturns 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"
}
]
}
}
}
}
}
}
},
"/api/product/draft/proposedChanges/{id}": {
"get": {
"tags": [
"ProductDraft"
],
"summary": "Get proposed changes between a product draft and the verified product the draft was created from",
"description": "\nReturn 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"
}
]
}
}
}
}
}
}
},
"/api/product/draft/journey/{journeyId}/list": {
"post": {
"tags": [
"ProductDraft"
],
"summary": "Get product drafts by journey and product ids",
"description": "\nReturns 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"
}
]
}
}
}
}
}
}
},
"/api/product/draft/journey/{journeyId}/validate-all": {
"post": {
"tags": [
"ProductDraft"
],
"summary": "Validate all product drafts by journey",
"description": "\nValidates 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"
}
]
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"AccessLayerDto": {
"type": "object",
"properties": {
"geographic": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"businessRelated": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
}
},
"additionalProperties": false
},
"AutoClearedFieldDto": {
"type": "object",
"properties": {
"propertyName": {
"type": "string",
"nullable": true
},
"parentPropertyName": {
"type": "string",
"nullable": true
},
"collectionItemKey": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"BasicRule": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"message": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"CollectionDto": {
"type": "object",
"properties": {
"isValid": {
"type": "boolean"
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
},
"nullable": true
},
"propertiesInfo": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/CollectionPropertyInfoDto"
},
"nullable": true
}
},
"additionalProperties": false
},
"CollectionMaximumCountRule": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"message": {
"type": "string",
"nullable": true
},
"requiredTypesMaxCount": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
},
"nullable": true
},
"overallMaximumCount": {
"type": "integer",
"format": "int32",
"nullable": true
}
},
"additionalProperties": false
},
"CollectionMinimumCountRule": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"message": {
"type": "string",
"nullable": true
},
"requiredTypesMinCount": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
},
"nullable": true
},
"overallMinimumCount": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"CollectionPropertyDto": {
"allOf": [
{
"$ref": "#/components/schemas/PropertyDto"
},
{
"type": "object",
"properties": {
"dataGroupId": {
"type": "string",
"format": "uuid"
},
"dataGroupVersionNumber": {
"type": "integer",
"format": "int32",
"nullable": true
},
"collections": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/CollectionDto"
},
"nullable": true
}
},
"additionalProperties": false
}
]
},
"CollectionPropertyInfoDto": {
"type": "object",
"properties": {
"valueId": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"CustomPropertyDto": {
"allOf": [
{
"$ref": "#/components/schemas/PropertyDto"
},
{
"type": "object",
"properties": {
"customTypeId": {
"type": "string",
"format": "uuid"
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/PropertyDto"
},
"nullable": true
}
},
"additionalProperties": false
}
]
},
"CustomPropertyValidationResponseDto": {
"type": "object",
"properties": {
"propertyName": {
"type": "string",
"nullable": true
},
"propertyValue": {
"type": "string",
"nullable": true
},
"errorMessage": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"DataChangesDto": {
"type": "object",
"properties": {
"dataKey": {
"type": "string",
"description": "Property Datakey",
"nullable": true
},
"existingValue": {
"allOf": [
{
"$ref": "#/components/schemas/PropertyDto"
}
],
"description": "Existing value",
"nullable": true
},
"newValue": {
"allOf": [
{
"$ref": "#/components/schemas/PropertyDto"
}
],
"description": "New value",
"nullable": true
},
"changeType": {
"type": "string",
"description": "Type of change \r\nOne of Add, Delete, Edit, Indentical",
"nullable": true
}
},
"additionalProperties": false,
"description": "Class to represent data conflicts"
},
"DataChangesDtoListServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataChangesDto"
},
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"DateLimitRangeData": {
"type": "object",
"properties": {
"type": {
"type": "string",
"nullable": true
},
"relativeTo": {
"type": "string",
"nullable": true
},
"source": {
"type": "string",
"nullable": true
},
"field": {
"type": "string",
"nullable": true
},
"offset": {
"type": "string",
"nullable": true
},
"periodType": {
"type": "string",
"nullable": true
},
"offsetPeriod": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"DateLimitRule": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"message": {
"type": "string",
"nullable": true
},
"minDate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"maxDate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"rangeFrom": {
"allOf": [
{
"$ref": "#/components/schemas/DateLimitRangeData"
}
],
"nullable": true
},
"rangeTo": {
"allOf": [
{
"$ref": "#/components/schemas/DateLimitRangeData"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"EvaluateProductDynamicConditionItemResponseDto": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the dynamic configuration rule that matched.",
"format": "uuid"
},
"accessLayerId": {
"type": "string",
"description": "The ID of the access layer that would be assigned.",
"format": "uuid"
},
"dataKey": {
"type": "string",
"description": "The data key of the access layer (e.g. \"EMEA\", \"Canada\").",
"nullable": true
}
},
"additionalProperties": false,
"description": "A single evaluated dynamic configuration condition result, representing one access layer candidate."
},
"EvaluateProductDynamicConditionsResponseDto": {
"type": "object",
"properties": {
"geographicForProduct": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EvaluateProductDynamicConditionItemResponseDto"
},
"description": "Access layers assignable to the product with type Geographic.",
"nullable": true
},
"businessRelatedForProduct": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EvaluateProductDynamicConditionItemResponseDto"
},
"description": "Access layers assignable to the product with type BusinessRelated.",
"nullable": true
}
},
"additionalProperties": false,
"description": "The evaluated product access layers that would be assigned after dynamic configuration rule evaluation."
},
"EvaluateProductDynamicConfigurationRequestDto": {
"type": "object",
"properties": {
"executionId": {
"type": "string",
"description": "Correlation ID for this evaluation. If not provided, a new GUID will be generated.",
"nullable": true
},
"productDraftId": {
"type": "string",
"description": "The draft ID of the product being edited. Optional — used for logging and correlation.",
"format": "uuid",
"nullable": true
},
"journeyInstanceId": {
"type": "string",
"description": "Journey instance ID. Pass null for field-change preview evaluations outside of a journey context.",
"format": "uuid",
"nullable": true
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/PropertyDto"
},
"description": "The current product field values to evaluate against Dynamic Configuration rules.\r\nKeys are field data keys; values are the property values.\r\nIf null, treated as an empty dictionary (no conditions will match).",
"nullable": true
},
"lifecycleStatus": {
"enum": [
"Onboarding",
"In Review",
"Onboarded",
"Offboarded",
"Offboarding",
"For Deletion"
],
"type": "string",
"description": "The lifecycle status of the product being evaluated (e.g. \"Onboarding\", \"InReview\", \"Offboarding\").\r\nWhen provided, it is forwarded to the Authorization Lambda as part of the CurrentProductMetadata\r\ndata source so that lifecycle-status-based DAL rules can be evaluated.",
"nullable": true
},
"isAgency": {
"type": "string",
"description": "Indicates whether the product belongs to an agency tenant (\"true\" / \"false\").\r\nWhen provided, it is forwarded to the Authorization Lambda as part of the CurrentProductMetadata\r\ndata source so that agency-based DAL rules can be evaluated.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Request DTO for evaluating which Product access layers would be assigned based on a set of product properties.\r\nUsed by the Manage Products screen to warn users they would lose access to a product before they save."
},
"EvaluateProductDynamicConfigurationRequestDtoServiceRequest": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/EvaluateProductDynamicConfigurationRequestDto"
}
],
"description": "Request DTO for evaluating which Product access layers would be assigned based on a set of product properties.\r\nUsed by the Manage Products screen to warn users they would lose access to a product before they save.",
"nullable": true
}
},
"additionalProperties": false
},
"EvaluateProductDynamicConfigurationResponseDto": {
"type": "object",
"properties": {
"evaluatedProductAccessLayers": {
"allOf": [
{
"$ref": "#/components/schemas/EvaluateProductDynamicConditionsResponseDto"
}
],
"description": "The Geographic and BusinessRelated access layers that would be written to the product on save.",
"nullable": true
},
"shouldApplyResultToProduct": {
"type": "boolean",
"description": "When `false`, no dynamic configuration rules matched the supplied field values and the product\r\nis effectively open-access — access layers will not be enforced by policy."
}
},
"additionalProperties": false,
"description": "Response DTO for the evaluate-product dynamic configuration endpoint.\r\nContains the access layers that would be assigned to the product given the supplied field values,\r\nand a flag indicating whether any dynamic configuration rules matched."
},
"EvaluateProductDynamicConfigurationResponseDtoServiceResponse": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/EvaluateProductDynamicConfigurationResponseDto"
}
],
"description": "Response DTO for the evaluate-product dynamic configuration endpoint.\r\nContains the access layers that would be assigned to the product given the supplied field values,\r\nand a flag indicating whether any dynamic configuration rules matched.",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"EvaluatedDataRequirementDto": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"propertyName": {
"type": "string",
"nullable": true
},
"propertyType": {
"type": "string",
"nullable": true
},
"propertyTypeId": {
"type": "string",
"format": "uuid",
"nullable": true
},
"linkChildFieldPropertyName": {
"type": "string",
"nullable": true
},
"linkedParentFieldPropertyName": {
"type": "string",
"nullable": true
},
"externalSearchApiProviderId": {
"type": "string",
"format": "uuid",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"hasEvaluatedDefaultValue": {
"type": "boolean"
},
"defaultValue": {
"type": "string",
"nullable": true
},
"isReadOnly": {
"type": "boolean"
},
"category": {
"type": "string",
"nullable": true
},
"validationData": {
"allOf": [
{
"$ref": "#/components/schemas/ValidationData"
}
],
"nullable": true
},
"isRequired": {
"type": "boolean"
},
"order": {
"type": "number",
"format": "double",
"nullable": true
},
"hasEvaluatedConditionalValue": {
"type": "boolean"
},
"evaluatedConditionalValue": {
"type": "string",
"nullable": true
},
"isMasked": {
"type": "boolean"
},
"isConditional": {
"type": "boolean"
},
"isSensitiveData": {
"type": "boolean"
},
"jurisdiction": {
"type": "string",
"nullable": true
},
"isIndexable": {
"type": "boolean"
},
"fieldAccessLayers": {
"allOf": [
{
"$ref": "#/components/schemas/AccessLayerDto"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"ExternalProviderRule": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"message": {
"type": "string",
"nullable": true
},
"providerId": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
},
"GetDraftsByJourneyAndProductIdsDto": {
"type": "object",
"properties": {
"productIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of Product Ids to fetch",
"nullable": true
},
"pageOptions": {
"allOf": [
{
"$ref": "#/components/schemas/PageOptions"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"GetDraftsByJourneyAndProductIdsDtoServiceRequest": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/GetDraftsByJourneyAndProductIdsDto"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"GetPreSignUrlForFileIdentifiersRequestDto": {
"type": "object",
"properties": {
"isRootContent": {
"type": "boolean"
},
"dataKey": {
"type": "string",
"nullable": true
},
"fileIdentifiers": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"productDraftId": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"additionalProperties": false
},
"GetPreSignUrlForFileIdentifiersRequestDtoServiceRequest": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/GetPreSignUrlForFileIdentifiersRequestDto"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"GetPreSignUrlForFileIdentifiersResponseDto": {
"type": "object",
"properties": {
"isRootContent": {
"type": "boolean"
},
"urls": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
},
"nullable": true
}
},
"additionalProperties": false
},
"GetPreSignUrlForFileIdentifiersResponseDtoServiceResponse": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/GetPreSignUrlForFileIdentifiersResponseDto"
}
],
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"GetProductDataSourceResponse": {
"type": "object",
"properties": {
"dataSources": {
"allOf": [
{
"$ref": "#/components/schemas/ProductDataSourcesDto"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"GetProductDataSourceResponseServiceResponse": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/GetProductDataSourceResponse"
}
],
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"GetProductSummariesRequestDto": {
"type": "object",
"properties": {
"secondaryIdentifierPropertyNames": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional list of property names to include as secondary identifiers in the response.\r\nOnly these properties will be extracted from each product for display in the side panel.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Request DTO for getting product summaries with optional secondary identifier filter."
},
"GetProductSummariesRequestDtoServiceRequest": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/GetProductSummariesRequestDto"
}
],
"description": "Request DTO for getting product summaries with optional secondary identifier filter.",
"nullable": true
}
},
"additionalProperties": false
},
"GuidIEnumerableServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"HttpValidationProblemDetails": {
"allOf": [
{
"$ref": "#/components/schemas/ProblemDetails"
},
{
"type": "object",
"properties": {
"errors": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"nullable": true
}
},
"additionalProperties": { }
}
]
},
"LookupValidatorResponse": {
"allOf": [
{
"$ref": "#/components/schemas/PropertiesValidatorResponse"
},
{
"type": "object",
"properties": {
"dataGroupRequirementPropertyName": {
"type": "string",
"nullable": true
},
"dataGroupItemId": {
"type": "string",
"nullable": true
},
"propertyName": {
"type": "string",
"nullable": true
},
"attemptedValue": {
"type": "string",
"nullable": true
},
"lookupErrrorMessage": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
}
]
},
"ObjectServiceResponse": {
"type": "object",
"properties": {
"data": {
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"PageOptions": {
"type": "object",
"properties": {
"paginationToken": {
"type": "string",
"nullable": true
},
"pageSize": {
"type": "integer",
"format": "int32"
},
"sortOrder": {
"allOf": [
{
"$ref": "#/components/schemas/SortOrder"
}
]
}
},
"additionalProperties": false
},
"ProblemDetails": {
"required": [
"discriminator"
],
"type": "object",
"properties": {
"discriminator": {
"type": "string"
},
"type": {
"type": "string",
"nullable": true
},
"title": {
"type": "string",
"nullable": true
},
"status": {
"type": "integer",
"format": "int32",
"nullable": true
},
"detail": {
"type": "string",
"nullable": true
},
"instance": {
"type": "string",
"nullable": true
}
},
"additionalProperties": { },
"discriminator": {
"propertyName": "discriminator",
"mapping": {
"ProblemDetails": "#/components/schemas/ProblemDetails",
"HttpValidationProblemDetails": "#/components/schemas/HttpValidationProblemDetails"
}
}
},
"ProductAccessLayerDetailsDto": {
"type": "object",
"properties": {
"dataKey": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"ProductAccessLayerDto": {
"type": "object",
"properties": {
"geographic": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"businessRelated": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"geographicDetails": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductAccessLayerDetailsDto"
},
"nullable": true
},
"businessRelatedDetails": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductAccessLayerDetailsDto"
},
"nullable": true
}
},
"additionalProperties": false
},
"ProductAssociationSnapshotDto": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"entityId": {
"type": "string",
"format": "uuid"
},
"entityName": {
"type": "string",
"nullable": true
},
"entityType": {
"type": "string",
"nullable": true
},
"associationType": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"ProductAssociationSnapshotDtoIEnumerableServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductAssociationSnapshotDto"
},
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"ProductDataSourcesDto": {
"type": "object",
"properties": {
"relatedProducts": {
"allOf": [
{
"$ref": "#/components/schemas/RelatedProductsDataSource"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"ProductDraftDto": {
"allOf": [
{
"$ref": "#/components/schemas/ProductDraftLiteDto"
},
{
"type": "object",
"properties": {
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/PropertyDto"
},
"description": "List of custom properties for a product separate from the standard\r\nout of the box properties.",
"nullable": true
}
},
"additionalProperties": false
}
],
"description": "A Product object. \r\nContains all properties needed to fill the metadata of the product."
},
"ProductDraftDtoIEnumerableServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductDraftDto"
},
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"ProductDraftDtoItemsPage": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductDraftDto"
},
"nullable": true
},
"paginationToken": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"ProductDraftDtoItemsPageServiceResponse": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/ProductDraftDtoItemsPage"
}
],
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"ProductDraftDtoServiceResponse": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/ProductDraftDto"
}
],
"description": "A Product object. \r\nContains all properties needed to fill the metadata of the product.",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"ProductDraftListQueryDto": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of Product Draft Ids to fetch",
"nullable": true
}
},
"additionalProperties": false
},
"ProductDraftListQueryDtoServiceRequest": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/ProductDraftListQueryDto"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"ProductDraftLiteDto": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The Product Draft Id",
"format": "uuid",
"example": "e1809731-77df-4e72-98e7-0d314b7a5151"
},
"type": {
"type": "string",
"description": "The Product Type",
"nullable": true,
"example": "Loans"
},
"family": {
"type": "string",
"description": "The Product Family",
"nullable": true,
"example": "Trading"
},
"status": {
"type": "string",
"description": "The Product Draft Status",
"nullable": true,
"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",
"description": "DateTime of the created Product",
"format": "date-time",
"nullable": true
},
"jurisdictions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VersionedJurisdictionDto"
},
"description": "List of jurisdictions that this draft is using",
"nullable": true
},
"riskAssessments": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/RiskAssessmentLinkDto"
},
"description": "Collection of risk assessments calculated for this product grouped by riskScore prop name",
"nullable": true
},
"currentLifecycleStatus": {
"type": "string",
"description": "UI Status of draft within journey",
"nullable": true,
"example": "In Review"
},
"transferedJourneyId": {
"type": "string",
"description": "The Id of the Journey the draft was transfered to",
"format": "uuid",
"nullable": true
},
"productAccessLayers": {
"allOf": [
{
"$ref": "#/components/schemas/ProductAccessLayerDto"
}
],
"description": "The list of the product access layers",
"nullable": true
},
"onboardedDate": {
"type": "string",
"description": "Date when product was first successfully verified (onboarded)",
"format": "date-time",
"nullable": true
},
"offboardedDate": {
"type": "string",
"description": "Date when product was successfully verified as offboarded",
"format": "date-time",
"nullable": true
},
"lastUpdatedDate": {
"type": "string",
"description": "Most recent date when product was successfully verified after modification",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "A Product object. \r\nContains all properties needed to fill the metadata of the product."
},
"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",
"description": "Product Type",
"nullable": true
},
"family": {
"type": "string",
"description": "Product Family",
"nullable": true
},
"validationResult": {
"allOf": [
{
"$ref": "#/components/schemas/PropertiesValidatorResponse"
}
],
"description": "Validation result",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents validation result for a single product draft"
},
"ProductDraftValidationResultDtoListServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductDraftValidationResultDto"
},
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"ProductDto": {
"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",
"description": "The Product Type",
"nullable": true,
"example": "Loans"
},
"family": {
"type": "string",
"description": "The Product Family",
"nullable": true,
"example": "Trading"
},
"alternateId": {
"type": "string",
"description": "Product Id from data migration",
"nullable": true
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/PropertyDto"
},
"description": "List of custom properties for a product separate from the standard\r\nout of the box properties.",
"nullable": true
},
"lifecycleStatus": {
"enum": [
"Onboarding",
"In Review",
"Onboarded",
"Offboarded",
"Offboarding",
"For Deletion"
],
"type": "string",
"description": "The lifecycle status of the product",
"nullable": true
},
"jurisdictions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VersionedJurisdictionDto"
},
"description": "List of versioned jurisdictions that product is using",
"nullable": true
},
"riskAssessments": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/RiskAssessmentLinkDto"
},
"description": "Collection of risk assessments calculated for this product grouped by riskScore prop name",
"nullable": true,
"readOnly": true
},
"productAccessLayers": {
"allOf": [
{
"$ref": "#/components/schemas/ProductAccessLayerDto"
}
],
"description": "The list of the product access layers",
"nullable": true
},
"onboardedDate": {
"type": "string",
"description": "Date when product was first successfully verified (onboarded)",
"format": "date-time",
"nullable": true
},
"offboardedDate": {
"type": "string",
"description": "Date when product was successfully verified as offboarded",
"format": "date-time",
"nullable": true
},
"lastUpdatedDate": {
"type": "string",
"description": "Most recent date when product was successfully verified after modification",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Class to represent the product uploaded. \r\nContains all properties needed to fill the metadata of the product being uploaded."
},
"ProductDtoListServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductDto"
},
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"ProductDtoServiceResponse": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/ProductDto"
}
],
"description": "Class to represent the product uploaded. \r\nContains all properties needed to fill the metadata of the product being uploaded.",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"ProductQueryDto": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of Product Ids to fetch",
"nullable": true
},
"attributes": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of attributes to fetch the data for",
"nullable": true
}
},
"additionalProperties": false
},
"ProductQueryDtoServiceRequest": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/ProductQueryDto"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"ProductSnapshotDto": {
"type": "object",
"properties": {
"products": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductDto"
},
"description": "List of products",
"nullable": true
},
"productDrafts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductDraftDto"
},
"description": "List of product drafts",
"nullable": true
}
},
"additionalProperties": false,
"description": "A ProductSnapshot object"
},
"ProductSnapshotDtoServiceResponse": {
"type": "object",
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/ProductSnapshotDto"
}
],
"description": "A ProductSnapshot object",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"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",
"description": "The Product Type",
"nullable": true,
"example": "Loans"
},
"family": {
"type": "string",
"description": "The Product Family",
"nullable": true,
"example": "Trading"
},
"status": {
"type": "string",
"description": "The Product Draft Status",
"nullable": true,
"example": "Active"
},
"currentLifecycleStatus": {
"type": "string",
"description": "UI Status of draft within journey",
"nullable": true,
"example": "In Review"
},
"transferedJourneyId": {
"type": "string",
"description": "The Id of the Journey the draft was transferred to",
"format": "uuid",
"nullable": true
},
"secondaryIdentifiers": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/PropertyDto"
},
"description": "Secondary identifier properties for display in the side panel.\r\nOnly includes properties marked as secondary identifiers in requirements.",
"nullable": true
},
"onboardedDate": {
"type": "string",
"description": "Date when product was first successfully verified (onboarded)",
"format": "date-time",
"nullable": true
},
"offboardedDate": {
"type": "string",
"description": "Date when product was successfully verified as offboarded",
"format": "date-time",
"nullable": true
},
"lastUpdatedDate": {
"type": "string",
"description": "Most recent date when product was successfully verified after modification",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "A lightweight Product summary object for side panel display.\r\nContains only the properties needed to render the product list."
},
"ProductSummaryDtoIEnumerableServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductSummaryDto"
},
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"PropertiesValidatorResponse": {
"required": [
"discriminator"
],
"type": "object",
"properties": {
"discriminator": {
"type": "string"
},
"usedJurisdictions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VersionedJurisdictionDto"
},
"nullable": true
},
"version": {
"type": "integer",
"format": "int32"
},
"isValid": {
"type": "boolean"
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
},
"propertyValidationResponse": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomPropertyValidationResponseDto"
},
"nullable": true
},
"productId": {
"type": "string",
"format": "uuid"
},
"evaluatedDataRequirements": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EvaluatedDataRequirementDto"
},
"nullable": true
},
"autoClearedFields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AutoClearedFieldDto"
},
"nullable": true
}
},
"additionalProperties": false,
"discriminator": {
"propertyName": "discriminator",
"mapping": {
"PropertiesValidatorResponse": "#/components/schemas/PropertiesValidatorResponse",
"LookupValidatorResponse": "#/components/schemas/LookupValidatorResponse"
}
}
},
"PropertyDto": {
"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",
"nullable": true
}
},
"additionalProperties": false,
"discriminator": {
"propertyName": "discriminator",
"mapping": {
"Collection": "#/components/schemas/CollectionPropertyDto",
"Custom": "#/components/schemas/CustomPropertyDto",
"Single": "#/components/schemas/SinglePropertyDto"
}
}
},
"PropertyType": {
"enum": [
"Single",
"Custom",
"Collection"
],
"type": "string"
},
"RegexRule": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"message": {
"type": "string",
"nullable": true
},
"isCaseSensitive": {
"type": "boolean"
},
"regexValue": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"RelatedProductDto": {
"required": [
"properties"
],
"type": "object",
"properties": {
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/PropertyDto"
},
"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",
"description": "System field used in backend for status of a product in lifecycle",
"nullable": true
},
"relationshipTypes": {
"type": "array",
"items": {
"type": "string"
},
"description": "System field used in backend for product of a product relationship",
"nullable": true
},
"onboardedDate": {
"type": "string",
"description": "Date when product was first successfully verified (onboarded)",
"format": "date-time",
"nullable": true
},
"offboardedDate": {
"type": "string",
"description": "Date when product was successfully verified as offboarded",
"format": "date-time",
"nullable": true
},
"lastUpdatedDate": {
"type": "string",
"description": "Most recent date when product was successfully verified after modification",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"RelatedProductsDataSource": {
"type": "object",
"properties": {
"products": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RelatedProductDto"
},
"nullable": true
}
},
"additionalProperties": false
},
"RiskAssessmentLinkDto": {
"type": "object",
"properties": {
"taskId": {
"type": "string",
"format": "uuid"
},
"productDraftId": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
},
"ServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "string",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"ServiceResponseMessage": {
"type": "object",
"properties": {
"message": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"nullable": true
},
"errorCode": {
"type": "string",
"nullable": true
}
},
"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)."
},
"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).",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"SinglePropertyDto": {
"allOf": [
{
"$ref": "#/components/schemas/PropertyDto"
},
{
"type": "object",
"properties": {
"value": {
"type": "string",
"nullable": true
},
"valueId": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
}
]
},
"SortOrder": {
"enum": [
"Ascending",
"Descending"
],
"type": "string"
},
"SpecialCharactersRule": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"message": {
"type": "string",
"nullable": true
},
"excludedCharacters": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
}
},
"additionalProperties": false
},
"StringServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "string",
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false
},
"ValidationData": {
"type": "object",
"properties": {
"isMandatory": {
"allOf": [
{
"$ref": "#/components/schemas/BasicRule"
}
],
"nullable": true
},
"specialCharacters": {
"allOf": [
{
"$ref": "#/components/schemas/SpecialCharactersRule"
}
],
"nullable": true
},
"noNumbers": {
"allOf": [
{
"$ref": "#/components/schemas/BasicRule"
}
],
"nullable": true
},
"onlyInteger": {
"allOf": [
{
"$ref": "#/components/schemas/BasicRule"
}
],
"nullable": true
},
"noNegative": {
"allOf": [
{
"$ref": "#/components/schemas/BasicRule"
}
],
"nullable": true
},
"onlyDecimal": {
"allOf": [
{
"$ref": "#/components/schemas/BasicRule"
}
],
"nullable": true
},
"regex": {
"allOf": [
{
"$ref": "#/components/schemas/RegexRule"
}
],
"nullable": true
},
"characterLimit": {
"allOf": [
{
"$ref": "#/components/schemas/ValueLimitRule"
}
],
"nullable": true
},
"numberLimit": {
"allOf": [
{
"$ref": "#/components/schemas/ValueLimitRule"
}
],
"nullable": true
},
"noFutureDates": {
"allOf": [
{
"$ref": "#/components/schemas/BasicRule"
}
],
"nullable": true
},
"noPastDates": {
"allOf": [
{
"$ref": "#/components/schemas/BasicRule"
}
],
"nullable": true
},
"multiSelectLimit": {
"allOf": [
{
"$ref": "#/components/schemas/ValueLimitRule"
}
],
"nullable": true
},
"collectionMinimumCount": {
"allOf": [
{
"$ref": "#/components/schemas/CollectionMinimumCountRule"
}
],
"nullable": true
},
"collectionMaximumCount": {
"allOf": [
{
"$ref": "#/components/schemas/CollectionMaximumCountRule"
}
],
"nullable": true
},
"externalProvider": {
"allOf": [
{
"$ref": "#/components/schemas/ExternalProviderRule"
}
],
"nullable": true
},
"externalDataGroupProvider": {
"allOf": [
{
"$ref": "#/components/schemas/ExternalProviderRule"
}
],
"nullable": true
},
"disallowTodaysDate": {
"allOf": [
{
"$ref": "#/components/schemas/BasicRule"
}
],
"nullable": true
},
"dateLimit": {
"allOf": [
{
"$ref": "#/components/schemas/DateLimitRule"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"ValidationErrorModel": {
"type": "object",
"properties": {
"propertyName": {
"type": "string",
"nullable": true
},
"errorMessage": {
"type": "string",
"nullable": true
},
"attemptedValue": {
"nullable": true
},
"errorCode": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"ValidationErrorModelListServiceResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationErrorModel"
},
"nullable": true
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceResponseMessage"
},
"nullable": true
}
},
"additionalProperties": false,
"example": {
"data": [
{
"propertyName": "data",
"errorMessage": "Data is required",
"attemptedValue": "",
"errorCode": "NotNullValidator"
}
],
"messages": [
{
"message": "Data is required",
"type": "Error",
"errorCode": "Error Code"
}
]
}
},
"ValueLimitRule": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"message": {
"type": "string",
"nullable": true
},
"minValue": {
"type": "integer",
"format": "int32",
"nullable": true
},
"maxValue": {
"type": "integer",
"format": "int32",
"nullable": true
}
},
"additionalProperties": false
},
"VersionedJurisdictionDto": {
"type": "object",
"properties": {
"jurisdiction": {
"type": "string",
"nullable": true
},
"versionId": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}
},
"securitySchemes": {
"Bearer": {
"type": "apiKey",
"description": "Please insert JWT with Bearer into field",
"name": "Authorization",
"in": "header"
}
}
},
"security": [
{
"Bearer": [ ]
}
]
}