diff --git a/docs/api/traceability-foss-backend.json b/docs/api/traceability-foss-backend.json index 87277b3e7b..3917b13656 100644 --- a/docs/api/traceability-foss-backend.json +++ b/docs/api/traceability-foss-backend.json @@ -1,8142 +1 @@ -{ - "openapi" : "3.0.1", - "info" : { - "title" : "Tractus-X Traceability Foss", - "description" : "Trace-FOSS is a system for tracking parts along the supply chain. A high level of transparency across the supplier network enables faster intervention based on a recorded event in the supply chain. This saves costs by seamlessly tracking parts and creates trust through clearly defined and secure data access by the companies and persons involved in the process.", - "license" : { - "name" : "License: Apache 2.0" - }, - "version" : "1.0.0" - }, - "servers" : [ - { - "url" : "http://localhost:9998/api", - "description" : "Generated server url" - } - ], - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ], - "paths" : { - "/policies" : { - "get" : { - "tags" : [ - "Policies" - ], - "summary" : "Get all policies ", - "description" : "The endpoint returns all policies .", - "operationId" : "policy", - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the policies", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/IrsPolicyResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "put" : { - "tags" : [ - "Policies" - ], - "summary" : "Updates policies ", - "description" : "The endpoint updates policies.", - "operationId" : "updatePolicy", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/UpdatePolicyRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Update successful", - "content" : { - "application/json" : {} - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "post" : { - "tags" : [ - "Policies" - ], - "summary" : "Create a policy ", - "description" : "The endpoint creates a policy.", - "operationId" : "createPolicy", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/RegisterPolicyRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the policies", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CreatePolicyResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/{notificationId}/edit" : { - "put" : { - "tags" : [ - "Notifications" - ], - "summary" : "Update notification by id", - "description" : "The endpoint updates notification by their id.", - "operationId" : "updateNotification", - "parameters" : [ - { - "name" : "notificationId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/EditNotificationRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No content." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/bpn-config" : { - "get" : { - "tags" : [ - "BpnEdcMapping" - ], - "summary" : "Get BPN EDC URL mappings", - "description" : "The endpoint returns a result of BPN EDC URL mappings.", - "operationId" : "getBpnEdcs", - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/BpnEdcMappingResponse" - } - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "put" : { - "tags" : [ - "BpnEdcMapping" - ], - "summary" : "Updates BPN EDC URL mappings", - "description" : "The endpoint updates BPN EDC URL mappings", - "operationId" : "updateBpnEdcMappings", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 1000, - "minItems" : 0, - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/BpnMappingRequest" - } - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found for BpnEdcMapping", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/BpnEdcMappingResponse" - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "post" : { - "tags" : [ - "BpnEdcMapping" - ], - "summary" : "Creates BPN EDC URL mappings", - "description" : "The endpoint creates BPN EDC URL mappings", - "operationId" : "createBpnEdcUrlMappings", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 1000, - "minItems" : 0, - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/BpnMappingRequest" - } - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found for BpnEdcMapping", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/BpnEdcMappingResponse" - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/submodel/data/{submodelId}" : { - "get" : { - "tags" : [ - "Submodel" - ], - "summary" : "Gets Submodel by its id", - "description" : "The endpoint returns Submodel for given id. Used for data providing functionality", - "operationId" : "getSubmodelById", - "parameters" : [ - { - "name" : "submodelId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns submodel payload", - "content" : { - "application/json" : { - "schema" : { - "type" : "string" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "post" : { - "tags" : [ - "Submodel" - ], - "summary" : "Save Submodel", - "description" : "This endpoint allows you to save a Submodel identified by its ID.", - "operationId" : "saveSubmodel", - "parameters" : [ - { - "name" : "submodelId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "string" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Ok." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No Content." - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Start notification by part ids", - "description" : "The endpoint starts notification based on part ids provided.", - "operationId" : "notifyAssets", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/StartNotificationRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "201" : { - "description" : "Created.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/NotificationIdResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/{notificationId}/update" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Update notification by id", - "description" : "The endpoint updates notification by their id.", - "operationId" : "updateNotification_1", - "parameters" : [ - { - "name" : "notificationId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/UpdateNotificationStatusTransitionRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No content." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/{notificationId}/close" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Close notification by id", - "description" : "The endpoint closes Notification by id.", - "operationId" : "closeNotification", - "parameters" : [ - { - "name" : "notificationId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CloseNotificationRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Ok." - }, - "204" : { - "description" : "No content." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/{notificationId}/cancel" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Cancels notification by id", - "description" : "The endpoint cancels notification by id.", - "operationId" : "cancelNotification", - "parameters" : [ - { - "name" : "notificationId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Ok." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No content." - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/{notificationId}/approve" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Approves notification by id", - "description" : "The endpoint approves notification by id.", - "operationId" : "approveNotification", - "parameters" : [ - { - "name" : "notificationId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Ok." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No content." - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/filter" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Filter notifications defined by the request body", - "description" : "The endpoint returns notifications as paged result.", - "operationId" : "filterNotifications", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PageableFilterRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found for Notifications", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Notifications", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maximum" : 255, - "minimum" : 0, - "maxLength" : 255, - "type" : "integer", - "format" : "int64", - "example" : 66 - }, - "title" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Title" - }, - "status" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "CREATED", - "enum" : [ - "CREATED", - "SENT", - "RECEIVED", - "ACKNOWLEDGED", - "ACCEPTED", - "DECLINED", - "CANCELED", - "CLOSED" - ] - }, - "description" : { - "maxLength" : 1000, - "minLength" : 0, - "type" : "string", - "example" : "DescriptionText" - }, - "createdBy" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003AYRE" - }, - "createdByName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "createdDate" : { - "maxLength" : 50, - "minLength" : 0, - "type" : "string", - "example" : "2023-02-21T21:27:10.734950Z" - }, - "assetIds" : { - "maxItems" : 1000, - "minItems" : 0, - "type" : "array", - "example" : [ - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd", - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd", - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd" - ], - "items" : { - "type" : "string", - "example" : "[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd\"]" - } - }, - "channel" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "SENDER", - "enum" : [ - "SENDER", - "RECEIVER" - ] - }, - "reason" : { - "$ref" : "#/components/schemas/NotificationReasonResponse" - }, - "sendTo" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003AYRE" - }, - "sendToName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "severity" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "MINOR", - "enum" : [ - "MINOR", - "MAJOR", - "CRITICAL", - "LIFE-THREATENING" - ] - }, - "type" : { - "maxLength" : 50, - "minLength" : 0, - "type" : "string", - "example" : "ALERT", - "enum" : [ - "ALERT", - "INVESTIGATION" - ] - }, - "targetDate" : { - "maxLength" : 50, - "minLength" : 0, - "type" : "string", - "example" : "2099-02-21T21:27:10.734950Z" - }, - "messages" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/NotificationMessageResponse" - } - } - } - } - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/edc/notification/contract" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Triggers EDC notification contract", - "description" : "The endpoint Triggers EDC notification contract based on notification type and method", - "operationId" : "createNotificationContract", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CreateNotificationContractRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "201" : { - "description" : "Created.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CreateNotificationContractResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/contracts" : { - "post" : { - "tags" : [ - "Contracts" - ], - "summary" : "All contract agreements for all assets", - "description" : "This endpoint returns all contract agreements for all assets in Trace-X", - "operationId" : "contracts", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PageableFilterRequest" - } - } - }, - "required" : true - }, - "responses" : { - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Too many requests." - } - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Bad request." - } - } - } - } - }, - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Not found." - } - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Internal server error." - } - } - } - } - }, - "200" : { - "description" : "Ok.", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "description" : "PageResults", - "items" : { - "$ref" : "#/components/schemas/PageResultContractResponse" - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Authorization failed." - } - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Forbidden." - } - } - } - } - }, - "415" : { - "description" : "Unsupported media type.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Unsupported media type." - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/publish" : { - "post" : { - "tags" : [ - "AssetsImport", - "AssetsPublish" - ], - "summary" : "asset publish", - "description" : "This endpoint publishes assets to the Catena-X network.", - "operationId" : "publishAssets", - "parameters" : [ - { - "name" : "triggerSynchronizeAssets", - "in" : "query", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : true - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/RegisterAssetRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No Content." - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "OK.", - "content" : { - "application/json" : {} - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/import" : { - "post" : { - "tags" : [ - "AssetsImport" - ], - "summary" : "asset upload", - "description" : "This endpoint stores assets in the application. Those can be later published in the Catena-X network.", - "operationId" : "importJson", - "requestBody" : { - "content" : { - "multipart/form-data" : { - "schema" : { - "required" : [ - "file" - ], - "type" : "object", - "properties" : { - "file" : { - "type" : "string", - "format" : "binary" - } - } - } - } - } - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No Content." - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "OK.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ImportResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-planned/sync" : { - "post" : { - "tags" : [ - "AssetsAsPlanned" - ], - "summary" : "Synchronizes assets from IRS", - "description" : "The endpoint synchronizes the assets from irs.", - "operationId" : "sync", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SyncAssetsRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "201" : { - "description" : "Created." - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-planned/detail-information" : { - "post" : { - "tags" : [ - "AssetsAsPlanned" - ], - "summary" : "Searches for assets by ids.", - "description" : "The endpoint searchs for assets by id and returns a list of them.", - "operationId" : "getDetailInformation", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/GetDetailInformationRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found for Asset", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built/sync" : { - "post" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Synchronizes assets from IRS", - "description" : "The endpoint synchronizes the assets from irs.", - "operationId" : "sync_1", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SyncAssetsRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "201" : { - "description" : "Created." - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built/detail-information" : { - "post" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Searches for assets by ids.", - "description" : "The endpoint searchs for assets by id and returns a list of them.", - "operationId" : "getDetailInformation_1", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/GetDetailInformationRequest" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "description" : "Returns the paged result found for Asset", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - }, - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-planned/{assetId}" : { - "get" : { - "tags" : [ - "AssetsAsPlanned" - ], - "summary" : "Get asset by id", - "description" : "The endpoint returns an asset filtered by id .", - "operationId" : "assetById", - "parameters" : [ - { - "name" : "assetId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the assets found", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "patch" : { - "tags" : [ - "AssetsAsPlanned" - ], - "summary" : "Updates asset", - "description" : "The endpoint updates asset by provided quality type.", - "operationId" : "updateAsset", - "parameters" : [ - { - "name" : "assetId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/UpdateAssetRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the updated asset", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built/{assetId}" : { - "get" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Get asset by id", - "description" : "The endpoint returns an asset filtered by id .", - "operationId" : "assetById_1", - "parameters" : [ - { - "name" : "assetId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the assets found", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "patch" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Updates asset", - "description" : "The endpoint updates asset by provided quality type.", - "operationId" : "updateAsset_1", - "parameters" : [ - { - "name" : "assetId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/UpdateAssetRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the updated asset", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/registry/reload" : { - "get" : { - "tags" : [ - "Registry" - ], - "summary" : "Triggers reload of shell descriptors", - "description" : "The endpoint Triggers reload of shell descriptors.", - "operationId" : "reload", - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "202" : { - "description" : "Created registry reload job." - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/policies/{policyId}" : { - "get" : { - "tags" : [ - "Policies" - ], - "summary" : "Gets policy by id", - "description" : "The endpoint returns policy by id.", - "operationId" : "getPolicyById", - "parameters" : [ - { - "name" : "policyId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the policies", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PolicyResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "delete" : { - "tags" : [ - "Policies" - ], - "summary" : "Deletes a policy ", - "description" : "The endpoint deletes policies.", - "operationId" : "deletePolicy", - "parameters" : [ - { - "name" : "policyId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Deletion successful", - "content" : { - "application/json" : {} - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/{notificationId}" : { - "get" : { - "tags" : [ - "Notifications" - ], - "summary" : "Gets notification by id", - "description" : "The endpoint returns notification by id.", - "operationId" : "getNotification", - "parameters" : [ - { - "name" : "notificationId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "OK.", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Notifications", - "items" : { - "$ref" : "#/components/schemas/NotificationResponse" - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/distinctFilterValues" : { - "get" : { - "tags" : [ - "Notifications" - ], - "summary" : "getDistinctFilterValues", - "description" : "The endpoint returns a distinct filter values for given fieldName of notification.", - "operationId" : "distinctFilterValues", - "parameters" : [ - { - "name" : "fieldName", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string" - } - }, - { - "name" : "size", - "in" : "query", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int32" - } - }, - { - "name" : "startWith", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string" - } - }, - { - "name" : "channel", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string", - "enum" : [ - "SENDER", - "RECEIVER" - ] - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns a distinct filter values for given fieldName.", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "type" : "string" - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/dashboard" : { - "get" : { - "tags" : [ - "Dashboard" - ], - "summary" : "Returns dashboard related data", - "description" : "The endpoint can return limited data based on the user role", - "operationId" : "dashboard", - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns dashboard data", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/DashboardResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/import/report/{importJobId}" : { - "get" : { - "tags" : [ - "ImportReport", - "AssetsImport" - ], - "summary" : "report of the imported assets", - "description" : "This endpoint returns information about the imported assets to Trace-X.", - "operationId" : "importReport", - "parameters" : [ - { - "name" : "importJobId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No Content." - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "OK.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ImportReportResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-planned" : { - "get" : { - "tags" : [ - "AssetsAsPlanned" - ], - "summary" : "Get assets by pagination", - "description" : "The endpoint returns a paged result of assets.", - "operationId" : "AssetsAsPlanned", - "parameters" : [ - { - "name" : "pageable", - "in" : "query", - "required" : true, - "schema" : { - "$ref" : "#/components/schemas/OwnPageable" - } - }, - { - "name" : "filter", - "in" : "query", - "required" : true, - "schema" : { - "$ref" : "#/components/schemas/SearchCriteriaRequestParam" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found for Asset", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-planned/distinctFilterValues" : { - "get" : { - "tags" : [ - "Assets", - "AssetsAsPlanned" - ], - "summary" : "getDistinctFilterValues", - "description" : "The endpoint returns a distinct filter values for given fieldName.", - "operationId" : "distinctFilterValues_1", - "parameters" : [ - { - "name" : "fieldName", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string" - } - }, - { - "name" : "size", - "in" : "query", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int32" - } - }, - { - "name" : "startWith", - "in" : "query", - "required" : false, - "schema" : { - "type" : "string" - } - }, - { - "name" : "owner", - "in" : "query", - "required" : false, - "schema" : { - "type" : "string", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - } - }, - { - "name" : "inAssetIds", - "in" : "query", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns a distinct filter values for given fieldName.", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "type" : "string" - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-planned/*/children/{childId}" : { - "get" : { - "tags" : [ - "AssetsAsPlanned" - ], - "summary" : "Get asset by child id", - "description" : "The endpoint returns an asset filtered by child id.", - "operationId" : "assetByChildIdAndAssetId", - "parameters" : [ - { - "name" : "childId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the asset by childId", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built" : { - "get" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Get assets by pagination", - "description" : "The endpoint returns a paged result of assets.", - "operationId" : "assets", - "parameters" : [ - { - "name" : "pageable", - "in" : "query", - "required" : true, - "schema" : { - "$ref" : "#/components/schemas/OwnPageable" - } - }, - { - "name" : "searchCriteriaRequestParam", - "in" : "query", - "required" : true, - "schema" : { - "$ref" : "#/components/schemas/SearchCriteriaRequestParam" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found for Asset", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built/distinctFilterValues" : { - "get" : { - "tags" : [ - "AssetsAsBuilt", - "Assets" - ], - "summary" : "getDistinctFilterValues", - "description" : "The endpoint returns a distinct filter values for given fieldName.", - "operationId" : "distinctFilterValues_2", - "parameters" : [ - { - "name" : "fieldName", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string" - } - }, - { - "name" : "size", - "in" : "query", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int32" - } - }, - { - "name" : "startWith", - "in" : "query", - "required" : false, - "schema" : { - "type" : "string" - } - }, - { - "name" : "owner", - "in" : "query", - "required" : false, - "schema" : { - "type" : "string", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - } - }, - { - "name" : "inAssetIds", - "in" : "query", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns a distinct filter values for given fieldName.", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "type" : "string" - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built/countries" : { - "get" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Get map of assets", - "description" : "The endpoint returns a map for assets consumed by the map.", - "operationId" : "assetsCountryMap", - "responses" : { - "200" : { - "description" : "Returns the assets found", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "type" : "string" - } - } - } - } - }, - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built/*/children/{childId}" : { - "get" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Get asset by child id", - "description" : "The endpoint returns an asset filtered by child id.", - "operationId" : "assetByChildId", - "parameters" : [ - { - "name" : "childId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "200" : { - "description" : "Returns the asset by childId", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - }, - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/submodel/data" : { - "delete" : { - "tags" : [ - "Submodel" - ], - "summary" : "Delete All Submodels", - "description" : "Deletes all submodels from the system.", - "operationId" : "deleteSubmodels", - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Ok." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No Content." - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/bpn-config/{bpn}" : { - "delete" : { - "tags" : [ - "BpnEdcMapping" - ], - "summary" : "Deletes BPN EDC URL mappings", - "description" : "The endpoint deletes BPN EDC URL mappings", - "operationId" : "deleteBpnEdcUrlMappings", - "parameters" : [ - { - "name" : "bpn", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "Deleted." - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Okay" - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - } - }, - "components" : { - "schemas" : { - "UpdatePolicyRequest" : { - "type" : "object", - "properties" : { - "businessPartnerNumbers" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "policyIds" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "validUntil" : { - "type" : "string", - "format" : "date-time" - } - } - }, - "ErrorResponse" : { - "type" : "object", - "properties" : { - "message" : { - "maxLength" : 1000, - "minLength" : 0, - "pattern" : "^.*$", - "type" : "string", - "example" : "Access Denied" - } - } - }, - "EditNotificationRequest" : { - "required" : [ - "affectedPartIds", - "description", - "receiverBpn", - "severity" - ], - "type" : "object", - "properties" : { - "title" : { - "maxLength" : 255, - "minLength" : 1, - "type" : "string", - "example" : "title" - }, - "receiverBpn" : { - "type" : "string", - "example" : "BPNL00000003CNKC" - }, - "severity" : { - "type" : "string", - "enum" : [ - "MINOR", - "MAJOR", - "CRITICAL", - "LIFE-THREATENING" - ] - }, - "targetDate" : { - "type" : "string", - "format" : "date-time", - "example" : "2099-03-11T22:44:06.333826952Z" - }, - "description" : { - "maxLength" : 1000, - "minLength" : 15, - "type" : "string", - "example" : "The description" - }, - "affectedPartIds" : { - "maxLength" : 50, - "minLength" : 1, - "maxItems" : 50, - "minItems" : 1, - "type" : "array", - "example" : [ - "urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978" - ], - "items" : { - "maxLength" : 50, - "minLength" : 1, - "type" : "string", - "example" : "[\"urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978\"]" - } - } - } - }, - "BpnMappingRequest" : { - "required" : [ - "bpn", - "url" - ], - "type" : "object", - "properties" : { - "bpn" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "url" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string" - } - } - }, - "BpnEdcMappingResponse" : { - "type" : "object", - "properties" : { - "bpn" : { - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "url" : { - "type" : "string", - "example" : "https://trace-x-test-edc.dev.demo.catena-x.net/a1" - } - } - }, - "Constraint" : { - "type" : "object", - "properties" : { - "leftOperand" : { - "type" : "string", - "example" : "string" - }, - "operator" : { - "$ref" : "#/components/schemas/Operator" - }, - "odrl:rightOperand" : { - "type" : "string", - "example" : "string" - } - } - }, - "Constraints" : { - "type" : "object", - "properties" : { - "and" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/Constraint" - } - }, - "or" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/Constraint" - } - } - } - }, - "Context" : { - "type" : "object", - "properties" : { - "odrl" : { - "type" : "string" - } - } - }, - "Operator" : { - "type" : "object", - "properties" : { - "@id" : { - "type" : "string", - "example" : "odrl:eq", - "enum" : [ - "eq", - "neq", - "lt", - "gt", - "in", - "lteq", - "gteq", - "isA", - "hasPart", - "isPartOf", - "isOneOf", - "isAllOf", - "isNoneOf" - ] - } - } - }, - "Payload" : { - "type" : "object", - "properties" : { - "@context" : { - "$ref" : "#/components/schemas/Context" - }, - "@id" : { - "type" : "string" - }, - "policy" : { - "$ref" : "#/components/schemas/Policy" - } - } - }, - "Permission" : { - "type" : "object", - "properties" : { - "action" : { - "type" : "string", - "example" : "use", - "enum" : [ - "access", - "use" - ] - }, - "constraint" : { - "$ref" : "#/components/schemas/Constraints" - } - } - }, - "Policy" : { - "type" : "object", - "properties" : { - "policyId" : { - "type" : "string", - "example" : "f253718e-a270-4367-901b-9d50d9bd8462" - }, - "createdOn" : { - "type" : "string", - "format" : "date-time" - }, - "validUntil" : { - "type" : "string", - "format" : "date-time" - }, - "permissions" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/Permission" - } - } - } - }, - "RegisterPolicyRequest" : { - "type" : "object", - "properties" : { - "validUntil" : { - "type" : "string", - "format" : "date-time" - }, - "businessPartnerNumber" : { - "type" : "string" - }, - "payload" : { - "$ref" : "#/components/schemas/Payload" - } - } - }, - "CreatePolicyResponse" : { - "type" : "object" - }, - "StartNotificationRequest" : { - "required" : [ - "receiverBpn", - "severity", - "type" - ], - "type" : "object", - "properties" : { - "title" : { - "maxLength" : 255, - "minLength" : 1, - "type" : "string", - "example" : "title" - }, - "affectedPartIds" : { - "maxLength" : 100, - "minLength" : 1, - "maxItems" : 50, - "minItems" : 1, - "type" : "array", - "example" : [ - "urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978" - ], - "items" : { - "maxLength" : 100, - "minLength" : 1, - "type" : "string", - "example" : "[\"urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978\"]" - } - }, - "description" : { - "maxLength" : 1000, - "minLength" : 15, - "type" : "string", - "example" : "The description" - }, - "targetDate" : { - "type" : "string", - "format" : "date-time", - "example" : "2099-03-11T22:44:06.333826952Z" - }, - "severity" : { - "type" : "string", - "enum" : [ - "MINOR", - "MAJOR", - "CRITICAL", - "LIFE-THREATENING" - ] - }, - "receiverBpn" : { - "type" : "string", - "example" : "BPNL00000003CNKC" - }, - "type" : { - "type" : "string", - "example" : "ALERT", - "enum" : [ - "ALERT", - "INVESTIGATION" - ] - } - } - }, - "NotificationIdResponse" : { - "type" : "object", - "properties" : { - "id" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - } - }, - "UpdateNotificationStatusTransitionRequest" : { - "required" : [ - "status" - ], - "type" : "object", - "properties" : { - "status" : { - "type" : "string", - "description" : "The UpdateInvestigationStatus", - "enum" : [ - "ACKNOWLEDGED", - "ACCEPTED", - "DECLINED" - ] - }, - "reason" : { - "type" : "string", - "example" : "The reason." - } - } - }, - "CloseNotificationRequest" : { - "type" : "object", - "properties" : { - "reason" : { - "maxLength" : 1000, - "minLength" : 15, - "type" : "string", - "example" : "The reason." - } - } - }, - "OwnPageable" : { - "type" : "object", - "properties" : { - "page" : { - "type" : "integer", - "format" : "int32" - }, - "size" : { - "type" : "integer", - "format" : "int32" - }, - "sort" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Content of Assets PageResults", - "example" : "manufacturerPartId,desc", - "items" : { - "type" : "string" - } - } - } - }, - "PageableFilterRequest" : { - "type" : "object", - "properties" : { - "pageAble" : { - "$ref" : "#/components/schemas/OwnPageable" - }, - "searchCriteria" : { - "$ref" : "#/components/schemas/SearchCriteriaRequestParam" - } - } - }, - "SearchCriteriaRequestParam" : { - "type" : "object", - "properties" : { - "filter" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Filter Criteria", - "example" : "owner,EQUAL,OWN", - "items" : { - "type" : "string" - } - } - } - }, - "NotificationMessageResponse" : { - "type" : "object", - "properties" : { - "id" : { - "type" : "string" - }, - "createdBy" : { - "type" : "string" - }, - "createdByName" : { - "type" : "string" - }, - "sendTo" : { - "type" : "string" - }, - "sendToName" : { - "type" : "string" - }, - "contractAgreementId" : { - "type" : "string" - }, - "notificationReferenceId" : { - "type" : "string" - }, - "targetDate" : { - "type" : "string", - "format" : "date-time" - }, - "severity" : { - "type" : "string", - "enum" : [ - "MINOR", - "MAJOR", - "CRITICAL", - "LIFE-THREATENING" - ] - }, - "edcNotificationId" : { - "type" : "string" - }, - "created" : { - "type" : "string", - "format" : "date-time" - }, - "updated" : { - "type" : "string", - "format" : "date-time" - }, - "messageId" : { - "type" : "string" - }, - "status" : { - "type" : "string", - "enum" : [ - "CREATED", - "SENT", - "RECEIVED", - "ACKNOWLEDGED", - "ACCEPTED", - "DECLINED", - "CANCELED", - "CLOSED" - ] - }, - "errorMessage" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "EDC not reachable" - } - } - }, - "NotificationReasonResponse" : { - "type" : "object", - "properties" : { - "close" : { - "maxLength" : 1000, - "minLength" : 0, - "type" : "string", - "example" : "description of closing reason" - }, - "accept" : { - "maxLength" : 1000, - "minLength" : 0, - "type" : "string", - "example" : "description of accepting reason" - }, - "decline" : { - "maxLength" : 1000, - "minLength" : 0, - "type" : "string", - "example" : "description of declining reason" - } - } - }, - "NotificationResponse" : { - "type" : "object", - "properties" : { - "id" : { - "maximum" : 255, - "minimum" : 0, - "maxLength" : 255, - "type" : "integer", - "format" : "int64", - "example" : 66 - }, - "title" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Title" - }, - "status" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "CREATED", - "enum" : [ - "CREATED", - "SENT", - "RECEIVED", - "ACKNOWLEDGED", - "ACCEPTED", - "DECLINED", - "CANCELED", - "CLOSED" - ] - }, - "description" : { - "maxLength" : 1000, - "minLength" : 0, - "type" : "string", - "example" : "DescriptionText" - }, - "createdBy" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003AYRE" - }, - "createdByName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "createdDate" : { - "maxLength" : 50, - "minLength" : 0, - "type" : "string", - "example" : "2023-02-21T21:27:10.734950Z" - }, - "assetIds" : { - "maxItems" : 1000, - "minItems" : 0, - "type" : "array", - "example" : [ - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd", - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd", - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd" - ], - "items" : { - "type" : "string", - "example" : "[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd\"]" - } - }, - "channel" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "SENDER", - "enum" : [ - "SENDER", - "RECEIVER" - ] - }, - "reason" : { - "$ref" : "#/components/schemas/NotificationReasonResponse" - }, - "sendTo" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003AYRE" - }, - "sendToName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "severity" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "MINOR", - "enum" : [ - "MINOR", - "MAJOR", - "CRITICAL", - "LIFE-THREATENING" - ] - }, - "type" : { - "maxLength" : 50, - "minLength" : 0, - "type" : "string", - "example" : "ALERT", - "enum" : [ - "ALERT", - "INVESTIGATION" - ] - }, - "targetDate" : { - "maxLength" : 50, - "minLength" : 0, - "type" : "string", - "example" : "2099-02-21T21:27:10.734950Z" - }, - "messages" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/NotificationMessageResponse" - } - } - } - }, - "CreateNotificationContractRequest" : { - "required" : [ - "notificationMethod", - "notificationType" - ], - "type" : "object", - "properties" : { - "notificationType" : { - "type" : "string", - "enum" : [ - "QUALITY_INVESTIGATION", - "QUALITY_ALERT" - ] - }, - "notificationMethod" : { - "type" : "string", - "enum" : [ - "RECEIVE", - "UPDATE", - "RESOLVE" - ] - } - } - }, - "CreateNotificationContractResponse" : { - "type" : "object", - "properties" : { - "notificationAssetId" : { - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "accessPolicyId" : { - "type" : "string", - "example" : "123" - }, - "contractDefinitionId" : { - "type" : "string", - "example" : "456" - } - } - }, - "ContractResponse" : { - "type" : "object", - "properties" : { - "contractId" : { - "maxLength" : 255, - "type" : "string", - "example" : "66" - }, - "counterpartyAddress" : { - "maxLength" : 255, - "type" : "string", - "example" : "https://trace-x-edc-e2e-a.dev.demo.catena-x.net/api/v1/dsp" - }, - "creationDate" : { - "maxLength" : 255, - "type" : "string", - "format" : "date-time", - "example" : "2023-02-21T21:27:10.73495Z" - }, - "endDate" : { - "maxLength" : 255, - "type" : "string", - "format" : "date-time", - "example" : "2023-02-21T21:27:10.73495Z" - }, - "state" : { - "maxLength" : 255, - "type" : "string", - "example" : "FINALIZED" - }, - "policy" : { - "maxLength" : 255, - "type" : "string", - "example" : "{\\\"@id\\\":\\\"eb0c8486-914a-4d36-84c0-b4971cbc52e4\\\",\\\"@type\\\":\\\"odrl:Set\\\",\\\"odrl:permission\\\":{\\\"odrl:target\\\":\\\"registry-asset\\\",\\\"odrl:action\\\":{\\\"odrl:type\\\":\\\"USE\\\"},\\\"odrl:constraint\\\":{\\\"odrl:or\\\":{\\\"odrl:leftOperand\\\":\\\"PURPOSE\\\",\\\"odrl:operator\\\":{\\\"@id\\\":\\\"odrl:eq\\\"},\\\"odrl:rightOperand\\\":\\\"ID 3.0 Trace\\\"}}},\\\"odrl:prohibition\\\":[],\\\"odrl:obligation\\\":[],\\\"odrl:target\\\":\\\"registry-asset\\\"}" - } - } - }, - "PageResultContractResponse" : { - "type" : "object", - "properties" : { - "content" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "description" : "Content of PageResults", - "items" : { - "$ref" : "#/components/schemas/ContractResponse" - } - }, - "page" : { - "type" : "integer", - "format" : "int32", - "example" : 1 - }, - "pageCount" : { - "type" : "integer", - "format" : "int32", - "example" : 15 - }, - "pageSize" : { - "type" : "integer", - "format" : "int32", - "example" : 10 - }, - "totalItems" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - } - }, - "RegisterAssetRequest" : { - "required" : [ - "assetIds", - "policyId" - ], - "type" : "object", - "properties" : { - "policyId" : { - "type" : "string", - "example" : "a644a7cb-3de5-493b-9259-f01db315a46e" - }, - "assetIds" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - } - }, - "ImportResponse" : { - "type" : "object", - "properties" : { - "jobId" : { - "type" : "string" - }, - "importStateMessage" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ImportStateMessage" - } - }, - "validationResult" : { - "$ref" : "#/components/schemas/ValidationResponse" - } - } - }, - "ImportStateMessage" : { - "type" : "object", - "properties" : { - "catenaXId" : { - "type" : "string" - }, - "persistedOrUpdated" : { - "type" : "boolean" - } - } - }, - "ValidationResponse" : { - "type" : "object", - "properties" : { - "validationErrors" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - } - }, - "SyncAssetsRequest" : { - "type" : "object", - "properties" : { - "globalAssetIds" : { - "maxItems" : 100, - "minItems" : 1, - "type" : "array", - "example" : [ - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - ], - "items" : { - "type" : "string", - "example" : "[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\"]" - } - } - } - }, - "GetDetailInformationRequest" : { - "type" : "object", - "properties" : { - "assetIds" : { - "maxLength" : 50, - "minLength" : 1, - "maxItems" : 50, - "minItems" : 1, - "type" : "array", - "example" : [ - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - ], - "items" : { - "maxLength" : 50, - "minLength" : 1, - "type" : "string", - "example" : "[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\"]" - } - } - } - }, - "DescriptionsResponse" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:a4a26b9c-9460-4cc5-8645-85916b86adb0" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - } - } - }, - "DetailAspectDataAsBuiltResponse" : { - "type" : "object", - "properties" : { - "partId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "95657762-59" - }, - "customerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "01697F7-65" - }, - "nameAtCustomer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Door front-left" - }, - "manufacturingCountry" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "DEU" - }, - "manufacturingDate" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "2022-02-04T13:48:54Z" - } - } - }, - "DetailAspectDataAsPlannedResponse" : { - "type" : "object", - "properties" : { - "validityPeriodFrom" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "2022-09-26T12:43:51.079Z" - }, - "validityPeriodTo" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "20232-07-13T12:00:00.000Z" - } - } - }, - "DetailAspectDataResponse" : { - "type" : "object", - "oneOf" : [ - { - "$ref" : "#/components/schemas/DetailAspectDataAsBuiltResponse" - }, - { - "$ref" : "#/components/schemas/DetailAspectDataAsPlannedResponse" - }, - { - "$ref" : "#/components/schemas/PartSiteInformationAsPlannedResponse" - }, - { - "$ref" : "#/components/schemas/DetailAspectDataTractionBatteryCodeResponse" - } - ] - }, - "DetailAspectDataTractionBatteryCodeResponse" : { - "type" : "object", - "properties" : { - "productType" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "pack" - }, - "tractionBatteryCode" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "X12MCPM27KLPCLX2M2382320" - }, - "subcomponents" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectDataTractionBatteryCodeSubcomponentResponse" - } - } - } - }, - "DetailAspectDataTractionBatteryCodeSubcomponentResponse" : { - "type" : "object", - "properties" : { - "productType" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "pack" - }, - "tractionBatteryCode" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "X12MCPM27KLPCLX2M2382320" - } - } - }, - "DetailAspectModelResponse" : { - "type" : "object", - "properties" : { - "type" : { - "type" : "string", - "example" : "PART_SITE_INFORMATION_AS_PLANNED", - "enum" : [ - "AS_BUILT", - "AS_PLANNED", - "TRACTION_BATTERY_CODE", - "SINGLE_LEVEL_BOM_AS_BUILT", - "SINGLE_LEVEL_USAGE_AS_BUILT", - "SINGLE_LEVEL_BOM_AS_PLANNED", - "PART_SITE_INFORMATION_AS_PLANNED" - ] - }, - "data" : { - "$ref" : "#/components/schemas/DetailAspectDataResponse" - } - } - }, - "PartSiteInformationAsPlannedResponse" : { - "type" : "object", - "properties" : { - "functionValidUntil" : { - "type" : "string", - "example" : "2025-02-08T04:30:48.000Z" - }, - "function" : { - "type" : "string", - "example" : "production" - }, - "functionValidFrom" : { - "type" : "string", - "example" : "2023-10-13T14:30:45+01:00" - }, - "catenaXSiteId" : { - "type" : "string", - "example" : "urn:uuid:0fed587c-7ab4-4597-9841-1718e9693003" - } - } - }, - "UpdateAssetRequest" : { - "required" : [ - "qualityType" - ], - "type" : "object", - "properties" : { - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - } - } - }, - "IrsPolicyResponse" : { - "type" : "object", - "properties" : { - "validUntil" : { - "type" : "string", - "format" : "date-time" - }, - "payload" : { - "$ref" : "#/components/schemas/Payload" - } - }, - "example" : [ - { - "validUntil" : "2025-12-12T23:59:59.999Z", - "payload" : { - "@context" : { - "@vocab" : "https://w3id.org/edc/v0.0.1/ns/", - "edc" : "https://w3id.org/edc/v0.0.1/ns/", - "cx-policy" : "https://w3id.org/catenax/policy/", - "odrl" : "http://www.w3.org/ns/odrl/2/" - }, - "@id" : "policy-id", - "policy" : { - "odrl:permission" : [ - { - "odrl:action" : "use", - "odrl:constraint" : { - "odrl:and" : [ - { - "odrl:leftOperand" : "Membership", - "odrl:operator" : { - "@id" : "odrl:eq" - }, - "odrl:rightOperand" : "active" - }, - { - "odrl:leftOperand" : "PURPOSE", - "odrl:operator" : { - "@id" : "odrl:eq" - }, - "odrl:rightOperand" : "ID 3.1 Trace" - } - ] - } - } - ] - } - } - } - ] - }, - "ConstraintResponse" : { - "type" : "object", - "properties" : { - "leftOperand" : { - "type" : "string", - "example" : "PURPOSE" - }, - "operatorTypeResponse" : { - "type" : "string", - "enum" : [ - "EQ", - "NEQ", - "LT", - "GT", - "IN", - "LTEQ", - "GTEQ", - "ISA", - "HASPART", - "ISPARTOF", - "ISONEOF", - "ISALLOF", - "ISNONEOF" - ] - }, - "rightOperand" : { - "type" : "string", - "example" : "ID Trace 3.1" - } - } - }, - "ConstraintsResponse" : { - "type" : "object", - "properties" : { - "and" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ConstraintResponse" - } - }, - "or" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ConstraintResponse" - } - } - } - }, - "PermissionResponse" : { - "type" : "object", - "properties" : { - "action" : { - "type" : "string", - "example" : "USE", - "enum" : [ - "ACCESS", - "USE" - ] - }, - "constraints" : { - "$ref" : "#/components/schemas/ConstraintsResponse" - } - } - }, - "PolicyResponse" : { - "type" : "object", - "properties" : { - "policyId" : { - "type" : "string", - "example" : "5a00bb50-0253-405f-b9f1-1a3150b9d51d" - }, - "createdOn" : { - "type" : "string", - "format" : "date-time" - }, - "validUntil" : { - "type" : "string", - "format" : "date-time" - }, - "permissions" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/PermissionResponse" - } - }, - "businessPartnerNumber" : { - "type" : "string" - } - } - }, - "DashboardResponse" : { - "type" : "object", - "properties" : { - "asBuiltCustomerParts" : { - "type" : "integer", - "format" : "int64", - "example" : 5 - }, - "asPlannedCustomerParts" : { - "type" : "integer", - "format" : "int64", - "example" : 10 - }, - "asBuiltSupplierParts" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - }, - "asPlannedSupplierParts" : { - "type" : "integer", - "format" : "int64", - "example" : 3 - }, - "asBuiltOwnParts" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - }, - "asPlannedOwnParts" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - }, - "myPartsWithOpenAlerts" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - }, - "myPartsWithOpenInvestigations" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - }, - "supplierPartsWithOpenAlerts" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - }, - "customerPartsWithOpenAlerts" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - }, - "supplierPartsWithOpenInvestigations" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - }, - "customerPartsWithOpenInvestigations" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - }, - "receivedActiveAlerts" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - }, - "receivedActiveInvestigations" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - }, - "sentActiveAlerts" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - }, - "sentActiveInvestigations" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - } - }, - "ImportJobResponse" : { - "type" : "object", - "properties" : { - "importJobStatus" : { - "type" : "string", - "enum" : [ - "INITIALIZING", - "RUNNING", - "ERROR", - "COMPLETED" - ] - }, - "importId" : { - "type" : "string", - "example" : "456a952e-05eb-40dc-a6f2-9c2cb9c1387f" - }, - "startedOn" : { - "maxLength" : 50, - "type" : "string", - "example" : "2099-02-21T21:27:10.734950Z" - }, - "completedOn" : { - "maxLength" : 50, - "type" : "string", - "example" : "2099-02-21T21:27:10.734950Z" - } - } - }, - "ImportReportResponse" : { - "type" : "object", - "properties" : { - "importJob" : { - "$ref" : "#/components/schemas/ImportJobResponse" - }, - "importedAsset" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ImportedAssetResponse" - } - } - } - }, - "ImportedAssetResponse" : { - "type" : "object", - "properties" : { - "importState" : { - "type" : "string", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "catenaxId" : { - "type" : "string", - "example" : "urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd}" - }, - "importedOn" : { - "maxLength" : 50, - "type" : "string", - "example" : "2099-02-21T21:27:10.734950Z" - }, - "importMessage" : { - "type" : "string", - "example" : "Asset created successfully in transient state." - } - } - } - }, - "securitySchemes" : { - "oAuth2" : { - "type" : "oauth2", - "flows" : { - "clientCredentials" : { - "tokenUrl" : "https://example.com/api/oauth/token", - "scopes" : { - "profile email" : "" - } - } - } - } - } - } -} +{"openapi":"3.0.1","info":{"title":"Tractus-X Traceability Foss","description":"Trace-FOSS is a system for tracking parts along the supply chain. A high level of transparency across the supplier network enables faster intervention based on a recorded event in the supply chain. This saves costs by seamlessly tracking parts and creates trust through clearly defined and secure data access by the companies and persons involved in the process.","license":{"name":"License: Apache 2.0"},"version":"1.0.0"},"servers":[{"url":"http://localhost:9998/api","description":"Generated server url"}],"security":[{"oAuth2":["profile email"]}],"paths":{"/policies":{"get":{"tags":["Policies"],"summary":"Get all policies ","description":"The endpoint returns all policies .","operationId":"policy","responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the policies","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IrsPolicyResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"put":{"tags":["Policies"],"summary":"Updates policies ","description":"The endpoint updates policies.","operationId":"updatePolicy","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePolicyRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Update successful","content":{"application/json":{}}}},"security":[{"oAuth2":["profile email"]}]},"post":{"tags":["Policies"],"summary":"Create a policy ","description":"The endpoint creates a policy.","operationId":"createPolicy","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterPolicyRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the policies","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePolicyResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/{notificationId}/edit":{"put":{"tags":["Notifications"],"summary":"Update notification by id","description":"The endpoint updates notification by their id.","operationId":"updateNotification","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditNotificationRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/bpn-config":{"get":{"tags":["BpnEdcMapping"],"summary":"Get BPN EDC URL mappings","description":"The endpoint returns a result of BPN EDC URL mappings.","operationId":"getBpnEdcs","responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/BpnEdcMappingResponse"}}}}}},"security":[{"oAuth2":["profile email"]}]},"put":{"tags":["BpnEdcMapping"],"summary":"Updates BPN EDC URL mappings","description":"The endpoint updates BPN EDC URL mappings","operationId":"updateBpnEdcMappings","requestBody":{"content":{"application/json":{"schema":{"maxItems":1000,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/BpnMappingRequest"}}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for BpnEdcMapping","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/BpnEdcMappingResponse"}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"post":{"tags":["BpnEdcMapping"],"summary":"Creates BPN EDC URL mappings","description":"The endpoint creates BPN EDC URL mappings","operationId":"createBpnEdcUrlMappings","requestBody":{"content":{"application/json":{"schema":{"maxItems":1000,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/BpnMappingRequest"}}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for BpnEdcMapping","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/BpnEdcMappingResponse"}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/submodel/data/{submodelId}":{"get":{"tags":["Submodel"],"summary":"Gets Submodel by its id","description":"The endpoint returns Submodel for given id. Used for data providing functionality","operationId":"getSubmodelById","parameters":[{"name":"submodelId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns submodel payload","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"post":{"tags":["Submodel"],"summary":"Save Submodel","description":"This endpoint allows you to save a Submodel identified by its ID.","operationId":"saveSubmodel","parameters":[{"name":"submodelId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Ok."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications":{"post":{"tags":["Notifications"],"summary":"Start notification by part ids","description":"The endpoint starts notification based on part ids provided.","operationId":"notifyAssets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartNotificationRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationIdResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/{notificationId}/update":{"post":{"tags":["Notifications"],"summary":"Update notification by id","description":"The endpoint updates notification by their id.","operationId":"updateNotification_1","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNotificationStatusTransitionRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/{notificationId}/close":{"post":{"tags":["Notifications"],"summary":"Close notification by id","description":"The endpoint closes Notification by id.","operationId":"closeNotification","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseNotificationRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"200":{"description":"Ok."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/{notificationId}/cancel":{"post":{"tags":["Notifications"],"summary":"Cancels notification by id","description":"The endpoint cancels notification by id.","operationId":"cancelNotification","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Ok."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/{notificationId}/approve":{"post":{"tags":["Notifications"],"summary":"Approves notification by id","description":"The endpoint approves notification by id.","operationId":"approveNotification","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Ok."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/filter":{"post":{"tags":["Notifications"],"summary":"Filter notifications defined by the request body","description":"The endpoint returns notifications as paged result.","operationId":"filterNotifications","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageableFilterRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Notifications","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Notifications","items":{"type":"object","properties":{"id":{"maximum":255,"minimum":0,"maxLength":255,"type":"integer","format":"int64","example":66},"title":{"maxLength":255,"minLength":0,"type":"string","example":"Title"},"status":{"maxLength":255,"minLength":0,"type":"string","example":"CREATED","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CANCELED","CLOSED"]},"description":{"maxLength":1000,"minLength":0,"type":"string","example":"DescriptionText"},"createdBy":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003AYRE"},"createdByName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"createdDate":{"maxLength":50,"minLength":0,"type":"string","example":"2023-02-21T21:27:10.734950Z"},"updatedDate":{"maxLength":50,"minLength":0,"type":"string","example":"2023-02-21T21:27:10.734950Z"},"assetIds":{"maxItems":1000,"minItems":0,"type":"array","example":["urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd","urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd","urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd"],"items":{"type":"string","example":"[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd\"]"}},"channel":{"maxLength":255,"minLength":0,"type":"string","example":"SENDER","enum":["SENDER","RECEIVER"]},"sendTo":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003AYRE"},"sendToName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"severity":{"maxLength":255,"minLength":0,"type":"string","example":"MINOR","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"]},"type":{"maxLength":50,"minLength":0,"type":"string","example":"ALERT","enum":["ALERT","INVESTIGATION"]},"targetDate":{"maxLength":50,"minLength":0,"type":"string","example":"2099-02-21T21:27:10.734950Z"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/NotificationMessageResponse"}}}}}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/edc/notification/contract":{"post":{"tags":["Notifications"],"summary":"Triggers EDC notification contract","description":"The endpoint Triggers EDC notification contract based on notification type and method","operationId":"createNotificationContract","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNotificationContractRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNotificationContractResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/contracts":{"post":{"tags":["Contracts"],"summary":"All contract agreements for all assets","description":"This endpoint returns all contract agreements for all assets in Trace-X","operationId":"contracts","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageableFilterRequest"}}},"required":true},"responses":{"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Too many requests."}}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Authorization failed."}}}}},"200":{"description":"Ok.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","description":"PageResults","items":{"$ref":"#/components/schemas/PageResultContractResponse"}}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Internal server error."}}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Forbidden."}}}}},"415":{"description":"Unsupported media type.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Unsupported media type."}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Bad request."}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Not found."}}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/publish":{"post":{"tags":["AssetsImport","AssetsPublish"],"summary":"asset publish","description":"This endpoint publishes assets to the Catena-X network.","operationId":"publishAssets","parameters":[{"name":"triggerSynchronizeAssets","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterAssetRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK.","content":{"application/json":{}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/import":{"post":{"tags":["AssetsImport"],"summary":"asset upload","description":"This endpoint stores assets in the application. Those can be later published in the Catena-X network.","operationId":"importJson","requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/sync":{"post":{"tags":["AssetsAsPlanned"],"summary":"Synchronizes assets from IRS","description":"The endpoint synchronizes the assets from irs.","operationId":"sync","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncAssetsRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created."}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/detail-information":{"post":{"tags":["AssetsAsPlanned"],"summary":"Searches for assets by ids.","description":"The endpoint searchs for assets by id and returns a list of them.","operationId":"getDetailInformation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDetailInformationRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/sync":{"post":{"tags":["AssetsAsBuilt"],"summary":"Synchronizes assets from IRS","description":"The endpoint synchronizes the assets from irs.","operationId":"sync_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncAssetsRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created."}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/detail-information":{"post":{"tags":["AssetsAsBuilt"],"summary":"Searches for assets by ids.","description":"The endpoint searchs for assets by id and returns a list of them.","operationId":"getDetailInformation_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDetailInformationRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/{assetId}":{"get":{"tags":["AssetsAsPlanned"],"summary":"Get asset by id","description":"The endpoint returns an asset filtered by id .","operationId":"assetById","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the assets found","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"patch":{"tags":["AssetsAsPlanned"],"summary":"Updates asset","description":"The endpoint updates asset by provided quality type.","operationId":"updateAsset","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAssetRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the updated asset","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/{assetId}":{"get":{"tags":["AssetsAsBuilt"],"summary":"Get asset by id","description":"The endpoint returns an asset filtered by id .","operationId":"assetById_1","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the assets found","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"patch":{"tags":["AssetsAsBuilt"],"summary":"Updates asset","description":"The endpoint updates asset by provided quality type.","operationId":"updateAsset_1","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAssetRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the updated asset","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/registry/reload":{"get":{"tags":["Registry"],"summary":"Triggers reload of shell descriptors","description":"The endpoint Triggers reload of shell descriptors.","operationId":"reload","responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"202":{"description":"Created registry reload job."},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/policies/{policyId}":{"get":{"tags":["Policies"],"summary":"Gets policy by id","description":"The endpoint returns policy by id.","operationId":"getPolicyById","parameters":[{"name":"policyId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the policies","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"delete":{"tags":["Policies"],"summary":"Deletes a policy ","description":"The endpoint deletes policies.","operationId":"deletePolicy","parameters":[{"name":"policyId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Deletion successful","content":{"application/json":{}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/{notificationId}":{"get":{"tags":["Notifications"],"summary":"Gets notification by id","description":"The endpoint returns notification by id.","operationId":"getNotification","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK.","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Notifications","items":{"$ref":"#/components/schemas/NotificationResponse"}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/distinctFilterValues":{"get":{"tags":["Notifications"],"summary":"getDistinctFilterValues","description":"The endpoint returns a distinct filter values for given fieldName of notification.","operationId":"distinctFilterValues","parameters":[{"name":"fieldName","in":"query","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"startWith","in":"query","required":true,"schema":{"type":"string"}},{"name":"channel","in":"query","required":true,"schema":{"type":"string","enum":["SENDER","RECEIVER"]}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns a distinct filter values for given fieldName.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"type":"string"}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/dashboard":{"get":{"tags":["Dashboard"],"summary":"Returns dashboard related data","description":"The endpoint can return limited data based on the user role","operationId":"dashboard","responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns dashboard data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/import/report/{importJobId}":{"get":{"tags":["ImportReport","AssetsImport"],"summary":"report of the imported assets","description":"This endpoint returns information about the imported assets to Trace-X.","operationId":"importReport","parameters":[{"name":"importJobId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportReportResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned":{"get":{"tags":["AssetsAsPlanned"],"summary":"Get assets by pagination","description":"The endpoint returns a paged result of assets.","operationId":"AssetsAsPlanned","parameters":[{"name":"pageable","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OwnPageable"}},{"name":"filter","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchCriteriaRequestParam"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/distinctFilterValues":{"get":{"tags":["Assets","AssetsAsPlanned"],"summary":"getDistinctFilterValues","description":"The endpoint returns a distinct filter values for given fieldName.","operationId":"distinctFilterValues_1","parameters":[{"name":"fieldName","in":"query","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"startWith","in":"query","required":false,"schema":{"type":"string"}},{"name":"owner","in":"query","required":false,"schema":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]}},{"name":"inAssetIds","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns a distinct filter values for given fieldName.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"type":"string"}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/*/children/{childId}":{"get":{"tags":["AssetsAsPlanned"],"summary":"Get asset by child id","description":"The endpoint returns an asset filtered by child id.","operationId":"assetByChildIdAndAssetId","parameters":[{"name":"childId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the asset by childId","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built":{"get":{"tags":["AssetsAsBuilt"],"summary":"Get assets by pagination","description":"The endpoint returns a paged result of assets.","operationId":"assets","parameters":[{"name":"pageable","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OwnPageable"}},{"name":"searchCriteriaRequestParam","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchCriteriaRequestParam"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/distinctFilterValues":{"get":{"tags":["AssetsAsBuilt","Assets"],"summary":"getDistinctFilterValues","description":"The endpoint returns a distinct filter values for given fieldName.","operationId":"distinctFilterValues_2","parameters":[{"name":"fieldName","in":"query","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"startWith","in":"query","required":false,"schema":{"type":"string"}},{"name":"owner","in":"query","required":false,"schema":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]}},{"name":"inAssetIds","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns a distinct filter values for given fieldName.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"type":"string"}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/countries":{"get":{"tags":["AssetsAsBuilt"],"summary":"Get map of assets","description":"The endpoint returns a map for assets consumed by the map.","operationId":"assetsCountryMap","responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the assets found","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"type":"string"}}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/*/children/{childId}":{"get":{"tags":["AssetsAsBuilt"],"summary":"Get asset by child id","description":"The endpoint returns an asset filtered by child id.","operationId":"assetByChildId","parameters":[{"name":"childId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the asset by childId","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/submodel/data":{"delete":{"tags":["Submodel"],"summary":"Delete All Submodels","description":"Deletes all submodels from the system.","operationId":"deleteSubmodels","responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Ok."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/bpn-config/{bpn}":{"delete":{"tags":["BpnEdcMapping"],"summary":"Deletes BPN EDC URL mappings","description":"The endpoint deletes BPN EDC URL mappings","operationId":"deleteBpnEdcUrlMappings","parameters":[{"name":"bpn","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Deleted."},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Okay"}},"security":[{"oAuth2":["profile email"]}]}}},"components":{"schemas":{"UpdatePolicyRequest":{"type":"object","properties":{"businessPartnerNumbers":{"type":"array","items":{"type":"string"}},"policyIds":{"type":"array","items":{"type":"string"}},"validUntil":{"type":"string","format":"date-time"}}},"ErrorResponse":{"type":"object","properties":{"message":{"maxLength":1000,"minLength":0,"pattern":"^.*$","type":"string","example":"Access Denied"}}},"EditNotificationRequest":{"required":["affectedPartIds","description","receiverBpn","severity"],"type":"object","properties":{"title":{"maxLength":255,"minLength":1,"type":"string","example":"title"},"receiverBpn":{"type":"string","example":"BPNL00000003CNKC"},"severity":{"type":"string","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"]},"targetDate":{"type":"string","format":"date-time","example":"2099-03-11T22:44:06.333826952Z"},"description":{"maxLength":1000,"minLength":15,"type":"string","example":"The description"},"affectedPartIds":{"maxLength":50,"minLength":1,"maxItems":50,"minItems":1,"type":"array","example":["urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978"],"items":{"maxLength":50,"minLength":1,"type":"string","example":"[\"urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978\"]"}}}},"BpnMappingRequest":{"required":["bpn","url"],"type":"object","properties":{"bpn":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"url":{"maxLength":255,"minLength":0,"type":"string"}}},"BpnEdcMappingResponse":{"type":"object","properties":{"bpn":{"type":"string","example":"BPNL00000003CSGV"},"url":{"type":"string","example":"https://trace-x-test-edc.dev.demo.catena-x.net/a1"}}},"Constraint":{"type":"object","properties":{"leftOperand":{"type":"string","example":"string"},"operator":{"$ref":"#/components/schemas/Operator"},"odrl:rightOperand":{"type":"string","example":"string"}}},"Constraints":{"type":"object","properties":{"and":{"type":"array","items":{"$ref":"#/components/schemas/Constraint"}},"or":{"type":"array","items":{"$ref":"#/components/schemas/Constraint"}}}},"Context":{"type":"object","properties":{"odrl":{"type":"string"}}},"Operator":{"type":"object","properties":{"@id":{"type":"string","example":"odrl:eq","enum":["eq","neq","lt","gt","in","lteq","gteq","isA","hasPart","isPartOf","isOneOf","isAllOf","isNoneOf"]}}},"Payload":{"type":"object","properties":{"@context":{"$ref":"#/components/schemas/Context"},"@id":{"type":"string"},"policy":{"$ref":"#/components/schemas/Policy"}}},"Permission":{"type":"object","properties":{"action":{"type":"string","example":"use","enum":["access","use"]},"constraint":{"$ref":"#/components/schemas/Constraints"}}},"Policy":{"type":"object","properties":{"policyId":{"type":"string","example":"f253718e-a270-4367-901b-9d50d9bd8462"},"createdOn":{"type":"string","format":"date-time"},"validUntil":{"type":"string","format":"date-time"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/Permission"}}}},"RegisterPolicyRequest":{"type":"object","properties":{"validUntil":{"type":"string","format":"date-time"},"businessPartnerNumber":{"type":"string"},"payload":{"$ref":"#/components/schemas/Payload"}}},"CreatePolicyResponse":{"type":"object"},"StartNotificationRequest":{"required":["receiverBpn","severity","type"],"type":"object","properties":{"title":{"maxLength":255,"minLength":1,"type":"string","example":"title"},"affectedPartIds":{"maxLength":100,"minLength":1,"maxItems":50,"minItems":1,"type":"array","example":["urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978"],"items":{"maxLength":100,"minLength":1,"type":"string","example":"[\"urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978\"]"}},"description":{"maxLength":1000,"minLength":15,"type":"string","example":"The description"},"targetDate":{"type":"string","format":"date-time","example":"2099-03-11T22:44:06.333826952Z"},"severity":{"type":"string","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"]},"receiverBpn":{"type":"string","example":"BPNL00000003CNKC"},"type":{"type":"string","example":"ALERT","enum":["ALERT","INVESTIGATION"]}}},"NotificationIdResponse":{"type":"object","properties":{"id":{"type":"integer","format":"int64","example":1}}},"UpdateNotificationStatusTransitionRequest":{"required":["status"],"type":"object","properties":{"status":{"type":"string","description":"The UpdateInvestigationStatus","enum":["ACKNOWLEDGED","ACCEPTED","DECLINED"]},"reason":{"type":"string","example":"The reason."}}},"CloseNotificationRequest":{"type":"object","properties":{"reason":{"maxLength":1000,"minLength":15,"type":"string","example":"The reason."}}},"OwnPageable":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"sort":{"maxItems":2147483647,"type":"array","description":"Content of Assets PageResults","example":"manufacturerPartId,desc","items":{"type":"string"}}}},"PageableFilterRequest":{"type":"object","properties":{"pageAble":{"$ref":"#/components/schemas/OwnPageable"},"searchCriteria":{"$ref":"#/components/schemas/SearchCriteriaRequestParam"}}},"SearchCriteriaRequestParam":{"type":"object","properties":{"filter":{"maxItems":2147483647,"type":"array","description":"Filter Criteria","example":"owner,EQUAL,OWN","items":{"type":"string"}}}},"NotificationMessageResponse":{"type":"object","properties":{"id":{"type":"string"},"sentBy":{"type":"string"},"sentByName":{"type":"string"},"sendTo":{"type":"string"},"sendToName":{"type":"string"},"contractAgreementId":{"type":"string"},"notificationReferenceId":{"type":"string"},"edcNotificationId":{"type":"string"},"messageDate":{"type":"string","format":"date-time"},"messageId":{"type":"string"},"status":{"type":"string","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CANCELED","CLOSED"]},"errorMessage":{"maxLength":255,"minLength":0,"type":"string","example":"EDC not reachable"},"message":{"type":"string"}}},"NotificationResponse":{"type":"object","properties":{"id":{"maximum":255,"minimum":0,"maxLength":255,"type":"integer","format":"int64","example":66},"title":{"maxLength":255,"minLength":0,"type":"string","example":"Title"},"status":{"maxLength":255,"minLength":0,"type":"string","example":"CREATED","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CANCELED","CLOSED"]},"description":{"maxLength":1000,"minLength":0,"type":"string","example":"DescriptionText"},"createdBy":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003AYRE"},"createdByName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"createdDate":{"maxLength":50,"minLength":0,"type":"string","example":"2023-02-21T21:27:10.734950Z"},"updatedDate":{"maxLength":50,"minLength":0,"type":"string","example":"2023-02-21T21:27:10.734950Z"},"assetIds":{"maxItems":1000,"minItems":0,"type":"array","example":["urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd","urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd","urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd"],"items":{"type":"string","example":"[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd\"]"}},"channel":{"maxLength":255,"minLength":0,"type":"string","example":"SENDER","enum":["SENDER","RECEIVER"]},"sendTo":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003AYRE"},"sendToName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"severity":{"maxLength":255,"minLength":0,"type":"string","example":"MINOR","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"]},"type":{"maxLength":50,"minLength":0,"type":"string","example":"ALERT","enum":["ALERT","INVESTIGATION"]},"targetDate":{"maxLength":50,"minLength":0,"type":"string","example":"2099-02-21T21:27:10.734950Z"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/NotificationMessageResponse"}}}},"CreateNotificationContractRequest":{"required":["notificationMethod","notificationType"],"type":"object","properties":{"notificationType":{"type":"string","enum":["QUALITY_INVESTIGATION","QUALITY_ALERT"]},"notificationMethod":{"type":"string","enum":["RECEIVE","UPDATE","RESOLVE"]}}},"CreateNotificationContractResponse":{"type":"object","properties":{"notificationAssetId":{"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"accessPolicyId":{"type":"string","example":"123"},"contractDefinitionId":{"type":"string","example":"456"}}},"ContractResponse":{"type":"object","properties":{"contractId":{"maxLength":255,"type":"string","example":"66"},"counterpartyAddress":{"maxLength":255,"type":"string","example":"https://trace-x-edc-e2e-a.dev.demo.catena-x.net/api/v1/dsp"},"creationDate":{"maxLength":255,"type":"string","format":"date-time","example":"2023-02-21T21:27:10.73495Z"},"endDate":{"maxLength":255,"type":"string","format":"date-time","example":"2023-02-21T21:27:10.73495Z"},"state":{"maxLength":255,"type":"string","example":"FINALIZED"},"policy":{"maxLength":255,"type":"string","example":"{\\\"@id\\\":\\\"eb0c8486-914a-4d36-84c0-b4971cbc52e4\\\",\\\"@type\\\":\\\"odrl:Set\\\",\\\"odrl:permission\\\":{\\\"odrl:target\\\":\\\"registry-asset\\\",\\\"odrl:action\\\":{\\\"odrl:type\\\":\\\"USE\\\"},\\\"odrl:constraint\\\":{\\\"odrl:or\\\":{\\\"odrl:leftOperand\\\":\\\"PURPOSE\\\",\\\"odrl:operator\\\":{\\\"@id\\\":\\\"odrl:eq\\\"},\\\"odrl:rightOperand\\\":\\\"ID 3.0 Trace\\\"}}},\\\"odrl:prohibition\\\":[],\\\"odrl:obligation\\\":[],\\\"odrl:target\\\":\\\"registry-asset\\\"}"}}},"PageResultContractResponse":{"type":"object","properties":{"content":{"maxItems":2147483647,"minItems":0,"type":"array","description":"Content of PageResults","items":{"$ref":"#/components/schemas/ContractResponse"}},"page":{"type":"integer","format":"int32","example":1},"pageCount":{"type":"integer","format":"int32","example":15},"pageSize":{"type":"integer","format":"int32","example":10},"totalItems":{"type":"integer","format":"int64","example":2}}},"RegisterAssetRequest":{"required":["assetIds","policyId"],"type":"object","properties":{"policyId":{"type":"string","example":"a644a7cb-3de5-493b-9259-f01db315a46e"},"assetIds":{"type":"array","items":{"type":"string"}}}},"ImportResponse":{"type":"object","properties":{"jobId":{"type":"string"},"importStateMessage":{"type":"array","items":{"$ref":"#/components/schemas/ImportStateMessage"}},"validationResult":{"$ref":"#/components/schemas/ValidationResponse"}}},"ImportStateMessage":{"type":"object","properties":{"catenaXId":{"type":"string"},"persistedOrUpdated":{"type":"boolean"}}},"ValidationResponse":{"type":"object","properties":{"validationErrors":{"type":"array","items":{"type":"string"}}}},"SyncAssetsRequest":{"type":"object","properties":{"globalAssetIds":{"maxItems":100,"minItems":1,"type":"array","example":["urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"],"items":{"type":"string","example":"[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\"]"}}}},"GetDetailInformationRequest":{"type":"object","properties":{"assetIds":{"maxLength":50,"minLength":1,"maxItems":50,"minItems":1,"type":"array","example":["urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"],"items":{"maxLength":50,"minLength":1,"type":"string","example":"[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\"]"}}}},"DescriptionsResponse":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:a4a26b9c-9460-4cc5-8645-85916b86adb0"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"}}},"DetailAspectDataAsBuiltResponse":{"type":"object","properties":{"partId":{"maxLength":255,"minLength":0,"type":"string","example":"95657762-59"},"customerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"01697F7-65"},"nameAtCustomer":{"maxLength":255,"minLength":0,"type":"string","example":"Door front-left"},"manufacturingCountry":{"maxLength":255,"minLength":0,"type":"string","example":"DEU"},"manufacturingDate":{"maxLength":255,"minLength":0,"type":"string","example":"2022-02-04T13:48:54Z"}}},"DetailAspectDataAsPlannedResponse":{"type":"object","properties":{"validityPeriodFrom":{"maxLength":255,"minLength":0,"type":"string","example":"2022-09-26T12:43:51.079Z"},"validityPeriodTo":{"maxLength":255,"minLength":0,"type":"string","example":"20232-07-13T12:00:00.000Z"}}},"DetailAspectDataResponse":{"type":"object","oneOf":[{"$ref":"#/components/schemas/DetailAspectDataAsBuiltResponse"},{"$ref":"#/components/schemas/DetailAspectDataAsPlannedResponse"},{"$ref":"#/components/schemas/PartSiteInformationAsPlannedResponse"},{"$ref":"#/components/schemas/DetailAspectDataTractionBatteryCodeResponse"}]},"DetailAspectDataTractionBatteryCodeResponse":{"type":"object","properties":{"productType":{"maxLength":255,"minLength":0,"type":"string","example":"pack"},"tractionBatteryCode":{"maxLength":255,"minLength":0,"type":"string","example":"X12MCPM27KLPCLX2M2382320"},"subcomponents":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectDataTractionBatteryCodeSubcomponentResponse"}}}},"DetailAspectDataTractionBatteryCodeSubcomponentResponse":{"type":"object","properties":{"productType":{"maxLength":255,"minLength":0,"type":"string","example":"pack"},"tractionBatteryCode":{"maxLength":255,"minLength":0,"type":"string","example":"X12MCPM27KLPCLX2M2382320"}}},"DetailAspectModelResponse":{"type":"object","properties":{"type":{"type":"string","example":"PART_SITE_INFORMATION_AS_PLANNED","enum":["AS_BUILT","AS_PLANNED","TRACTION_BATTERY_CODE","SINGLE_LEVEL_BOM_AS_BUILT","SINGLE_LEVEL_USAGE_AS_BUILT","SINGLE_LEVEL_BOM_AS_PLANNED","PART_SITE_INFORMATION_AS_PLANNED"]},"data":{"$ref":"#/components/schemas/DetailAspectDataResponse"}}},"PartSiteInformationAsPlannedResponse":{"type":"object","properties":{"functionValidUntil":{"type":"string","example":"2025-02-08T04:30:48.000Z"},"function":{"type":"string","example":"production"},"functionValidFrom":{"type":"string","example":"2023-10-13T14:30:45+01:00"},"catenaXSiteId":{"type":"string","example":"urn:uuid:0fed587c-7ab4-4597-9841-1718e9693003"}}},"UpdateAssetRequest":{"required":["qualityType"],"type":"object","properties":{"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]}}},"IrsPolicyResponse":{"type":"object","properties":{"validUntil":{"type":"string","format":"date-time"},"payload":{"$ref":"#/components/schemas/Payload"}},"example":[{"validUntil":"2025-12-12T23:59:59.999Z","payload":{"@context":{"@vocab":"https://w3id.org/edc/v0.0.1/ns/","edc":"https://w3id.org/edc/v0.0.1/ns/","cx-policy":"https://w3id.org/catenax/policy/","odrl":"http://www.w3.org/ns/odrl/2/"},"@id":"policy-id","policy":{"odrl:permission":[{"odrl:action":"use","odrl:constraint":{"odrl:and":[{"odrl:leftOperand":"Membership","odrl:operator":{"@id":"odrl:eq"},"odrl:rightOperand":"active"},{"odrl:leftOperand":"PURPOSE","odrl:operator":{"@id":"odrl:eq"},"odrl:rightOperand":"ID 3.1 Trace"}]}}]}}}]},"ConstraintResponse":{"type":"object","properties":{"leftOperand":{"type":"string","example":"PURPOSE"},"operatorTypeResponse":{"type":"string","enum":["EQ","NEQ","LT","GT","IN","LTEQ","GTEQ","ISA","HASPART","ISPARTOF","ISONEOF","ISALLOF","ISNONEOF"]},"rightOperand":{"type":"string","example":"ID Trace 3.1"}}},"ConstraintsResponse":{"type":"object","properties":{"and":{"type":"array","items":{"$ref":"#/components/schemas/ConstraintResponse"}},"or":{"type":"array","items":{"$ref":"#/components/schemas/ConstraintResponse"}}}},"PermissionResponse":{"type":"object","properties":{"action":{"type":"string","example":"USE","enum":["ACCESS","USE"]},"constraints":{"$ref":"#/components/schemas/ConstraintsResponse"}}},"PolicyResponse":{"type":"object","properties":{"policyId":{"type":"string","example":"5a00bb50-0253-405f-b9f1-1a3150b9d51d"},"createdOn":{"type":"string","format":"date-time"},"validUntil":{"type":"string","format":"date-time"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/PermissionResponse"}},"businessPartnerNumber":{"type":"string"}}},"DashboardResponse":{"type":"object","properties":{"asBuiltCustomerParts":{"type":"integer","format":"int64","example":5},"asPlannedCustomerParts":{"type":"integer","format":"int64","example":10},"asBuiltSupplierParts":{"type":"integer","format":"int64","example":2},"asPlannedSupplierParts":{"type":"integer","format":"int64","example":3},"asBuiltOwnParts":{"type":"integer","format":"int64","example":1},"asPlannedOwnParts":{"type":"integer","format":"int64","example":1},"myPartsWithOpenAlerts":{"type":"integer","format":"int64","example":1},"myPartsWithOpenInvestigations":{"type":"integer","format":"int64","example":1},"supplierPartsWithOpenAlerts":{"type":"integer","format":"int64","example":1},"customerPartsWithOpenAlerts":{"type":"integer","format":"int64","example":1},"supplierPartsWithOpenInvestigations":{"type":"integer","format":"int64","example":2},"customerPartsWithOpenInvestigations":{"type":"integer","format":"int64","example":2},"receivedActiveAlerts":{"type":"integer","format":"int64","example":2},"receivedActiveInvestigations":{"type":"integer","format":"int64","example":2},"sentActiveAlerts":{"type":"integer","format":"int64","example":2},"sentActiveInvestigations":{"type":"integer","format":"int64","example":2}}},"ImportJobResponse":{"type":"object","properties":{"importJobStatus":{"type":"string","enum":["INITIALIZING","RUNNING","ERROR","COMPLETED"]},"importId":{"type":"string","example":"456a952e-05eb-40dc-a6f2-9c2cb9c1387f"},"startedOn":{"maxLength":50,"type":"string","example":"2099-02-21T21:27:10.734950Z"},"completedOn":{"maxLength":50,"type":"string","example":"2099-02-21T21:27:10.734950Z"}}},"ImportReportResponse":{"type":"object","properties":{"importJob":{"$ref":"#/components/schemas/ImportJobResponse"},"importedAsset":{"type":"array","items":{"$ref":"#/components/schemas/ImportedAssetResponse"}}}},"ImportedAssetResponse":{"type":"object","properties":{"importState":{"type":"string","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"catenaxId":{"type":"string","example":"urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd}"},"importedOn":{"maxLength":50,"type":"string","example":"2099-02-21T21:27:10.734950Z"},"importMessage":{"type":"string","example":"Asset created successfully in transient state."}}}},"securitySchemes":{"oAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://example.com/api/oauth/token","scopes":{"profile email":""}}}}}}} \ No newline at end of file diff --git a/tx-backend/openapi/traceability-foss-backend.json b/tx-backend/openapi/traceability-foss-backend.json index 87277b3e7b..3917b13656 100644 --- a/tx-backend/openapi/traceability-foss-backend.json +++ b/tx-backend/openapi/traceability-foss-backend.json @@ -1,8142 +1 @@ -{ - "openapi" : "3.0.1", - "info" : { - "title" : "Tractus-X Traceability Foss", - "description" : "Trace-FOSS is a system for tracking parts along the supply chain. A high level of transparency across the supplier network enables faster intervention based on a recorded event in the supply chain. This saves costs by seamlessly tracking parts and creates trust through clearly defined and secure data access by the companies and persons involved in the process.", - "license" : { - "name" : "License: Apache 2.0" - }, - "version" : "1.0.0" - }, - "servers" : [ - { - "url" : "http://localhost:9998/api", - "description" : "Generated server url" - } - ], - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ], - "paths" : { - "/policies" : { - "get" : { - "tags" : [ - "Policies" - ], - "summary" : "Get all policies ", - "description" : "The endpoint returns all policies .", - "operationId" : "policy", - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the policies", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/IrsPolicyResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "put" : { - "tags" : [ - "Policies" - ], - "summary" : "Updates policies ", - "description" : "The endpoint updates policies.", - "operationId" : "updatePolicy", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/UpdatePolicyRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Update successful", - "content" : { - "application/json" : {} - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "post" : { - "tags" : [ - "Policies" - ], - "summary" : "Create a policy ", - "description" : "The endpoint creates a policy.", - "operationId" : "createPolicy", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/RegisterPolicyRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the policies", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CreatePolicyResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/{notificationId}/edit" : { - "put" : { - "tags" : [ - "Notifications" - ], - "summary" : "Update notification by id", - "description" : "The endpoint updates notification by their id.", - "operationId" : "updateNotification", - "parameters" : [ - { - "name" : "notificationId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/EditNotificationRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No content." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/bpn-config" : { - "get" : { - "tags" : [ - "BpnEdcMapping" - ], - "summary" : "Get BPN EDC URL mappings", - "description" : "The endpoint returns a result of BPN EDC URL mappings.", - "operationId" : "getBpnEdcs", - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/BpnEdcMappingResponse" - } - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "put" : { - "tags" : [ - "BpnEdcMapping" - ], - "summary" : "Updates BPN EDC URL mappings", - "description" : "The endpoint updates BPN EDC URL mappings", - "operationId" : "updateBpnEdcMappings", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 1000, - "minItems" : 0, - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/BpnMappingRequest" - } - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found for BpnEdcMapping", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/BpnEdcMappingResponse" - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "post" : { - "tags" : [ - "BpnEdcMapping" - ], - "summary" : "Creates BPN EDC URL mappings", - "description" : "The endpoint creates BPN EDC URL mappings", - "operationId" : "createBpnEdcUrlMappings", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 1000, - "minItems" : 0, - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/BpnMappingRequest" - } - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found for BpnEdcMapping", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/BpnEdcMappingResponse" - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/submodel/data/{submodelId}" : { - "get" : { - "tags" : [ - "Submodel" - ], - "summary" : "Gets Submodel by its id", - "description" : "The endpoint returns Submodel for given id. Used for data providing functionality", - "operationId" : "getSubmodelById", - "parameters" : [ - { - "name" : "submodelId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns submodel payload", - "content" : { - "application/json" : { - "schema" : { - "type" : "string" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "post" : { - "tags" : [ - "Submodel" - ], - "summary" : "Save Submodel", - "description" : "This endpoint allows you to save a Submodel identified by its ID.", - "operationId" : "saveSubmodel", - "parameters" : [ - { - "name" : "submodelId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "string" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Ok." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No Content." - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Start notification by part ids", - "description" : "The endpoint starts notification based on part ids provided.", - "operationId" : "notifyAssets", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/StartNotificationRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "201" : { - "description" : "Created.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/NotificationIdResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/{notificationId}/update" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Update notification by id", - "description" : "The endpoint updates notification by their id.", - "operationId" : "updateNotification_1", - "parameters" : [ - { - "name" : "notificationId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/UpdateNotificationStatusTransitionRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No content." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/{notificationId}/close" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Close notification by id", - "description" : "The endpoint closes Notification by id.", - "operationId" : "closeNotification", - "parameters" : [ - { - "name" : "notificationId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CloseNotificationRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Ok." - }, - "204" : { - "description" : "No content." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/{notificationId}/cancel" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Cancels notification by id", - "description" : "The endpoint cancels notification by id.", - "operationId" : "cancelNotification", - "parameters" : [ - { - "name" : "notificationId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Ok." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No content." - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/{notificationId}/approve" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Approves notification by id", - "description" : "The endpoint approves notification by id.", - "operationId" : "approveNotification", - "parameters" : [ - { - "name" : "notificationId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Ok." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No content." - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/filter" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Filter notifications defined by the request body", - "description" : "The endpoint returns notifications as paged result.", - "operationId" : "filterNotifications", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PageableFilterRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found for Notifications", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Notifications", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maximum" : 255, - "minimum" : 0, - "maxLength" : 255, - "type" : "integer", - "format" : "int64", - "example" : 66 - }, - "title" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Title" - }, - "status" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "CREATED", - "enum" : [ - "CREATED", - "SENT", - "RECEIVED", - "ACKNOWLEDGED", - "ACCEPTED", - "DECLINED", - "CANCELED", - "CLOSED" - ] - }, - "description" : { - "maxLength" : 1000, - "minLength" : 0, - "type" : "string", - "example" : "DescriptionText" - }, - "createdBy" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003AYRE" - }, - "createdByName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "createdDate" : { - "maxLength" : 50, - "minLength" : 0, - "type" : "string", - "example" : "2023-02-21T21:27:10.734950Z" - }, - "assetIds" : { - "maxItems" : 1000, - "minItems" : 0, - "type" : "array", - "example" : [ - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd", - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd", - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd" - ], - "items" : { - "type" : "string", - "example" : "[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd\"]" - } - }, - "channel" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "SENDER", - "enum" : [ - "SENDER", - "RECEIVER" - ] - }, - "reason" : { - "$ref" : "#/components/schemas/NotificationReasonResponse" - }, - "sendTo" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003AYRE" - }, - "sendToName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "severity" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "MINOR", - "enum" : [ - "MINOR", - "MAJOR", - "CRITICAL", - "LIFE-THREATENING" - ] - }, - "type" : { - "maxLength" : 50, - "minLength" : 0, - "type" : "string", - "example" : "ALERT", - "enum" : [ - "ALERT", - "INVESTIGATION" - ] - }, - "targetDate" : { - "maxLength" : 50, - "minLength" : 0, - "type" : "string", - "example" : "2099-02-21T21:27:10.734950Z" - }, - "messages" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/NotificationMessageResponse" - } - } - } - } - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/edc/notification/contract" : { - "post" : { - "tags" : [ - "Notifications" - ], - "summary" : "Triggers EDC notification contract", - "description" : "The endpoint Triggers EDC notification contract based on notification type and method", - "operationId" : "createNotificationContract", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CreateNotificationContractRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "201" : { - "description" : "Created.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CreateNotificationContractResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/contracts" : { - "post" : { - "tags" : [ - "Contracts" - ], - "summary" : "All contract agreements for all assets", - "description" : "This endpoint returns all contract agreements for all assets in Trace-X", - "operationId" : "contracts", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PageableFilterRequest" - } - } - }, - "required" : true - }, - "responses" : { - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Too many requests." - } - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Bad request." - } - } - } - } - }, - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Not found." - } - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Internal server error." - } - } - } - } - }, - "200" : { - "description" : "Ok.", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "description" : "PageResults", - "items" : { - "$ref" : "#/components/schemas/PageResultContractResponse" - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Authorization failed." - } - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Forbidden." - } - } - } - } - }, - "415" : { - "description" : "Unsupported media type.", - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "example" : { - "message" : "Unsupported media type." - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/publish" : { - "post" : { - "tags" : [ - "AssetsImport", - "AssetsPublish" - ], - "summary" : "asset publish", - "description" : "This endpoint publishes assets to the Catena-X network.", - "operationId" : "publishAssets", - "parameters" : [ - { - "name" : "triggerSynchronizeAssets", - "in" : "query", - "required" : false, - "schema" : { - "type" : "boolean", - "default" : true - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/RegisterAssetRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No Content." - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "OK.", - "content" : { - "application/json" : {} - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/import" : { - "post" : { - "tags" : [ - "AssetsImport" - ], - "summary" : "asset upload", - "description" : "This endpoint stores assets in the application. Those can be later published in the Catena-X network.", - "operationId" : "importJson", - "requestBody" : { - "content" : { - "multipart/form-data" : { - "schema" : { - "required" : [ - "file" - ], - "type" : "object", - "properties" : { - "file" : { - "type" : "string", - "format" : "binary" - } - } - } - } - } - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No Content." - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "OK.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ImportResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-planned/sync" : { - "post" : { - "tags" : [ - "AssetsAsPlanned" - ], - "summary" : "Synchronizes assets from IRS", - "description" : "The endpoint synchronizes the assets from irs.", - "operationId" : "sync", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SyncAssetsRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "201" : { - "description" : "Created." - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-planned/detail-information" : { - "post" : { - "tags" : [ - "AssetsAsPlanned" - ], - "summary" : "Searches for assets by ids.", - "description" : "The endpoint searchs for assets by id and returns a list of them.", - "operationId" : "getDetailInformation", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/GetDetailInformationRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found for Asset", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built/sync" : { - "post" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Synchronizes assets from IRS", - "description" : "The endpoint synchronizes the assets from irs.", - "operationId" : "sync_1", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SyncAssetsRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "201" : { - "description" : "Created." - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built/detail-information" : { - "post" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Searches for assets by ids.", - "description" : "The endpoint searchs for assets by id and returns a list of them.", - "operationId" : "getDetailInformation_1", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/GetDetailInformationRequest" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "description" : "Returns the paged result found for Asset", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - }, - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-planned/{assetId}" : { - "get" : { - "tags" : [ - "AssetsAsPlanned" - ], - "summary" : "Get asset by id", - "description" : "The endpoint returns an asset filtered by id .", - "operationId" : "assetById", - "parameters" : [ - { - "name" : "assetId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the assets found", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "patch" : { - "tags" : [ - "AssetsAsPlanned" - ], - "summary" : "Updates asset", - "description" : "The endpoint updates asset by provided quality type.", - "operationId" : "updateAsset", - "parameters" : [ - { - "name" : "assetId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/UpdateAssetRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the updated asset", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built/{assetId}" : { - "get" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Get asset by id", - "description" : "The endpoint returns an asset filtered by id .", - "operationId" : "assetById_1", - "parameters" : [ - { - "name" : "assetId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the assets found", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "patch" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Updates asset", - "description" : "The endpoint updates asset by provided quality type.", - "operationId" : "updateAsset_1", - "parameters" : [ - { - "name" : "assetId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/UpdateAssetRequest" - } - } - }, - "required" : true - }, - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the updated asset", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/registry/reload" : { - "get" : { - "tags" : [ - "Registry" - ], - "summary" : "Triggers reload of shell descriptors", - "description" : "The endpoint Triggers reload of shell descriptors.", - "operationId" : "reload", - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "202" : { - "description" : "Created registry reload job." - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/policies/{policyId}" : { - "get" : { - "tags" : [ - "Policies" - ], - "summary" : "Gets policy by id", - "description" : "The endpoint returns policy by id.", - "operationId" : "getPolicyById", - "parameters" : [ - { - "name" : "policyId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the policies", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PolicyResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - }, - "delete" : { - "tags" : [ - "Policies" - ], - "summary" : "Deletes a policy ", - "description" : "The endpoint deletes policies.", - "operationId" : "deletePolicy", - "parameters" : [ - { - "name" : "policyId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Deletion successful", - "content" : { - "application/json" : {} - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/{notificationId}" : { - "get" : { - "tags" : [ - "Notifications" - ], - "summary" : "Gets notification by id", - "description" : "The endpoint returns notification by id.", - "operationId" : "getNotification", - "parameters" : [ - { - "name" : "notificationId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int64" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "OK.", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Notifications", - "items" : { - "$ref" : "#/components/schemas/NotificationResponse" - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/notifications/distinctFilterValues" : { - "get" : { - "tags" : [ - "Notifications" - ], - "summary" : "getDistinctFilterValues", - "description" : "The endpoint returns a distinct filter values for given fieldName of notification.", - "operationId" : "distinctFilterValues", - "parameters" : [ - { - "name" : "fieldName", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string" - } - }, - { - "name" : "size", - "in" : "query", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int32" - } - }, - { - "name" : "startWith", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string" - } - }, - { - "name" : "channel", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string", - "enum" : [ - "SENDER", - "RECEIVER" - ] - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns a distinct filter values for given fieldName.", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "type" : "string" - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/dashboard" : { - "get" : { - "tags" : [ - "Dashboard" - ], - "summary" : "Returns dashboard related data", - "description" : "The endpoint can return limited data based on the user role", - "operationId" : "dashboard", - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns dashboard data", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/DashboardResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/import/report/{importJobId}" : { - "get" : { - "tags" : [ - "ImportReport", - "AssetsImport" - ], - "summary" : "report of the imported assets", - "description" : "This endpoint returns information about the imported assets to Trace-X.", - "operationId" : "importReport", - "parameters" : [ - { - "name" : "importJobId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No Content." - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "OK.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ImportReportResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-planned" : { - "get" : { - "tags" : [ - "AssetsAsPlanned" - ], - "summary" : "Get assets by pagination", - "description" : "The endpoint returns a paged result of assets.", - "operationId" : "AssetsAsPlanned", - "parameters" : [ - { - "name" : "pageable", - "in" : "query", - "required" : true, - "schema" : { - "$ref" : "#/components/schemas/OwnPageable" - } - }, - { - "name" : "filter", - "in" : "query", - "required" : true, - "schema" : { - "$ref" : "#/components/schemas/SearchCriteriaRequestParam" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found for Asset", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-planned/distinctFilterValues" : { - "get" : { - "tags" : [ - "Assets", - "AssetsAsPlanned" - ], - "summary" : "getDistinctFilterValues", - "description" : "The endpoint returns a distinct filter values for given fieldName.", - "operationId" : "distinctFilterValues_1", - "parameters" : [ - { - "name" : "fieldName", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string" - } - }, - { - "name" : "size", - "in" : "query", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int32" - } - }, - { - "name" : "startWith", - "in" : "query", - "required" : false, - "schema" : { - "type" : "string" - } - }, - { - "name" : "owner", - "in" : "query", - "required" : false, - "schema" : { - "type" : "string", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - } - }, - { - "name" : "inAssetIds", - "in" : "query", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns a distinct filter values for given fieldName.", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "type" : "string" - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-planned/*/children/{childId}" : { - "get" : { - "tags" : [ - "AssetsAsPlanned" - ], - "summary" : "Get asset by child id", - "description" : "The endpoint returns an asset filtered by child id.", - "operationId" : "assetByChildIdAndAssetId", - "parameters" : [ - { - "name" : "childId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the asset by childId", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built" : { - "get" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Get assets by pagination", - "description" : "The endpoint returns a paged result of assets.", - "operationId" : "assets", - "parameters" : [ - { - "name" : "pageable", - "in" : "query", - "required" : true, - "schema" : { - "$ref" : "#/components/schemas/OwnPageable" - } - }, - { - "name" : "searchCriteriaRequestParam", - "in" : "query", - "required" : true, - "schema" : { - "$ref" : "#/components/schemas/SearchCriteriaRequestParam" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns the paged result found for Asset", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built/distinctFilterValues" : { - "get" : { - "tags" : [ - "AssetsAsBuilt", - "Assets" - ], - "summary" : "getDistinctFilterValues", - "description" : "The endpoint returns a distinct filter values for given fieldName.", - "operationId" : "distinctFilterValues_2", - "parameters" : [ - { - "name" : "fieldName", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string" - } - }, - { - "name" : "size", - "in" : "query", - "required" : false, - "schema" : { - "type" : "integer", - "format" : "int32" - } - }, - { - "name" : "startWith", - "in" : "query", - "required" : false, - "schema" : { - "type" : "string" - } - }, - { - "name" : "owner", - "in" : "query", - "required" : false, - "schema" : { - "type" : "string", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - } - }, - { - "name" : "inAssetIds", - "in" : "query", - "required" : false, - "schema" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Returns a distinct filter values for given fieldName.", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "type" : "string" - } - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built/countries" : { - "get" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Get map of assets", - "description" : "The endpoint returns a map for assets consumed by the map.", - "operationId" : "assetsCountryMap", - "responses" : { - "200" : { - "description" : "Returns the assets found", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "items" : { - "type" : "string" - } - } - } - } - }, - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/assets/as-built/*/children/{childId}" : { - "get" : { - "tags" : [ - "AssetsAsBuilt" - ], - "summary" : "Get asset by child id", - "description" : "The endpoint returns an asset filtered by child id.", - "operationId" : "assetByChildId", - "parameters" : [ - { - "name" : "childId", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "200" : { - "description" : "Returns the asset by childId", - "content" : { - "application/json" : { - "schema" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Assets", - "items" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - }, - "semanticModelId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "NO-246880451848384868750731" - }, - "businessPartner" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "manufacturerName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "nameAtManufacturer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "manufacturerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "owner" : { - "type" : "string", - "example" : "CUSTOMER", - "enum" : [ - "SUPPLIER", - "CUSTOMER", - "OWN", - "UNKNOWN" - ] - }, - "childRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Child relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "parentRelations" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Parent relationships", - "items" : { - "$ref" : "#/components/schemas/DescriptionsResponse" - } - }, - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - }, - "van" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "OMAYSKEITUGNVHKKX" - }, - "semanticDataModel" : { - "type" : "string", - "example" : "BATCH", - "enum" : [ - "BATCH", - "SERIALPART", - "UNKNOWN", - "PARTASPLANNED", - "JUSTINSEQUENCE", - "TOMBSTONEASBUILT", - "TOMBSTONEASPLANNED" - ] - }, - "classification" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "component" - }, - "detailAspectModels" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectModelResponse" - } - }, - "sentQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "receivedQualityAlertIdsInStatusActive" : { - "type" : "array", - "example" : 1, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - }, - "sentQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "receivedQualityInvestigationIdsInStatusActive" : { - "type" : "array", - "example" : 2, - "items" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - }, - "importState" : { - "type" : "string", - "example" : "TRANSIENT", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "importNote" : { - "type" : "string", - "example" : "Asset created successfully in transient state" - }, - "tombstone" : { - "type" : "string", - "example" : " {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n" - }, - "contractAgreementId" : { - "type" : "string", - "example" : "TODO" - } - } - } - } - } - } - }, - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/submodel/data" : { - "delete" : { - "tags" : [ - "Submodel" - ], - "summary" : "Delete All Submodels", - "description" : "Deletes all submodels from the system.", - "operationId" : "deleteSubmodels", - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Ok." - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "No Content." - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - }, - "/bpn-config/{bpn}" : { - "delete" : { - "tags" : [ - "BpnEdcMapping" - ], - "summary" : "Deletes BPN EDC URL mappings", - "description" : "The endpoint deletes BPN EDC URL mappings", - "operationId" : "deleteBpnEdcUrlMappings", - "parameters" : [ - { - "name" : "bpn", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } - ], - "responses" : { - "404" : { - "description" : "Not found.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "400" : { - "description" : "Bad request.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "401" : { - "description" : "Authorization failed.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "429" : { - "description" : "Too many requests.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "204" : { - "description" : "Deleted." - }, - "403" : { - "description" : "Forbidden.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "415" : { - "description" : "Unsupported media type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "500" : { - "description" : "Internal server error.", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ErrorResponse" - } - } - } - }, - "200" : { - "description" : "Okay" - } - }, - "security" : [ - { - "oAuth2" : [ - "profile email" - ] - } - ] - } - } - }, - "components" : { - "schemas" : { - "UpdatePolicyRequest" : { - "type" : "object", - "properties" : { - "businessPartnerNumbers" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "policyIds" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "validUntil" : { - "type" : "string", - "format" : "date-time" - } - } - }, - "ErrorResponse" : { - "type" : "object", - "properties" : { - "message" : { - "maxLength" : 1000, - "minLength" : 0, - "pattern" : "^.*$", - "type" : "string", - "example" : "Access Denied" - } - } - }, - "EditNotificationRequest" : { - "required" : [ - "affectedPartIds", - "description", - "receiverBpn", - "severity" - ], - "type" : "object", - "properties" : { - "title" : { - "maxLength" : 255, - "minLength" : 1, - "type" : "string", - "example" : "title" - }, - "receiverBpn" : { - "type" : "string", - "example" : "BPNL00000003CNKC" - }, - "severity" : { - "type" : "string", - "enum" : [ - "MINOR", - "MAJOR", - "CRITICAL", - "LIFE-THREATENING" - ] - }, - "targetDate" : { - "type" : "string", - "format" : "date-time", - "example" : "2099-03-11T22:44:06.333826952Z" - }, - "description" : { - "maxLength" : 1000, - "minLength" : 15, - "type" : "string", - "example" : "The description" - }, - "affectedPartIds" : { - "maxLength" : 50, - "minLength" : 1, - "maxItems" : 50, - "minItems" : 1, - "type" : "array", - "example" : [ - "urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978" - ], - "items" : { - "maxLength" : 50, - "minLength" : 1, - "type" : "string", - "example" : "[\"urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978\"]" - } - } - } - }, - "BpnMappingRequest" : { - "required" : [ - "bpn", - "url" - ], - "type" : "object", - "properties" : { - "bpn" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "url" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string" - } - } - }, - "BpnEdcMappingResponse" : { - "type" : "object", - "properties" : { - "bpn" : { - "type" : "string", - "example" : "BPNL00000003CSGV" - }, - "url" : { - "type" : "string", - "example" : "https://trace-x-test-edc.dev.demo.catena-x.net/a1" - } - } - }, - "Constraint" : { - "type" : "object", - "properties" : { - "leftOperand" : { - "type" : "string", - "example" : "string" - }, - "operator" : { - "$ref" : "#/components/schemas/Operator" - }, - "odrl:rightOperand" : { - "type" : "string", - "example" : "string" - } - } - }, - "Constraints" : { - "type" : "object", - "properties" : { - "and" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/Constraint" - } - }, - "or" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/Constraint" - } - } - } - }, - "Context" : { - "type" : "object", - "properties" : { - "odrl" : { - "type" : "string" - } - } - }, - "Operator" : { - "type" : "object", - "properties" : { - "@id" : { - "type" : "string", - "example" : "odrl:eq", - "enum" : [ - "eq", - "neq", - "lt", - "gt", - "in", - "lteq", - "gteq", - "isA", - "hasPart", - "isPartOf", - "isOneOf", - "isAllOf", - "isNoneOf" - ] - } - } - }, - "Payload" : { - "type" : "object", - "properties" : { - "@context" : { - "$ref" : "#/components/schemas/Context" - }, - "@id" : { - "type" : "string" - }, - "policy" : { - "$ref" : "#/components/schemas/Policy" - } - } - }, - "Permission" : { - "type" : "object", - "properties" : { - "action" : { - "type" : "string", - "example" : "use", - "enum" : [ - "access", - "use" - ] - }, - "constraint" : { - "$ref" : "#/components/schemas/Constraints" - } - } - }, - "Policy" : { - "type" : "object", - "properties" : { - "policyId" : { - "type" : "string", - "example" : "f253718e-a270-4367-901b-9d50d9bd8462" - }, - "createdOn" : { - "type" : "string", - "format" : "date-time" - }, - "validUntil" : { - "type" : "string", - "format" : "date-time" - }, - "permissions" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/Permission" - } - } - } - }, - "RegisterPolicyRequest" : { - "type" : "object", - "properties" : { - "validUntil" : { - "type" : "string", - "format" : "date-time" - }, - "businessPartnerNumber" : { - "type" : "string" - }, - "payload" : { - "$ref" : "#/components/schemas/Payload" - } - } - }, - "CreatePolicyResponse" : { - "type" : "object" - }, - "StartNotificationRequest" : { - "required" : [ - "receiverBpn", - "severity", - "type" - ], - "type" : "object", - "properties" : { - "title" : { - "maxLength" : 255, - "minLength" : 1, - "type" : "string", - "example" : "title" - }, - "affectedPartIds" : { - "maxLength" : 100, - "minLength" : 1, - "maxItems" : 50, - "minItems" : 1, - "type" : "array", - "example" : [ - "urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978" - ], - "items" : { - "maxLength" : 100, - "minLength" : 1, - "type" : "string", - "example" : "[\"urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978\"]" - } - }, - "description" : { - "maxLength" : 1000, - "minLength" : 15, - "type" : "string", - "example" : "The description" - }, - "targetDate" : { - "type" : "string", - "format" : "date-time", - "example" : "2099-03-11T22:44:06.333826952Z" - }, - "severity" : { - "type" : "string", - "enum" : [ - "MINOR", - "MAJOR", - "CRITICAL", - "LIFE-THREATENING" - ] - }, - "receiverBpn" : { - "type" : "string", - "example" : "BPNL00000003CNKC" - }, - "type" : { - "type" : "string", - "example" : "ALERT", - "enum" : [ - "ALERT", - "INVESTIGATION" - ] - } - } - }, - "NotificationIdResponse" : { - "type" : "object", - "properties" : { - "id" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - } - } - }, - "UpdateNotificationStatusTransitionRequest" : { - "required" : [ - "status" - ], - "type" : "object", - "properties" : { - "status" : { - "type" : "string", - "description" : "The UpdateInvestigationStatus", - "enum" : [ - "ACKNOWLEDGED", - "ACCEPTED", - "DECLINED" - ] - }, - "reason" : { - "type" : "string", - "example" : "The reason." - } - } - }, - "CloseNotificationRequest" : { - "type" : "object", - "properties" : { - "reason" : { - "maxLength" : 1000, - "minLength" : 15, - "type" : "string", - "example" : "The reason." - } - } - }, - "OwnPageable" : { - "type" : "object", - "properties" : { - "page" : { - "type" : "integer", - "format" : "int32" - }, - "size" : { - "type" : "integer", - "format" : "int32" - }, - "sort" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Content of Assets PageResults", - "example" : "manufacturerPartId,desc", - "items" : { - "type" : "string" - } - } - } - }, - "PageableFilterRequest" : { - "type" : "object", - "properties" : { - "pageAble" : { - "$ref" : "#/components/schemas/OwnPageable" - }, - "searchCriteria" : { - "$ref" : "#/components/schemas/SearchCriteriaRequestParam" - } - } - }, - "SearchCriteriaRequestParam" : { - "type" : "object", - "properties" : { - "filter" : { - "maxItems" : 2147483647, - "type" : "array", - "description" : "Filter Criteria", - "example" : "owner,EQUAL,OWN", - "items" : { - "type" : "string" - } - } - } - }, - "NotificationMessageResponse" : { - "type" : "object", - "properties" : { - "id" : { - "type" : "string" - }, - "createdBy" : { - "type" : "string" - }, - "createdByName" : { - "type" : "string" - }, - "sendTo" : { - "type" : "string" - }, - "sendToName" : { - "type" : "string" - }, - "contractAgreementId" : { - "type" : "string" - }, - "notificationReferenceId" : { - "type" : "string" - }, - "targetDate" : { - "type" : "string", - "format" : "date-time" - }, - "severity" : { - "type" : "string", - "enum" : [ - "MINOR", - "MAJOR", - "CRITICAL", - "LIFE-THREATENING" - ] - }, - "edcNotificationId" : { - "type" : "string" - }, - "created" : { - "type" : "string", - "format" : "date-time" - }, - "updated" : { - "type" : "string", - "format" : "date-time" - }, - "messageId" : { - "type" : "string" - }, - "status" : { - "type" : "string", - "enum" : [ - "CREATED", - "SENT", - "RECEIVED", - "ACKNOWLEDGED", - "ACCEPTED", - "DECLINED", - "CANCELED", - "CLOSED" - ] - }, - "errorMessage" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "EDC not reachable" - } - } - }, - "NotificationReasonResponse" : { - "type" : "object", - "properties" : { - "close" : { - "maxLength" : 1000, - "minLength" : 0, - "type" : "string", - "example" : "description of closing reason" - }, - "accept" : { - "maxLength" : 1000, - "minLength" : 0, - "type" : "string", - "example" : "description of accepting reason" - }, - "decline" : { - "maxLength" : 1000, - "minLength" : 0, - "type" : "string", - "example" : "description of declining reason" - } - } - }, - "NotificationResponse" : { - "type" : "object", - "properties" : { - "id" : { - "maximum" : 255, - "minimum" : 0, - "maxLength" : 255, - "type" : "integer", - "format" : "int64", - "example" : 66 - }, - "title" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Title" - }, - "status" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "CREATED", - "enum" : [ - "CREATED", - "SENT", - "RECEIVED", - "ACKNOWLEDGED", - "ACCEPTED", - "DECLINED", - "CANCELED", - "CLOSED" - ] - }, - "description" : { - "maxLength" : 1000, - "minLength" : 0, - "type" : "string", - "example" : "DescriptionText" - }, - "createdBy" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003AYRE" - }, - "createdByName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "createdDate" : { - "maxLength" : 50, - "minLength" : 0, - "type" : "string", - "example" : "2023-02-21T21:27:10.734950Z" - }, - "assetIds" : { - "maxItems" : 1000, - "minItems" : 0, - "type" : "array", - "example" : [ - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd", - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd", - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd" - ], - "items" : { - "type" : "string", - "example" : "[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd\"]" - } - }, - "channel" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "SENDER", - "enum" : [ - "SENDER", - "RECEIVER" - ] - }, - "reason" : { - "$ref" : "#/components/schemas/NotificationReasonResponse" - }, - "sendTo" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "BPNL00000003AYRE" - }, - "sendToName" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Tier C" - }, - "severity" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "MINOR", - "enum" : [ - "MINOR", - "MAJOR", - "CRITICAL", - "LIFE-THREATENING" - ] - }, - "type" : { - "maxLength" : 50, - "minLength" : 0, - "type" : "string", - "example" : "ALERT", - "enum" : [ - "ALERT", - "INVESTIGATION" - ] - }, - "targetDate" : { - "maxLength" : 50, - "minLength" : 0, - "type" : "string", - "example" : "2099-02-21T21:27:10.734950Z" - }, - "messages" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/NotificationMessageResponse" - } - } - } - }, - "CreateNotificationContractRequest" : { - "required" : [ - "notificationMethod", - "notificationType" - ], - "type" : "object", - "properties" : { - "notificationType" : { - "type" : "string", - "enum" : [ - "QUALITY_INVESTIGATION", - "QUALITY_ALERT" - ] - }, - "notificationMethod" : { - "type" : "string", - "enum" : [ - "RECEIVE", - "UPDATE", - "RESOLVE" - ] - } - } - }, - "CreateNotificationContractResponse" : { - "type" : "object", - "properties" : { - "notificationAssetId" : { - "type" : "string", - "example" : "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - }, - "accessPolicyId" : { - "type" : "string", - "example" : "123" - }, - "contractDefinitionId" : { - "type" : "string", - "example" : "456" - } - } - }, - "ContractResponse" : { - "type" : "object", - "properties" : { - "contractId" : { - "maxLength" : 255, - "type" : "string", - "example" : "66" - }, - "counterpartyAddress" : { - "maxLength" : 255, - "type" : "string", - "example" : "https://trace-x-edc-e2e-a.dev.demo.catena-x.net/api/v1/dsp" - }, - "creationDate" : { - "maxLength" : 255, - "type" : "string", - "format" : "date-time", - "example" : "2023-02-21T21:27:10.73495Z" - }, - "endDate" : { - "maxLength" : 255, - "type" : "string", - "format" : "date-time", - "example" : "2023-02-21T21:27:10.73495Z" - }, - "state" : { - "maxLength" : 255, - "type" : "string", - "example" : "FINALIZED" - }, - "policy" : { - "maxLength" : 255, - "type" : "string", - "example" : "{\\\"@id\\\":\\\"eb0c8486-914a-4d36-84c0-b4971cbc52e4\\\",\\\"@type\\\":\\\"odrl:Set\\\",\\\"odrl:permission\\\":{\\\"odrl:target\\\":\\\"registry-asset\\\",\\\"odrl:action\\\":{\\\"odrl:type\\\":\\\"USE\\\"},\\\"odrl:constraint\\\":{\\\"odrl:or\\\":{\\\"odrl:leftOperand\\\":\\\"PURPOSE\\\",\\\"odrl:operator\\\":{\\\"@id\\\":\\\"odrl:eq\\\"},\\\"odrl:rightOperand\\\":\\\"ID 3.0 Trace\\\"}}},\\\"odrl:prohibition\\\":[],\\\"odrl:obligation\\\":[],\\\"odrl:target\\\":\\\"registry-asset\\\"}" - } - } - }, - "PageResultContractResponse" : { - "type" : "object", - "properties" : { - "content" : { - "maxItems" : 2147483647, - "minItems" : 0, - "type" : "array", - "description" : "Content of PageResults", - "items" : { - "$ref" : "#/components/schemas/ContractResponse" - } - }, - "page" : { - "type" : "integer", - "format" : "int32", - "example" : 1 - }, - "pageCount" : { - "type" : "integer", - "format" : "int32", - "example" : 15 - }, - "pageSize" : { - "type" : "integer", - "format" : "int32", - "example" : 10 - }, - "totalItems" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - } - }, - "RegisterAssetRequest" : { - "required" : [ - "assetIds", - "policyId" - ], - "type" : "object", - "properties" : { - "policyId" : { - "type" : "string", - "example" : "a644a7cb-3de5-493b-9259-f01db315a46e" - }, - "assetIds" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - } - }, - "ImportResponse" : { - "type" : "object", - "properties" : { - "jobId" : { - "type" : "string" - }, - "importStateMessage" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ImportStateMessage" - } - }, - "validationResult" : { - "$ref" : "#/components/schemas/ValidationResponse" - } - } - }, - "ImportStateMessage" : { - "type" : "object", - "properties" : { - "catenaXId" : { - "type" : "string" - }, - "persistedOrUpdated" : { - "type" : "boolean" - } - } - }, - "ValidationResponse" : { - "type" : "object", - "properties" : { - "validationErrors" : { - "type" : "array", - "items" : { - "type" : "string" - } - } - } - }, - "SyncAssetsRequest" : { - "type" : "object", - "properties" : { - "globalAssetIds" : { - "maxItems" : 100, - "minItems" : 1, - "type" : "array", - "example" : [ - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - ], - "items" : { - "type" : "string", - "example" : "[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\"]" - } - } - } - }, - "GetDetailInformationRequest" : { - "type" : "object", - "properties" : { - "assetIds" : { - "maxLength" : 50, - "minLength" : 1, - "maxItems" : 50, - "minItems" : 1, - "type" : "array", - "example" : [ - "urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd" - ], - "items" : { - "maxLength" : 50, - "minLength" : 1, - "type" : "string", - "example" : "[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\"]" - } - } - } - }, - "DescriptionsResponse" : { - "type" : "object", - "properties" : { - "id" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "urn:uuid:a4a26b9c-9460-4cc5-8645-85916b86adb0" - }, - "idShort" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "assembly-part-relationship" - } - } - }, - "DetailAspectDataAsBuiltResponse" : { - "type" : "object", - "properties" : { - "partId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "95657762-59" - }, - "customerPartId" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "01697F7-65" - }, - "nameAtCustomer" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "Door front-left" - }, - "manufacturingCountry" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "DEU" - }, - "manufacturingDate" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "2022-02-04T13:48:54Z" - } - } - }, - "DetailAspectDataAsPlannedResponse" : { - "type" : "object", - "properties" : { - "validityPeriodFrom" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "2022-09-26T12:43:51.079Z" - }, - "validityPeriodTo" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "20232-07-13T12:00:00.000Z" - } - } - }, - "DetailAspectDataResponse" : { - "type" : "object", - "oneOf" : [ - { - "$ref" : "#/components/schemas/DetailAspectDataAsBuiltResponse" - }, - { - "$ref" : "#/components/schemas/DetailAspectDataAsPlannedResponse" - }, - { - "$ref" : "#/components/schemas/PartSiteInformationAsPlannedResponse" - }, - { - "$ref" : "#/components/schemas/DetailAspectDataTractionBatteryCodeResponse" - } - ] - }, - "DetailAspectDataTractionBatteryCodeResponse" : { - "type" : "object", - "properties" : { - "productType" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "pack" - }, - "tractionBatteryCode" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "X12MCPM27KLPCLX2M2382320" - }, - "subcomponents" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/DetailAspectDataTractionBatteryCodeSubcomponentResponse" - } - } - } - }, - "DetailAspectDataTractionBatteryCodeSubcomponentResponse" : { - "type" : "object", - "properties" : { - "productType" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "pack" - }, - "tractionBatteryCode" : { - "maxLength" : 255, - "minLength" : 0, - "type" : "string", - "example" : "X12MCPM27KLPCLX2M2382320" - } - } - }, - "DetailAspectModelResponse" : { - "type" : "object", - "properties" : { - "type" : { - "type" : "string", - "example" : "PART_SITE_INFORMATION_AS_PLANNED", - "enum" : [ - "AS_BUILT", - "AS_PLANNED", - "TRACTION_BATTERY_CODE", - "SINGLE_LEVEL_BOM_AS_BUILT", - "SINGLE_LEVEL_USAGE_AS_BUILT", - "SINGLE_LEVEL_BOM_AS_PLANNED", - "PART_SITE_INFORMATION_AS_PLANNED" - ] - }, - "data" : { - "$ref" : "#/components/schemas/DetailAspectDataResponse" - } - } - }, - "PartSiteInformationAsPlannedResponse" : { - "type" : "object", - "properties" : { - "functionValidUntil" : { - "type" : "string", - "example" : "2025-02-08T04:30:48.000Z" - }, - "function" : { - "type" : "string", - "example" : "production" - }, - "functionValidFrom" : { - "type" : "string", - "example" : "2023-10-13T14:30:45+01:00" - }, - "catenaXSiteId" : { - "type" : "string", - "example" : "urn:uuid:0fed587c-7ab4-4597-9841-1718e9693003" - } - } - }, - "UpdateAssetRequest" : { - "required" : [ - "qualityType" - ], - "type" : "object", - "properties" : { - "qualityType" : { - "type" : "string", - "example" : "Ok", - "enum" : [ - "Ok", - "Minor", - "Major", - "Critical", - "LifeThreatening" - ] - } - } - }, - "IrsPolicyResponse" : { - "type" : "object", - "properties" : { - "validUntil" : { - "type" : "string", - "format" : "date-time" - }, - "payload" : { - "$ref" : "#/components/schemas/Payload" - } - }, - "example" : [ - { - "validUntil" : "2025-12-12T23:59:59.999Z", - "payload" : { - "@context" : { - "@vocab" : "https://w3id.org/edc/v0.0.1/ns/", - "edc" : "https://w3id.org/edc/v0.0.1/ns/", - "cx-policy" : "https://w3id.org/catenax/policy/", - "odrl" : "http://www.w3.org/ns/odrl/2/" - }, - "@id" : "policy-id", - "policy" : { - "odrl:permission" : [ - { - "odrl:action" : "use", - "odrl:constraint" : { - "odrl:and" : [ - { - "odrl:leftOperand" : "Membership", - "odrl:operator" : { - "@id" : "odrl:eq" - }, - "odrl:rightOperand" : "active" - }, - { - "odrl:leftOperand" : "PURPOSE", - "odrl:operator" : { - "@id" : "odrl:eq" - }, - "odrl:rightOperand" : "ID 3.1 Trace" - } - ] - } - } - ] - } - } - } - ] - }, - "ConstraintResponse" : { - "type" : "object", - "properties" : { - "leftOperand" : { - "type" : "string", - "example" : "PURPOSE" - }, - "operatorTypeResponse" : { - "type" : "string", - "enum" : [ - "EQ", - "NEQ", - "LT", - "GT", - "IN", - "LTEQ", - "GTEQ", - "ISA", - "HASPART", - "ISPARTOF", - "ISONEOF", - "ISALLOF", - "ISNONEOF" - ] - }, - "rightOperand" : { - "type" : "string", - "example" : "ID Trace 3.1" - } - } - }, - "ConstraintsResponse" : { - "type" : "object", - "properties" : { - "and" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ConstraintResponse" - } - }, - "or" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ConstraintResponse" - } - } - } - }, - "PermissionResponse" : { - "type" : "object", - "properties" : { - "action" : { - "type" : "string", - "example" : "USE", - "enum" : [ - "ACCESS", - "USE" - ] - }, - "constraints" : { - "$ref" : "#/components/schemas/ConstraintsResponse" - } - } - }, - "PolicyResponse" : { - "type" : "object", - "properties" : { - "policyId" : { - "type" : "string", - "example" : "5a00bb50-0253-405f-b9f1-1a3150b9d51d" - }, - "createdOn" : { - "type" : "string", - "format" : "date-time" - }, - "validUntil" : { - "type" : "string", - "format" : "date-time" - }, - "permissions" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/PermissionResponse" - } - }, - "businessPartnerNumber" : { - "type" : "string" - } - } - }, - "DashboardResponse" : { - "type" : "object", - "properties" : { - "asBuiltCustomerParts" : { - "type" : "integer", - "format" : "int64", - "example" : 5 - }, - "asPlannedCustomerParts" : { - "type" : "integer", - "format" : "int64", - "example" : 10 - }, - "asBuiltSupplierParts" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - }, - "asPlannedSupplierParts" : { - "type" : "integer", - "format" : "int64", - "example" : 3 - }, - "asBuiltOwnParts" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - }, - "asPlannedOwnParts" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - }, - "myPartsWithOpenAlerts" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - }, - "myPartsWithOpenInvestigations" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - }, - "supplierPartsWithOpenAlerts" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - }, - "customerPartsWithOpenAlerts" : { - "type" : "integer", - "format" : "int64", - "example" : 1 - }, - "supplierPartsWithOpenInvestigations" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - }, - "customerPartsWithOpenInvestigations" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - }, - "receivedActiveAlerts" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - }, - "receivedActiveInvestigations" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - }, - "sentActiveAlerts" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - }, - "sentActiveInvestigations" : { - "type" : "integer", - "format" : "int64", - "example" : 2 - } - } - }, - "ImportJobResponse" : { - "type" : "object", - "properties" : { - "importJobStatus" : { - "type" : "string", - "enum" : [ - "INITIALIZING", - "RUNNING", - "ERROR", - "COMPLETED" - ] - }, - "importId" : { - "type" : "string", - "example" : "456a952e-05eb-40dc-a6f2-9c2cb9c1387f" - }, - "startedOn" : { - "maxLength" : 50, - "type" : "string", - "example" : "2099-02-21T21:27:10.734950Z" - }, - "completedOn" : { - "maxLength" : 50, - "type" : "string", - "example" : "2099-02-21T21:27:10.734950Z" - } - } - }, - "ImportReportResponse" : { - "type" : "object", - "properties" : { - "importJob" : { - "$ref" : "#/components/schemas/ImportJobResponse" - }, - "importedAsset" : { - "type" : "array", - "items" : { - "$ref" : "#/components/schemas/ImportedAssetResponse" - } - } - } - }, - "ImportedAssetResponse" : { - "type" : "object", - "properties" : { - "importState" : { - "type" : "string", - "enum" : [ - "TRANSIENT", - "PERSISTENT", - "ERROR", - "IN_SYNCHRONIZATION", - "PUBLISHED_TO_CORE_SERVICES", - "UNSET" - ] - }, - "catenaxId" : { - "type" : "string", - "example" : "urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd}" - }, - "importedOn" : { - "maxLength" : 50, - "type" : "string", - "example" : "2099-02-21T21:27:10.734950Z" - }, - "importMessage" : { - "type" : "string", - "example" : "Asset created successfully in transient state." - } - } - } - }, - "securitySchemes" : { - "oAuth2" : { - "type" : "oauth2", - "flows" : { - "clientCredentials" : { - "tokenUrl" : "https://example.com/api/oauth/token", - "scopes" : { - "profile email" : "" - } - } - } - } - } - } -} +{"openapi":"3.0.1","info":{"title":"Tractus-X Traceability Foss","description":"Trace-FOSS is a system for tracking parts along the supply chain. A high level of transparency across the supplier network enables faster intervention based on a recorded event in the supply chain. This saves costs by seamlessly tracking parts and creates trust through clearly defined and secure data access by the companies and persons involved in the process.","license":{"name":"License: Apache 2.0"},"version":"1.0.0"},"servers":[{"url":"http://localhost:9998/api","description":"Generated server url"}],"security":[{"oAuth2":["profile email"]}],"paths":{"/policies":{"get":{"tags":["Policies"],"summary":"Get all policies ","description":"The endpoint returns all policies .","operationId":"policy","responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the policies","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IrsPolicyResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"put":{"tags":["Policies"],"summary":"Updates policies ","description":"The endpoint updates policies.","operationId":"updatePolicy","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePolicyRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Update successful","content":{"application/json":{}}}},"security":[{"oAuth2":["profile email"]}]},"post":{"tags":["Policies"],"summary":"Create a policy ","description":"The endpoint creates a policy.","operationId":"createPolicy","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterPolicyRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the policies","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePolicyResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/{notificationId}/edit":{"put":{"tags":["Notifications"],"summary":"Update notification by id","description":"The endpoint updates notification by their id.","operationId":"updateNotification","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditNotificationRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/bpn-config":{"get":{"tags":["BpnEdcMapping"],"summary":"Get BPN EDC URL mappings","description":"The endpoint returns a result of BPN EDC URL mappings.","operationId":"getBpnEdcs","responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/BpnEdcMappingResponse"}}}}}},"security":[{"oAuth2":["profile email"]}]},"put":{"tags":["BpnEdcMapping"],"summary":"Updates BPN EDC URL mappings","description":"The endpoint updates BPN EDC URL mappings","operationId":"updateBpnEdcMappings","requestBody":{"content":{"application/json":{"schema":{"maxItems":1000,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/BpnMappingRequest"}}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for BpnEdcMapping","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/BpnEdcMappingResponse"}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"post":{"tags":["BpnEdcMapping"],"summary":"Creates BPN EDC URL mappings","description":"The endpoint creates BPN EDC URL mappings","operationId":"createBpnEdcUrlMappings","requestBody":{"content":{"application/json":{"schema":{"maxItems":1000,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/BpnMappingRequest"}}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for BpnEdcMapping","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/BpnEdcMappingResponse"}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/submodel/data/{submodelId}":{"get":{"tags":["Submodel"],"summary":"Gets Submodel by its id","description":"The endpoint returns Submodel for given id. Used for data providing functionality","operationId":"getSubmodelById","parameters":[{"name":"submodelId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns submodel payload","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"post":{"tags":["Submodel"],"summary":"Save Submodel","description":"This endpoint allows you to save a Submodel identified by its ID.","operationId":"saveSubmodel","parameters":[{"name":"submodelId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Ok."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications":{"post":{"tags":["Notifications"],"summary":"Start notification by part ids","description":"The endpoint starts notification based on part ids provided.","operationId":"notifyAssets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartNotificationRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationIdResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/{notificationId}/update":{"post":{"tags":["Notifications"],"summary":"Update notification by id","description":"The endpoint updates notification by their id.","operationId":"updateNotification_1","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNotificationStatusTransitionRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/{notificationId}/close":{"post":{"tags":["Notifications"],"summary":"Close notification by id","description":"The endpoint closes Notification by id.","operationId":"closeNotification","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseNotificationRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"200":{"description":"Ok."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/{notificationId}/cancel":{"post":{"tags":["Notifications"],"summary":"Cancels notification by id","description":"The endpoint cancels notification by id.","operationId":"cancelNotification","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Ok."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/{notificationId}/approve":{"post":{"tags":["Notifications"],"summary":"Approves notification by id","description":"The endpoint approves notification by id.","operationId":"approveNotification","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Ok."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/filter":{"post":{"tags":["Notifications"],"summary":"Filter notifications defined by the request body","description":"The endpoint returns notifications as paged result.","operationId":"filterNotifications","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageableFilterRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Notifications","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Notifications","items":{"type":"object","properties":{"id":{"maximum":255,"minimum":0,"maxLength":255,"type":"integer","format":"int64","example":66},"title":{"maxLength":255,"minLength":0,"type":"string","example":"Title"},"status":{"maxLength":255,"minLength":0,"type":"string","example":"CREATED","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CANCELED","CLOSED"]},"description":{"maxLength":1000,"minLength":0,"type":"string","example":"DescriptionText"},"createdBy":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003AYRE"},"createdByName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"createdDate":{"maxLength":50,"minLength":0,"type":"string","example":"2023-02-21T21:27:10.734950Z"},"updatedDate":{"maxLength":50,"minLength":0,"type":"string","example":"2023-02-21T21:27:10.734950Z"},"assetIds":{"maxItems":1000,"minItems":0,"type":"array","example":["urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd","urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd","urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd"],"items":{"type":"string","example":"[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd\"]"}},"channel":{"maxLength":255,"minLength":0,"type":"string","example":"SENDER","enum":["SENDER","RECEIVER"]},"sendTo":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003AYRE"},"sendToName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"severity":{"maxLength":255,"minLength":0,"type":"string","example":"MINOR","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"]},"type":{"maxLength":50,"minLength":0,"type":"string","example":"ALERT","enum":["ALERT","INVESTIGATION"]},"targetDate":{"maxLength":50,"minLength":0,"type":"string","example":"2099-02-21T21:27:10.734950Z"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/NotificationMessageResponse"}}}}}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/edc/notification/contract":{"post":{"tags":["Notifications"],"summary":"Triggers EDC notification contract","description":"The endpoint Triggers EDC notification contract based on notification type and method","operationId":"createNotificationContract","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNotificationContractRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNotificationContractResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/contracts":{"post":{"tags":["Contracts"],"summary":"All contract agreements for all assets","description":"This endpoint returns all contract agreements for all assets in Trace-X","operationId":"contracts","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageableFilterRequest"}}},"required":true},"responses":{"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Too many requests."}}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Authorization failed."}}}}},"200":{"description":"Ok.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","description":"PageResults","items":{"$ref":"#/components/schemas/PageResultContractResponse"}}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Internal server error."}}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Forbidden."}}}}},"415":{"description":"Unsupported media type.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Unsupported media type."}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Bad request."}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"type":"string","example":{"message":"Not found."}}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/publish":{"post":{"tags":["AssetsImport","AssetsPublish"],"summary":"asset publish","description":"This endpoint publishes assets to the Catena-X network.","operationId":"publishAssets","parameters":[{"name":"triggerSynchronizeAssets","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterAssetRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK.","content":{"application/json":{}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/import":{"post":{"tags":["AssetsImport"],"summary":"asset upload","description":"This endpoint stores assets in the application. Those can be later published in the Catena-X network.","operationId":"importJson","requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/sync":{"post":{"tags":["AssetsAsPlanned"],"summary":"Synchronizes assets from IRS","description":"The endpoint synchronizes the assets from irs.","operationId":"sync","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncAssetsRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created."}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/detail-information":{"post":{"tags":["AssetsAsPlanned"],"summary":"Searches for assets by ids.","description":"The endpoint searchs for assets by id and returns a list of them.","operationId":"getDetailInformation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDetailInformationRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/sync":{"post":{"tags":["AssetsAsBuilt"],"summary":"Synchronizes assets from IRS","description":"The endpoint synchronizes the assets from irs.","operationId":"sync_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncAssetsRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created."}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/detail-information":{"post":{"tags":["AssetsAsBuilt"],"summary":"Searches for assets by ids.","description":"The endpoint searchs for assets by id and returns a list of them.","operationId":"getDetailInformation_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDetailInformationRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/{assetId}":{"get":{"tags":["AssetsAsPlanned"],"summary":"Get asset by id","description":"The endpoint returns an asset filtered by id .","operationId":"assetById","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the assets found","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"patch":{"tags":["AssetsAsPlanned"],"summary":"Updates asset","description":"The endpoint updates asset by provided quality type.","operationId":"updateAsset","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAssetRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the updated asset","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/{assetId}":{"get":{"tags":["AssetsAsBuilt"],"summary":"Get asset by id","description":"The endpoint returns an asset filtered by id .","operationId":"assetById_1","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the assets found","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"patch":{"tags":["AssetsAsBuilt"],"summary":"Updates asset","description":"The endpoint updates asset by provided quality type.","operationId":"updateAsset_1","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAssetRequest"}}},"required":true},"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the updated asset","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/registry/reload":{"get":{"tags":["Registry"],"summary":"Triggers reload of shell descriptors","description":"The endpoint Triggers reload of shell descriptors.","operationId":"reload","responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"202":{"description":"Created registry reload job."},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/policies/{policyId}":{"get":{"tags":["Policies"],"summary":"Gets policy by id","description":"The endpoint returns policy by id.","operationId":"getPolicyById","parameters":[{"name":"policyId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the policies","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"delete":{"tags":["Policies"],"summary":"Deletes a policy ","description":"The endpoint deletes policies.","operationId":"deletePolicy","parameters":[{"name":"policyId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Deletion successful","content":{"application/json":{}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/{notificationId}":{"get":{"tags":["Notifications"],"summary":"Gets notification by id","description":"The endpoint returns notification by id.","operationId":"getNotification","parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK.","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Notifications","items":{"$ref":"#/components/schemas/NotificationResponse"}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/notifications/distinctFilterValues":{"get":{"tags":["Notifications"],"summary":"getDistinctFilterValues","description":"The endpoint returns a distinct filter values for given fieldName of notification.","operationId":"distinctFilterValues","parameters":[{"name":"fieldName","in":"query","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"startWith","in":"query","required":true,"schema":{"type":"string"}},{"name":"channel","in":"query","required":true,"schema":{"type":"string","enum":["SENDER","RECEIVER"]}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns a distinct filter values for given fieldName.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"type":"string"}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/dashboard":{"get":{"tags":["Dashboard"],"summary":"Returns dashboard related data","description":"The endpoint can return limited data based on the user role","operationId":"dashboard","responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns dashboard data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/import/report/{importJobId}":{"get":{"tags":["ImportReport","AssetsImport"],"summary":"report of the imported assets","description":"This endpoint returns information about the imported assets to Trace-X.","operationId":"importReport","parameters":[{"name":"importJobId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportReportResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned":{"get":{"tags":["AssetsAsPlanned"],"summary":"Get assets by pagination","description":"The endpoint returns a paged result of assets.","operationId":"AssetsAsPlanned","parameters":[{"name":"pageable","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OwnPageable"}},{"name":"filter","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchCriteriaRequestParam"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/distinctFilterValues":{"get":{"tags":["Assets","AssetsAsPlanned"],"summary":"getDistinctFilterValues","description":"The endpoint returns a distinct filter values for given fieldName.","operationId":"distinctFilterValues_1","parameters":[{"name":"fieldName","in":"query","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"startWith","in":"query","required":false,"schema":{"type":"string"}},{"name":"owner","in":"query","required":false,"schema":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]}},{"name":"inAssetIds","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns a distinct filter values for given fieldName.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"type":"string"}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/*/children/{childId}":{"get":{"tags":["AssetsAsPlanned"],"summary":"Get asset by child id","description":"The endpoint returns an asset filtered by child id.","operationId":"assetByChildIdAndAssetId","parameters":[{"name":"childId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the asset by childId","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built":{"get":{"tags":["AssetsAsBuilt"],"summary":"Get assets by pagination","description":"The endpoint returns a paged result of assets.","operationId":"assets","parameters":[{"name":"pageable","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OwnPageable"}},{"name":"searchCriteriaRequestParam","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchCriteriaRequestParam"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/distinctFilterValues":{"get":{"tags":["AssetsAsBuilt","Assets"],"summary":"getDistinctFilterValues","description":"The endpoint returns a distinct filter values for given fieldName.","operationId":"distinctFilterValues_2","parameters":[{"name":"fieldName","in":"query","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"startWith","in":"query","required":false,"schema":{"type":"string"}},{"name":"owner","in":"query","required":false,"schema":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]}},{"name":"inAssetIds","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns a distinct filter values for given fieldName.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"type":"string"}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/countries":{"get":{"tags":["AssetsAsBuilt"],"summary":"Get map of assets","description":"The endpoint returns a map for assets consumed by the map.","operationId":"assetsCountryMap","responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the assets found","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"type":"string"}}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/*/children/{childId}":{"get":{"tags":["AssetsAsBuilt"],"summary":"Get asset by child id","description":"The endpoint returns an asset filtered by child id.","operationId":"assetByChildId","parameters":[{"name":"childId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the asset by childId","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string","example":"NO-246880451848384868750731"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"owner":{"type":"string","example":"CUSTOMER","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string","example":"OMAYSKEITUGNVHKKX"},"semanticDataModel":{"type":"string","example":"BATCH","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE","TOMBSTONEASBUILT","TOMBSTONEASPLANNED"]},"classification":{"maxLength":255,"minLength":0,"type":"string","example":"component"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"receivedQualityAlertIdsInStatusActive":{"type":"array","example":1,"items":{"type":"integer","format":"int64","example":1}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","example":2,"items":{"type":"integer","format":"int64","example":2}},"importState":{"type":"string","example":"TRANSIENT","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"importNote":{"type":"string","example":"Asset created successfully in transient state"},"tombstone":{"type":"string","example":" {\n \"catenaXId\": \"urn:uuid:7e4541ea-bb0f-464c-8cb3-021abccbfaf5\",\n \"endpointURL\": \"https://irs-provider-dataplane3.dev.demo.catena-x.net/api/public/data/urn:uuid:c7b3ea3d-97ea-41e4-960d-12fb166e1da1\",\n \"processingError\": {\n \"processStep\": \"SubmodelRequest\",\n \"errorDetail\": \"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : \"{\"errors\":[]}\"\",\n \"lastAttempt\": \"2024-02-07T12:06:34.400493282Z\",\n \"retryCounter\": 0\n },\n \"policy\": null\n }\n"},"contractAgreementId":{"type":"string","example":"TODO"}}}}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/submodel/data":{"delete":{"tags":["Submodel"],"summary":"Delete All Submodels","description":"Deletes all submodels from the system.","operationId":"deleteSubmodels","responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Ok."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/bpn-config/{bpn}":{"delete":{"tags":["BpnEdcMapping"],"summary":"Deletes BPN EDC URL mappings","description":"The endpoint deletes BPN EDC URL mappings","operationId":"deleteBpnEdcUrlMappings","parameters":[{"name":"bpn","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Deleted."},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Okay"}},"security":[{"oAuth2":["profile email"]}]}}},"components":{"schemas":{"UpdatePolicyRequest":{"type":"object","properties":{"businessPartnerNumbers":{"type":"array","items":{"type":"string"}},"policyIds":{"type":"array","items":{"type":"string"}},"validUntil":{"type":"string","format":"date-time"}}},"ErrorResponse":{"type":"object","properties":{"message":{"maxLength":1000,"minLength":0,"pattern":"^.*$","type":"string","example":"Access Denied"}}},"EditNotificationRequest":{"required":["affectedPartIds","description","receiverBpn","severity"],"type":"object","properties":{"title":{"maxLength":255,"minLength":1,"type":"string","example":"title"},"receiverBpn":{"type":"string","example":"BPNL00000003CNKC"},"severity":{"type":"string","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"]},"targetDate":{"type":"string","format":"date-time","example":"2099-03-11T22:44:06.333826952Z"},"description":{"maxLength":1000,"minLength":15,"type":"string","example":"The description"},"affectedPartIds":{"maxLength":50,"minLength":1,"maxItems":50,"minItems":1,"type":"array","example":["urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978"],"items":{"maxLength":50,"minLength":1,"type":"string","example":"[\"urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978\"]"}}}},"BpnMappingRequest":{"required":["bpn","url"],"type":"object","properties":{"bpn":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003CSGV"},"url":{"maxLength":255,"minLength":0,"type":"string"}}},"BpnEdcMappingResponse":{"type":"object","properties":{"bpn":{"type":"string","example":"BPNL00000003CSGV"},"url":{"type":"string","example":"https://trace-x-test-edc.dev.demo.catena-x.net/a1"}}},"Constraint":{"type":"object","properties":{"leftOperand":{"type":"string","example":"string"},"operator":{"$ref":"#/components/schemas/Operator"},"odrl:rightOperand":{"type":"string","example":"string"}}},"Constraints":{"type":"object","properties":{"and":{"type":"array","items":{"$ref":"#/components/schemas/Constraint"}},"or":{"type":"array","items":{"$ref":"#/components/schemas/Constraint"}}}},"Context":{"type":"object","properties":{"odrl":{"type":"string"}}},"Operator":{"type":"object","properties":{"@id":{"type":"string","example":"odrl:eq","enum":["eq","neq","lt","gt","in","lteq","gteq","isA","hasPart","isPartOf","isOneOf","isAllOf","isNoneOf"]}}},"Payload":{"type":"object","properties":{"@context":{"$ref":"#/components/schemas/Context"},"@id":{"type":"string"},"policy":{"$ref":"#/components/schemas/Policy"}}},"Permission":{"type":"object","properties":{"action":{"type":"string","example":"use","enum":["access","use"]},"constraint":{"$ref":"#/components/schemas/Constraints"}}},"Policy":{"type":"object","properties":{"policyId":{"type":"string","example":"f253718e-a270-4367-901b-9d50d9bd8462"},"createdOn":{"type":"string","format":"date-time"},"validUntil":{"type":"string","format":"date-time"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/Permission"}}}},"RegisterPolicyRequest":{"type":"object","properties":{"validUntil":{"type":"string","format":"date-time"},"businessPartnerNumber":{"type":"string"},"payload":{"$ref":"#/components/schemas/Payload"}}},"CreatePolicyResponse":{"type":"object"},"StartNotificationRequest":{"required":["receiverBpn","severity","type"],"type":"object","properties":{"title":{"maxLength":255,"minLength":1,"type":"string","example":"title"},"affectedPartIds":{"maxLength":100,"minLength":1,"maxItems":50,"minItems":1,"type":"array","example":["urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978"],"items":{"maxLength":100,"minLength":1,"type":"string","example":"[\"urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978\"]"}},"description":{"maxLength":1000,"minLength":15,"type":"string","example":"The description"},"targetDate":{"type":"string","format":"date-time","example":"2099-03-11T22:44:06.333826952Z"},"severity":{"type":"string","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"]},"receiverBpn":{"type":"string","example":"BPNL00000003CNKC"},"type":{"type":"string","example":"ALERT","enum":["ALERT","INVESTIGATION"]}}},"NotificationIdResponse":{"type":"object","properties":{"id":{"type":"integer","format":"int64","example":1}}},"UpdateNotificationStatusTransitionRequest":{"required":["status"],"type":"object","properties":{"status":{"type":"string","description":"The UpdateInvestigationStatus","enum":["ACKNOWLEDGED","ACCEPTED","DECLINED"]},"reason":{"type":"string","example":"The reason."}}},"CloseNotificationRequest":{"type":"object","properties":{"reason":{"maxLength":1000,"minLength":15,"type":"string","example":"The reason."}}},"OwnPageable":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"sort":{"maxItems":2147483647,"type":"array","description":"Content of Assets PageResults","example":"manufacturerPartId,desc","items":{"type":"string"}}}},"PageableFilterRequest":{"type":"object","properties":{"pageAble":{"$ref":"#/components/schemas/OwnPageable"},"searchCriteria":{"$ref":"#/components/schemas/SearchCriteriaRequestParam"}}},"SearchCriteriaRequestParam":{"type":"object","properties":{"filter":{"maxItems":2147483647,"type":"array","description":"Filter Criteria","example":"owner,EQUAL,OWN","items":{"type":"string"}}}},"NotificationMessageResponse":{"type":"object","properties":{"id":{"type":"string"},"sentBy":{"type":"string"},"sentByName":{"type":"string"},"sendTo":{"type":"string"},"sendToName":{"type":"string"},"contractAgreementId":{"type":"string"},"notificationReferenceId":{"type":"string"},"edcNotificationId":{"type":"string"},"messageDate":{"type":"string","format":"date-time"},"messageId":{"type":"string"},"status":{"type":"string","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CANCELED","CLOSED"]},"errorMessage":{"maxLength":255,"minLength":0,"type":"string","example":"EDC not reachable"},"message":{"type":"string"}}},"NotificationResponse":{"type":"object","properties":{"id":{"maximum":255,"minimum":0,"maxLength":255,"type":"integer","format":"int64","example":66},"title":{"maxLength":255,"minLength":0,"type":"string","example":"Title"},"status":{"maxLength":255,"minLength":0,"type":"string","example":"CREATED","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CANCELED","CLOSED"]},"description":{"maxLength":1000,"minLength":0,"type":"string","example":"DescriptionText"},"createdBy":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003AYRE"},"createdByName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"createdDate":{"maxLength":50,"minLength":0,"type":"string","example":"2023-02-21T21:27:10.734950Z"},"updatedDate":{"maxLength":50,"minLength":0,"type":"string","example":"2023-02-21T21:27:10.734950Z"},"assetIds":{"maxItems":1000,"minItems":0,"type":"array","example":["urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd","urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd","urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd"],"items":{"type":"string","example":"[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd\"]"}},"channel":{"maxLength":255,"minLength":0,"type":"string","example":"SENDER","enum":["SENDER","RECEIVER"]},"sendTo":{"maxLength":255,"minLength":0,"type":"string","example":"BPNL00000003AYRE"},"sendToName":{"maxLength":255,"minLength":0,"type":"string","example":"Tier C"},"severity":{"maxLength":255,"minLength":0,"type":"string","example":"MINOR","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"]},"type":{"maxLength":50,"minLength":0,"type":"string","example":"ALERT","enum":["ALERT","INVESTIGATION"]},"targetDate":{"maxLength":50,"minLength":0,"type":"string","example":"2099-02-21T21:27:10.734950Z"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/NotificationMessageResponse"}}}},"CreateNotificationContractRequest":{"required":["notificationMethod","notificationType"],"type":"object","properties":{"notificationType":{"type":"string","enum":["QUALITY_INVESTIGATION","QUALITY_ALERT"]},"notificationMethod":{"type":"string","enum":["RECEIVE","UPDATE","RESOLVE"]}}},"CreateNotificationContractResponse":{"type":"object","properties":{"notificationAssetId":{"type":"string","example":"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"},"accessPolicyId":{"type":"string","example":"123"},"contractDefinitionId":{"type":"string","example":"456"}}},"ContractResponse":{"type":"object","properties":{"contractId":{"maxLength":255,"type":"string","example":"66"},"counterpartyAddress":{"maxLength":255,"type":"string","example":"https://trace-x-edc-e2e-a.dev.demo.catena-x.net/api/v1/dsp"},"creationDate":{"maxLength":255,"type":"string","format":"date-time","example":"2023-02-21T21:27:10.73495Z"},"endDate":{"maxLength":255,"type":"string","format":"date-time","example":"2023-02-21T21:27:10.73495Z"},"state":{"maxLength":255,"type":"string","example":"FINALIZED"},"policy":{"maxLength":255,"type":"string","example":"{\\\"@id\\\":\\\"eb0c8486-914a-4d36-84c0-b4971cbc52e4\\\",\\\"@type\\\":\\\"odrl:Set\\\",\\\"odrl:permission\\\":{\\\"odrl:target\\\":\\\"registry-asset\\\",\\\"odrl:action\\\":{\\\"odrl:type\\\":\\\"USE\\\"},\\\"odrl:constraint\\\":{\\\"odrl:or\\\":{\\\"odrl:leftOperand\\\":\\\"PURPOSE\\\",\\\"odrl:operator\\\":{\\\"@id\\\":\\\"odrl:eq\\\"},\\\"odrl:rightOperand\\\":\\\"ID 3.0 Trace\\\"}}},\\\"odrl:prohibition\\\":[],\\\"odrl:obligation\\\":[],\\\"odrl:target\\\":\\\"registry-asset\\\"}"}}},"PageResultContractResponse":{"type":"object","properties":{"content":{"maxItems":2147483647,"minItems":0,"type":"array","description":"Content of PageResults","items":{"$ref":"#/components/schemas/ContractResponse"}},"page":{"type":"integer","format":"int32","example":1},"pageCount":{"type":"integer","format":"int32","example":15},"pageSize":{"type":"integer","format":"int32","example":10},"totalItems":{"type":"integer","format":"int64","example":2}}},"RegisterAssetRequest":{"required":["assetIds","policyId"],"type":"object","properties":{"policyId":{"type":"string","example":"a644a7cb-3de5-493b-9259-f01db315a46e"},"assetIds":{"type":"array","items":{"type":"string"}}}},"ImportResponse":{"type":"object","properties":{"jobId":{"type":"string"},"importStateMessage":{"type":"array","items":{"$ref":"#/components/schemas/ImportStateMessage"}},"validationResult":{"$ref":"#/components/schemas/ValidationResponse"}}},"ImportStateMessage":{"type":"object","properties":{"catenaXId":{"type":"string"},"persistedOrUpdated":{"type":"boolean"}}},"ValidationResponse":{"type":"object","properties":{"validationErrors":{"type":"array","items":{"type":"string"}}}},"SyncAssetsRequest":{"type":"object","properties":{"globalAssetIds":{"maxItems":100,"minItems":1,"type":"array","example":["urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"],"items":{"type":"string","example":"[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\"]"}}}},"GetDetailInformationRequest":{"type":"object","properties":{"assetIds":{"maxLength":50,"minLength":1,"maxItems":50,"minItems":1,"type":"array","example":["urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd"],"items":{"maxLength":50,"minLength":1,"type":"string","example":"[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\"]"}}}},"DescriptionsResponse":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string","example":"urn:uuid:a4a26b9c-9460-4cc5-8645-85916b86adb0"},"idShort":{"maxLength":255,"minLength":0,"type":"string","example":"assembly-part-relationship"}}},"DetailAspectDataAsBuiltResponse":{"type":"object","properties":{"partId":{"maxLength":255,"minLength":0,"type":"string","example":"95657762-59"},"customerPartId":{"maxLength":255,"minLength":0,"type":"string","example":"01697F7-65"},"nameAtCustomer":{"maxLength":255,"minLength":0,"type":"string","example":"Door front-left"},"manufacturingCountry":{"maxLength":255,"minLength":0,"type":"string","example":"DEU"},"manufacturingDate":{"maxLength":255,"minLength":0,"type":"string","example":"2022-02-04T13:48:54Z"}}},"DetailAspectDataAsPlannedResponse":{"type":"object","properties":{"validityPeriodFrom":{"maxLength":255,"minLength":0,"type":"string","example":"2022-09-26T12:43:51.079Z"},"validityPeriodTo":{"maxLength":255,"minLength":0,"type":"string","example":"20232-07-13T12:00:00.000Z"}}},"DetailAspectDataResponse":{"type":"object","oneOf":[{"$ref":"#/components/schemas/DetailAspectDataAsBuiltResponse"},{"$ref":"#/components/schemas/DetailAspectDataAsPlannedResponse"},{"$ref":"#/components/schemas/PartSiteInformationAsPlannedResponse"},{"$ref":"#/components/schemas/DetailAspectDataTractionBatteryCodeResponse"}]},"DetailAspectDataTractionBatteryCodeResponse":{"type":"object","properties":{"productType":{"maxLength":255,"minLength":0,"type":"string","example":"pack"},"tractionBatteryCode":{"maxLength":255,"minLength":0,"type":"string","example":"X12MCPM27KLPCLX2M2382320"},"subcomponents":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectDataTractionBatteryCodeSubcomponentResponse"}}}},"DetailAspectDataTractionBatteryCodeSubcomponentResponse":{"type":"object","properties":{"productType":{"maxLength":255,"minLength":0,"type":"string","example":"pack"},"tractionBatteryCode":{"maxLength":255,"minLength":0,"type":"string","example":"X12MCPM27KLPCLX2M2382320"}}},"DetailAspectModelResponse":{"type":"object","properties":{"type":{"type":"string","example":"PART_SITE_INFORMATION_AS_PLANNED","enum":["AS_BUILT","AS_PLANNED","TRACTION_BATTERY_CODE","SINGLE_LEVEL_BOM_AS_BUILT","SINGLE_LEVEL_USAGE_AS_BUILT","SINGLE_LEVEL_BOM_AS_PLANNED","PART_SITE_INFORMATION_AS_PLANNED"]},"data":{"$ref":"#/components/schemas/DetailAspectDataResponse"}}},"PartSiteInformationAsPlannedResponse":{"type":"object","properties":{"functionValidUntil":{"type":"string","example":"2025-02-08T04:30:48.000Z"},"function":{"type":"string","example":"production"},"functionValidFrom":{"type":"string","example":"2023-10-13T14:30:45+01:00"},"catenaXSiteId":{"type":"string","example":"urn:uuid:0fed587c-7ab4-4597-9841-1718e9693003"}}},"UpdateAssetRequest":{"required":["qualityType"],"type":"object","properties":{"qualityType":{"type":"string","example":"Ok","enum":["Ok","Minor","Major","Critical","LifeThreatening"]}}},"IrsPolicyResponse":{"type":"object","properties":{"validUntil":{"type":"string","format":"date-time"},"payload":{"$ref":"#/components/schemas/Payload"}},"example":[{"validUntil":"2025-12-12T23:59:59.999Z","payload":{"@context":{"@vocab":"https://w3id.org/edc/v0.0.1/ns/","edc":"https://w3id.org/edc/v0.0.1/ns/","cx-policy":"https://w3id.org/catenax/policy/","odrl":"http://www.w3.org/ns/odrl/2/"},"@id":"policy-id","policy":{"odrl:permission":[{"odrl:action":"use","odrl:constraint":{"odrl:and":[{"odrl:leftOperand":"Membership","odrl:operator":{"@id":"odrl:eq"},"odrl:rightOperand":"active"},{"odrl:leftOperand":"PURPOSE","odrl:operator":{"@id":"odrl:eq"},"odrl:rightOperand":"ID 3.1 Trace"}]}}]}}}]},"ConstraintResponse":{"type":"object","properties":{"leftOperand":{"type":"string","example":"PURPOSE"},"operatorTypeResponse":{"type":"string","enum":["EQ","NEQ","LT","GT","IN","LTEQ","GTEQ","ISA","HASPART","ISPARTOF","ISONEOF","ISALLOF","ISNONEOF"]},"rightOperand":{"type":"string","example":"ID Trace 3.1"}}},"ConstraintsResponse":{"type":"object","properties":{"and":{"type":"array","items":{"$ref":"#/components/schemas/ConstraintResponse"}},"or":{"type":"array","items":{"$ref":"#/components/schemas/ConstraintResponse"}}}},"PermissionResponse":{"type":"object","properties":{"action":{"type":"string","example":"USE","enum":["ACCESS","USE"]},"constraints":{"$ref":"#/components/schemas/ConstraintsResponse"}}},"PolicyResponse":{"type":"object","properties":{"policyId":{"type":"string","example":"5a00bb50-0253-405f-b9f1-1a3150b9d51d"},"createdOn":{"type":"string","format":"date-time"},"validUntil":{"type":"string","format":"date-time"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/PermissionResponse"}},"businessPartnerNumber":{"type":"string"}}},"DashboardResponse":{"type":"object","properties":{"asBuiltCustomerParts":{"type":"integer","format":"int64","example":5},"asPlannedCustomerParts":{"type":"integer","format":"int64","example":10},"asBuiltSupplierParts":{"type":"integer","format":"int64","example":2},"asPlannedSupplierParts":{"type":"integer","format":"int64","example":3},"asBuiltOwnParts":{"type":"integer","format":"int64","example":1},"asPlannedOwnParts":{"type":"integer","format":"int64","example":1},"myPartsWithOpenAlerts":{"type":"integer","format":"int64","example":1},"myPartsWithOpenInvestigations":{"type":"integer","format":"int64","example":1},"supplierPartsWithOpenAlerts":{"type":"integer","format":"int64","example":1},"customerPartsWithOpenAlerts":{"type":"integer","format":"int64","example":1},"supplierPartsWithOpenInvestigations":{"type":"integer","format":"int64","example":2},"customerPartsWithOpenInvestigations":{"type":"integer","format":"int64","example":2},"receivedActiveAlerts":{"type":"integer","format":"int64","example":2},"receivedActiveInvestigations":{"type":"integer","format":"int64","example":2},"sentActiveAlerts":{"type":"integer","format":"int64","example":2},"sentActiveInvestigations":{"type":"integer","format":"int64","example":2}}},"ImportJobResponse":{"type":"object","properties":{"importJobStatus":{"type":"string","enum":["INITIALIZING","RUNNING","ERROR","COMPLETED"]},"importId":{"type":"string","example":"456a952e-05eb-40dc-a6f2-9c2cb9c1387f"},"startedOn":{"maxLength":50,"type":"string","example":"2099-02-21T21:27:10.734950Z"},"completedOn":{"maxLength":50,"type":"string","example":"2099-02-21T21:27:10.734950Z"}}},"ImportReportResponse":{"type":"object","properties":{"importJob":{"$ref":"#/components/schemas/ImportJobResponse"},"importedAsset":{"type":"array","items":{"$ref":"#/components/schemas/ImportedAssetResponse"}}}},"ImportedAssetResponse":{"type":"object","properties":{"importState":{"type":"string","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","PUBLISHED_TO_CORE_SERVICES","UNSET"]},"catenaxId":{"type":"string","example":"urn:uuid:7eeeac86-7b69-444d-81e6-655d0f1513bd}"},"importedOn":{"maxLength":50,"type":"string","example":"2099-02-21T21:27:10.734950Z"},"importMessage":{"type":"string","example":"Asset created successfully in transient state."}}}},"securitySchemes":{"oAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://example.com/api/oauth/token","scopes":{"profile email":""}}}}}}} \ No newline at end of file diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/date/DateUtil.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/date/DateUtil.java index 08f1518f65..6655929b57 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/date/DateUtil.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/date/DateUtil.java @@ -21,6 +21,7 @@ import java.time.Instant; import java.time.OffsetDateTime; import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import static org.eclipse.tractusx.traceability.common.config.TimeConfig.SYSTEM_TIMEZONE; @@ -41,4 +42,13 @@ public static OffsetDateTime toOffsetDateTime(Instant instant) { return null; } } + private static final DateTimeFormatter formatter = DateTimeFormatter.ISO_INSTANT; + + public static String convertInstantToString(Instant instant) { + if (instant == null) { + return null; + } + return formatter.format(instant); + } + } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/mapper/NotificationMessageMapper.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/mapper/NotificationMessageMapper.java index eed36af80d..3156e850ff 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/mapper/NotificationMessageMapper.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/mapper/NotificationMessageMapper.java @@ -45,22 +45,20 @@ public class NotificationMessageMapper { * @param edcNotification the EDCNotification received by the receiver * @return a Notification object representing the notification received by the receiver */ - public NotificationMessage toNotification(EDCNotification edcNotification, NotificationType type) { + public NotificationMessage toNotificationMessage(EDCNotification edcNotification, NotificationType type) { String notificationId = UUID.randomUUID().toString(); return NotificationMessage.builder() .id(notificationId) .created(LocalDateTime.now()) .notificationReferenceId(edcNotification.getNotificationId()) - .createdBy(edcNotification.getSenderBPN()) - .createdByName(getManufacturerName(edcNotification.getSenderBPN())) + .sentBy(edcNotification.getSenderBPN()) + .sentByName(getManufacturerName(edcNotification.getSenderBPN())) .type(type) - .sendTo(edcNotification.getRecipientBPN()) + .sentTo(edcNotification.getRecipientBPN()) .sendToName(getManufacturerName(edcNotification.getRecipientBPN())) - .description(edcNotification.getInformation()) + .message(edcNotification.getInformation()) .notificationStatus(edcNotification.convertNotificationStatus()) .affectedParts(emptyIfNull(edcNotification.getListOfAffectedItems())) - .targetDate(edcNotification.getTargetDate()) - .severity(NotificationSeverity.fromString(edcNotification.getSeverity())) .edcNotificationId(edcNotification.getNotificationId()) .messageId(edcNotification.getMessageId()) .build(); diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/application/notification/mapper/NotificationFieldMapper.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/application/notification/mapper/NotificationFieldMapper.java index e1ac3d4680..88e5a07c67 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/application/notification/mapper/NotificationFieldMapper.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/application/notification/mapper/NotificationFieldMapper.java @@ -38,12 +38,12 @@ public class NotificationFieldMapper extends BaseRequestFieldMapper { Map.entry("close", "closeReason"), Map.entry("accept", "acceptReason"), Map.entry("decline", "declineReason"), - Map.entry("severity", "messages_severity"), + Map.entry("severity", "severity"), Map.entry("createdBy", "messages_createdBy"), Map.entry("createdByName", "messages_createdByName"), Map.entry("sendTo", "messages_sendTo"), Map.entry("sendToName", "messages_sendToName"), - Map.entry("targetDate", "messages_targetDate"), + Map.entry("targetDate", "targetDate"), Map.entry("assetId", "assets_id"), Map.entry("title", "title"), Map.entry("type", "type") diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/application/notification/mapper/NotificationMessageMapper.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/application/notification/mapper/NotificationMessageMapper.java index f1fb5e0918..1352a15ac1 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/application/notification/mapper/NotificationMessageMapper.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/application/notification/mapper/NotificationMessageMapper.java @@ -36,8 +36,8 @@ @UtilityClass public class NotificationMessageMapper { - public static NotificationSeverityResponse from(NotificationSeverity notificationSeverity) { - return NotificationSeverityResponse.fromString(notificationSeverity.getRealName()); + public static NotificationSeverityResponse from(NotificationSeverity severity) { + return NotificationSeverityResponse.fromString(severity.getRealName()); } public static NotificationSideResponse from(NotificationSide side) { @@ -60,20 +60,16 @@ public static NotificationMessageResponse fromNotification(NotificationMessage n return NotificationMessageResponse .builder() .id(notificationMessage.getId()) - .severity(notificationMessage.getSeverity() != null ? NotificationSeverityResponse.fromString(notificationMessage.getSeverity().getRealName()) : null) .notificationReferenceId(notificationMessage.getNotificationReferenceId()) .edcNotificationId(notificationMessage.getEdcNotificationId()) .contractAgreementId(notificationMessage.getContractAgreementId()) .notificationReferenceId(notificationMessage.getNotificationReferenceId()) .messageId(notificationMessage.getMessageId()) - .updated(notificationMessage.getUpdated()) .sendToName(notificationMessage.getSendToName()) .status(fromStatus(notificationMessage.getNotificationStatus())) - .targetDate(notificationMessage.getTargetDate()) - .created(notificationMessage.getCreated()) - .createdBy(notificationMessage.getCreatedBy()) - .createdByName(notificationMessage.getCreatedByName()) - .sendTo(notificationMessage.getSendTo()) + .sentBy(notificationMessage.getSentBy()) + .sentByName(notificationMessage.getSentByName()) + .sendTo(notificationMessage.getSentTo()) .errorMessage(notificationMessage.getErrorMessage()) .build(); } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/application/notification/mapper/NotificationResponseMapper.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/application/notification/mapper/NotificationResponseMapper.java index c69b8a13b9..dc1a31500c 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/application/notification/mapper/NotificationResponseMapper.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/application/notification/mapper/NotificationResponseMapper.java @@ -20,18 +20,17 @@ package org.eclipse.tractusx.traceability.notification.application.notification.mapper; import lombok.experimental.UtilityClass; +import notification.response.NotificationResponse; +import notification.response.NotificationSeverityResponse; import org.eclipse.tractusx.traceability.common.model.PageResult; import org.eclipse.tractusx.traceability.notification.domain.base.model.Notification; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationMessage; -import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSeverity; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; -import notification.response.NotificationReasonResponse; -import notification.response.NotificationResponse; -import java.time.Instant; +import java.time.OffsetDateTime; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -54,16 +53,13 @@ public static NotificationResponse from(Notification notification) { .channel(NotificationMessageMapper.from(notification.getNotificationSide())) .type(NotificationMessageMapper.from(notification.getNotificationType())) .title(notification.getTitle()) - .reason(new NotificationReasonResponse( - notification.getCloseReason(), - notification.getAcceptReason(), - notification.getDeclineReason() - )) + .updatedDate(OffsetDateTime.now().toString()) .sendTo(getReceiverBPN(notification.getNotifications())) .sendToName(getReceiverName(notification.getNotifications())) - // TODO severity should not be inside the notification it should be in the message - .severity(NotificationMessageMapper.from(notification.getNotifications().stream().findFirst().map(NotificationMessage::getSeverity).orElse(NotificationSeverity.MINOR))) - .targetDate(notification.getNotifications().stream().findFirst().map(NotificationMessage::getTargetDate).map(Instant::toString).orElse(null)) + .severity(notification.getSeverity() != null ? + NotificationSeverityResponse.fromString(notification.getSeverity().getRealName()) : + null) + .targetDate(notification.getTargetDate()) .messages(fromNotifications(notification.getNotifications())) .build(); } @@ -81,21 +77,21 @@ public static PageResult fromAsPageResult(PageResult notifications) { return notifications.stream() .findFirst() - .map(NotificationMessage::getCreatedBy) + .map(NotificationMessage::getSentBy) .orElse(null); } private static String getReceiverBPN(Collection notifications) { return notifications.stream() .findFirst() - .map(NotificationMessage::getSendTo) + .map(NotificationMessage::getSentTo) .orElse(null); } private static String getSenderName(Collection notifications) { return notifications.stream() .findFirst() - .map(NotificationMessage::getCreatedByName) + .map(NotificationMessage::getSentByName) .orElse(null); } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/model/Notification.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/model/Notification.java index 4aac71328c..574b0c99bc 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/model/Notification.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/model/Notification.java @@ -40,6 +40,7 @@ import static java.util.stream.Collectors.groupingBy; import static org.apache.commons.collections4.ListUtils.emptyIfNull; +import static org.eclipse.tractusx.traceability.common.date.DateUtil.convertInstantToString; @Data @Builder(toBuilder = true) @@ -55,21 +56,24 @@ public class Notification { private NotificationType notificationType; @Builder.Default private List affectedPartIds = new ArrayList<>(); - private String closeReason; - private String acceptReason; - private String declineReason; + private NotificationSeverity severity; + private String targetDate; + @Getter @Builder.Default private List notifications = List.of(); - public static Notification startNotification(String title, Instant createDate, BPN bpn, String description, NotificationType notificationType) { + public static Notification startNotification(String title, Instant createDate, BPN bpn, String description, NotificationType notificationType, NotificationSeverity severity, Instant targetDate) { + return Notification.builder() .title(title) .bpn(bpn) .notificationStatus(NotificationStatus.CREATED) .notificationSide(NotificationSide.SENDER) .notificationType(notificationType) + .targetDate(convertInstantToString(targetDate)) + .severity(severity) .description(description) .createdAt(createDate) .affectedPartIds(Collections.emptyList()) @@ -89,8 +93,6 @@ public void createInitialNotifications(List affectedParts, BPN applic applicationBPN, editNotification.getReceiverBpn(), editNotification.getDescription(), - editNotification.getTargetDate(), - editNotification.getSeverity(), this.notificationType, receiverAssetsMap, applicationBPN.value(), @@ -111,8 +113,6 @@ public void createInitialNotifications(List affectedParts, BPN applic applicationBPN, sentToBPN, editNotification.getDescription(), - editNotification.getTargetDate(), - editNotification.getSeverity(), this.notificationType, receiverAssetsMapEntry, applicationBPN.value(), @@ -135,33 +135,32 @@ public String getBpn() { public void cancel(BPN applicationBpn) { validateBPN(applicationBpn); changeStatusTo(NotificationStatus.CANCELED); - this.closeReason = "canceled"; } - public void close(BPN applicationBpn, String reason) { + public void close(BPN applicationBpn, String reason, NotificationMessage notificationMessage) { validateBPN(applicationBpn); changeStatusTo(NotificationStatus.CLOSED); - this.closeReason = reason; - this.notifications.forEach(notification -> notification.setDescription(reason)); + notificationMessage.setMessage(reason); + this.notifications.forEach(notification -> notification.setMessage(reason)); } public void acknowledge() { changeStatusTo(NotificationStatus.ACKNOWLEDGED); } - public void accept(String reason) { + public void accept(String reason, NotificationMessage message) { changeStatusTo(NotificationStatus.ACCEPTED); - this.acceptReason = reason; + message.setMessage(reason); } - public void decline(String reason) { + public void decline(String reason, NotificationMessage message) { changeStatusTo(NotificationStatus.DECLINED); - this.declineReason = reason; + message.setMessage(reason); } - public void close(String reason) { + public void close(String reason, NotificationMessage notificationMessage) { changeStatusTo(NotificationStatus.CLOSED); - this.closeReason = reason; + notificationMessage.setMessage(reason); } public void send(BPN applicationBpn) { diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/model/NotificationMessage.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/model/NotificationMessage.java index a086df2de2..db4980edb6 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/model/NotificationMessage.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/model/NotificationMessage.java @@ -40,21 +40,19 @@ @Data public class NotificationMessage { private String id; - private final String createdByName; + private final String sentByName; private final String sendToName; @Builder.Default private List affectedParts = new ArrayList<>(); private String notificationReferenceId; - private String createdBy; - private String sendTo; + private String sentBy; + private String sentTo; private String contractAgreementId; - private String description; + private String message; private NotificationStatus notificationStatus; private String edcNotificationId; private LocalDateTime created; private LocalDateTime updated; - private Instant targetDate; - private NotificationSeverity severity; private String messageId; private NotificationType type; private String errorMessage; @@ -68,21 +66,19 @@ public void changeStatusTo(NotificationStatus to) { this.notificationStatus = to; } - public static NotificationMessage create(BPN applicationBpn, String receiverBpn, String description, Instant targetDate, NotificationSeverity severity, NotificationType notificationType, Map.Entry> asset, String creator, String sendToName) { + public static NotificationMessage create(BPN applicationBpn, String receiverBpn, String description, NotificationType notificationType, Map.Entry> asset, String creator, String sendToName) { final String notificationId = UUID.randomUUID().toString(); final String messageId = UUID.randomUUID().toString(); return NotificationMessage.builder() .id(notificationId) .created(LocalDateTime.now()) - .createdBy(applicationBpn.value()) - .createdByName(creator) - .sendTo(StringUtils.isBlank(receiverBpn) ? asset.getKey() : receiverBpn) + .sentBy(applicationBpn.value()) + .sentByName(creator) + .sentTo(StringUtils.isBlank(receiverBpn) ? asset.getKey() : receiverBpn) .sendToName(sendToName) - .description(description) + .message(description) .notificationStatus(NotificationStatus.CREATED) .affectedParts(asset.getValue().stream().map(AssetBase::getId).map(NotificationAffectedPart::new).toList()) - .targetDate(targetDate) - .severity(severity) .edcNotificationId(notificationId) .type(notificationType) .messageId(messageId) @@ -95,36 +91,34 @@ public static NotificationMessage create(BPN applicationBpn, String receiverBpn, public NotificationMessage copyAndSwitchSenderAndReceiver(BPN applicationBpn) { final String notificationId = UUID.randomUUID().toString(); final String messageUUID = UUID.randomUUID().toString(); - String receiverBPN = sendTo; - String senderBPN = createdBy; + String receiverBPN = sentTo; + String senderBPN = sentBy; String receiverName; String senderName; // This is needed to make sure that the app can send a message to the receiver and not addresses itself - if (applicationBpn.value().equals(sendTo)) { - receiverBPN = createdBy; - senderBPN = sendTo; - receiverName = createdByName; + if (applicationBpn.value().equals(sentTo)) { + receiverBPN = sentBy; + senderBPN = sentTo; + receiverName = sentByName; senderName = sendToName; } else { receiverName = sendToName; - senderName = createdByName; + senderName = sentByName; } return NotificationMessage.builder() .created(LocalDateTime.now()) .id(notificationId) - .createdBy(senderBPN) - .createdByName(senderName) - .sendTo(receiverBPN) + .sentBy(senderBPN) + .sentByName(senderName) + .sentTo(receiverBPN) .sendToName(receiverName) .contractAgreementId(contractAgreementId) - .description(description) + .message(message) .notificationStatus(notificationStatus) .affectedParts(affectedParts) .edcNotificationId(edcNotificationId) .messageId(messageUUID) - .severity(severity) - .targetDate(targetDate) .type(type) .errorMessage(errorMessage) .build(); diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/model/NotificationSeverity.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/model/NotificationSeverity.java index 418e7136e4..2615802169 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/model/NotificationSeverity.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/model/NotificationSeverity.java @@ -47,7 +47,7 @@ public static NotificationSeverity fromString(String str) { return s; } } - throw new IllegalArgumentException("No enum constant " + NotificationSeverity.class.getCanonicalName() + "." + str); + return null; } public static NotificationSeverity from(NotificationSeverityRequest notificationSeverityRequest) { diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/AbstractNotificationReceiverService.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/AbstractNotificationReceiverService.java index 80b6e99109..c92d5189e8 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/AbstractNotificationReceiverService.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/AbstractNotificationReceiverService.java @@ -47,7 +47,7 @@ public abstract class AbstractNotificationReceiverService implements Notificatio @Override public void handleReceive(EDCNotification edcNotification, NotificationType notificationType) { BPN investigationCreatorBPN = BPN.of(edcNotification.getSenderBPN()); - NotificationMessage notification = getNotificationMessageMapper().toNotification(edcNotification, notificationType); + NotificationMessage notification = getNotificationMessageMapper().toNotificationMessage(edcNotification, notificationType); Notification investigation = getNotificationMapper().toNotification(investigationCreatorBPN, edcNotification.getInformation(), notification, notificationType); NotificationId investigationId = getRepository().saveNotification(investigation); log.info("Stored received edcNotification in investigation with id {}", investigationId); @@ -58,15 +58,15 @@ public void handleUpdate(EDCNotification edcNotification, NotificationType notif Notification notification = getRepository().findByEdcNotificationId(edcNotification.getNotificationId()) .orElseThrow(() -> getNotFoundException(edcNotification.getNotificationId())); - NotificationMessage notificationMessage = getNotificationMessageMapper().toNotification(edcNotification, notificationType); + NotificationMessage notificationMessage = getNotificationMessageMapper().toNotificationMessage(edcNotification, notificationType); emptyIfNull(notification.getNotifications()).stream().findFirst().ifPresent(notificationMessage1 -> notificationMessage.setAffectedParts(notificationMessage1.getAffectedParts())); switch (edcNotification.convertNotificationStatus()) { case ACKNOWLEDGED -> notification.acknowledge(); - case ACCEPTED -> notification.accept(edcNotification.getInformation()); - case DECLINED -> notification.decline(edcNotification.getInformation()); + case ACCEPTED -> notification.accept(edcNotification.getInformation(), notificationMessage); + case DECLINED -> notification.decline(edcNotification.getInformation(), notificationMessage); case CLOSED -> - notification.close(BPN.of(notification.getBpn()), edcNotification.getInformation()); + notification.close(BPN.of(notification.getBpn()), edcNotification.getInformation(), notificationMessage); default -> throw getIllegalUpdateException("Failed to handle notification due to unhandled %s status".formatted(edcNotification.convertNotificationStatus())); } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/AbstractNotificationService.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/AbstractNotificationService.java index 6df39d7d47..6c72147624 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/AbstractNotificationService.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/AbstractNotificationService.java @@ -58,7 +58,7 @@ public abstract class AbstractNotificationService implements NotificationService private final AssetAsBuiltRepository assetAsBuiltRepository; private final BpnRepository bpnRepository; - private static final List SUPPORTED_ENUM_FIELDS = List.of("status", "side", "messages_severity", "type"); + private static final List SUPPORTED_ENUM_FIELDS = List.of("status", "side", "severity", "type"); protected abstract NotificationRepository getNotificationRepository(); @@ -95,7 +95,7 @@ public void updateStatusTransition(Long notificationId, NotificationStatus notif NotificationMessage notificationMessageSwitchedSenderAndReceiver = notificationMessage.copyAndSwitchSenderAndReceiver(traceabilityProperties.getBpn()); notificationMessageSwitchedSenderAndReceiver.setId(UUID.randomUUID().toString()); notificationMessageSwitchedSenderAndReceiver.changeStatusTo(notificationStatus); - notificationMessageSwitchedSenderAndReceiver.setDescription(reason); + notificationMessageSwitchedSenderAndReceiver.setMessage(reason); notification.addNotificationMessage(notificationMessageSwitchedSenderAndReceiver); }); @@ -135,9 +135,14 @@ public void editNotification(EditNotification editNotification) { if (editNotification.getAffectedPartIds() != null) { notification.setAffectedPartIds(editNotification.getAffectedPartIds()); } + if (editNotification.getSeverity() != null){ + notification.setSeverity(editNotification.getSeverity()); + } + if (editNotification.getTargetDate() != null){ + notification.setTargetDate(String.valueOf(editNotification.getTargetDate())); + } - - getNotificationRepository().updateNotificationAndMessage(notification, editNotification.getSeverity()); + getNotificationRepository().updateNotificationAndMessage(notification); } @Override @@ -216,7 +221,7 @@ private List getAssetEnumFieldValues(String fieldName) { return switch (fieldName) { case "status" -> Arrays.stream(NotificationStatus.values()).map(Enum::name).toList(); case "side" -> Arrays.stream(NotificationSide.values()).map(Enum::name).toList(); - case "messages_severity" -> Arrays.stream(NotificationSeverity.values()).map(Enum::name).toList(); + case "severity" -> Arrays.stream(NotificationSeverity.values()).map(Enum::name).toList(); case "type" -> Arrays.stream(NotificationType.values()).map(Enum::name).toList(); default -> null; }; diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/EdcNotificationServiceImpl.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/EdcNotificationServiceImpl.java index edc84fefbb..d7117d1264 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/EdcNotificationServiceImpl.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/EdcNotificationServiceImpl.java @@ -60,7 +60,7 @@ public class EdcNotificationServiceImpl implements EdcNotificationService { public CompletableFuture asyncNotificationMessageExecutor(NotificationMessage message) { log.info("::asyncNotificationExecutor::message {}", message); try { - Discovery discovery = discoveryService.getDiscoveryByBPN(message.getSendTo()); + Discovery discovery = discoveryService.getDiscoveryByBPN(message.getSentTo()); String senderEdcUrl = discovery.getSenderUrl(); List receiverUrls = emptyIfNull(discovery.getReceiverUrls()); diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/NotificationPublisherService.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/NotificationPublisherService.java index 8a1a577d9a..79f4a0c04b 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/NotificationPublisherService.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/NotificationPublisherService.java @@ -58,7 +58,7 @@ public class NotificationPublisherService { public Notification startNotification(StartNotification startNotification) { BPN applicationBPN = traceabilityProperties.getBpn(); - Notification notification = Notification.startNotification(startNotification.getTitle(), clock.instant(), applicationBPN, startNotification.getDescription(), startNotification.getType()); + Notification notification = Notification.startNotification(startNotification.getTitle(), clock.instant(), applicationBPN, startNotification.getDescription(), startNotification.getType(), startNotification.getSeverity(), startNotification.getTargetDate()); createMessages(startNotification, applicationBPN, notification, assetAsBuiltRepository); return notification; } @@ -79,8 +79,6 @@ private void createMessages(StartNotification startNotification, BPN application applicationBPN, startNotification.getReceiverBpn(), startNotification.getDescription(), - startNotification.getTargetDate(), - startNotification.getSeverity(), startNotification.getType(), it, creator, @@ -160,9 +158,9 @@ public Notification updateNotificationPublisher(Notification notification, Notif relevantNotifications.forEach(qNotification -> { switch (status) { case ACKNOWLEDGED -> notification.acknowledge(); - case ACCEPTED -> notification.accept(reason); - case DECLINED -> notification.decline(reason); - case CLOSED -> notification.close(reason); + case ACCEPTED -> notification.accept(reason, qNotification); + case DECLINED -> notification.decline(reason, qNotification); + case CLOSED -> notification.close(reason, qNotification); default -> throw new NotificationIllegalUpdate("Transition from status '%s' to status '%s' is not allowed for notification with id '%s'".formatted(notification.getNotificationStatus().name(), status, notification.getNotificationId())); } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/NotificationsEDCFacade.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/NotificationsEDCFacade.java index c917bbedce..84cd5a8976 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/NotificationsEDCFacade.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/base/service/NotificationsEDCFacade.java @@ -45,6 +45,7 @@ import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationMessage; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationStatus; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationType; +import org.eclipse.tractusx.traceability.notification.domain.notification.exception.NotificationNotFoundException; import org.eclipse.tractusx.traceability.notification.domain.notification.repository.NotificationRepository; import org.eclipse.tractusx.traceability.notification.infrastructure.edc.model.EDCNotification; import org.eclipse.tractusx.traceability.notification.infrastructure.edc.model.EDCNotificationFactory; @@ -90,24 +91,24 @@ public class NotificationsEDCFacade { private static final String CX_TAXO_QUALITY_ALERT_UPDATE = "https://w3id.org/catenax/taxonomy#UpdateQualityAlertNotification"; public void startEdcTransfer( - final NotificationMessage notification, + final NotificationMessage notificationMessage, final String receiverEdcUrl, final String senderEdcUrl) { - CatalogItem catalogItem = getCatalogItem(notification, receiverEdcUrl); + CatalogItem catalogItem = getCatalogItem(notificationMessage, receiverEdcUrl); - String contractAgreementId = negotiateContractAgreement(receiverEdcUrl, catalogItem, notification.getSendTo()); + String contractAgreementId = negotiateContractAgreement(receiverEdcUrl, catalogItem, notificationMessage.getSentTo()); final EndpointDataReference dataReference = endpointDataReferenceStorage.get(contractAgreementId) .orElseThrow(() -> new NoEndpointDataReferenceException("No EndpointDataReference was found")); - notification.setContractAgreementId(contractAgreementId); + notificationMessage.setContractAgreementId(contractAgreementId); try { - EdcNotificationRequest notificationRequest = toEdcNotificationRequest(notification, senderEdcUrl, dataReference); - sendRequest(notificationRequest, notification); + EdcNotificationRequest notificationRequest = toEdcNotificationRequest(notificationMessage, senderEdcUrl, dataReference); + sendRequest(notificationRequest, notificationMessage); } catch (Exception e) { - throw new SendNotificationException("Failed to send notification.", e); + throw new SendNotificationException("Failed to send notificationMessage.", e); } } @@ -141,7 +142,7 @@ private CatalogItem getCatalogItem(final NotificationMessage notification, final CatalogRequest.Builder.newInstance() .protocol(DEFAULT_PROTOCOL) .counterPartyAddress(receiverEdcUrl + edcProperties.getIdsPath()) - .counterPartyId(notification.getSendTo()) + .counterPartyId(notification.getSentTo()) .querySpec(QuerySpec.Builder.newInstance() // https://github.com/eclipse-tractusx/traceability-foss/issues/978 // Probably: @@ -157,7 +158,7 @@ private CatalogItem getCatalogItem(final NotificationMessage notification, final .filter(catalogItem -> { log.info("-- catalog item check --"); log.info("Item {}: {}", catalogItem.getItemId(), catalogItem); - boolean isValid = policyCheckerService.isValid(catalogItem.getPolicy(), notification.getSendTo() + boolean isValid = policyCheckerService.isValid(catalogItem.getPolicy(), notification.getSentTo() ); log.info("IsValid : {}", isValid); return isValid; @@ -172,22 +173,30 @@ private CatalogItem getCatalogItem(final NotificationMessage notification, final // TODO this method should be completly handled by EDCNotificationFactory.createEdcNotification which is part of this method currently private EdcNotificationRequest toEdcNotificationRequest( - final NotificationMessage notification, + final NotificationMessage notificationMessage, final String senderEdcUrl, final EndpointDataReference dataReference ) throws JsonProcessingException { - EDCNotification edcNotification = EDCNotificationFactory.createEdcNotification(senderEdcUrl, notification); - objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); - String body = objectMapper.writeValueAsString(edcNotification); - - HttpHeaders headers = new HttpHeaders(); - headers.set(Objects.requireNonNull(dataReference.getAuthKey()), dataReference.getAuthCode()); - headers.set("Content-Type", "application/json"); - log.info(":::: Send notification Data body :{}, dataReferenceEndpoint :{}", body, dataReference.getEndpoint()); - return EdcNotificationRequest.builder() - .url(dataReference.getEndpoint()) - .body(body) - .headers(headers).build(); + + Optional optionalNotificationById = notificationRepository.findByEdcNotificationId(notificationMessage.getEdcNotificationId()); + + if (optionalNotificationById.isPresent()) { + EDCNotification edcNotification = EDCNotificationFactory.createEdcNotification(senderEdcUrl, notificationMessage, optionalNotificationById.get()); + objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); + String body = objectMapper.writeValueAsString(edcNotification); + + HttpHeaders headers = new HttpHeaders(); + headers.set(Objects.requireNonNull(dataReference.getAuthKey()), dataReference.getAuthCode()); + headers.set("Content-Type", "application/json"); + log.info(":::: Send notificationMessage Data body :{}, dataReferenceEndpoint :{}", body, dataReference.getEndpoint()); + return EdcNotificationRequest.builder() + .url(dataReference.getEndpoint()) + .body(body) + .headers(headers).build(); + } else { + throw new NotificationNotFoundException("Could not find notification."); + } + } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/notification/repository/NotificationRepository.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/notification/repository/NotificationRepository.java index 4dea485c1a..2ad016bbd6 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/notification/repository/NotificationRepository.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/notification/repository/NotificationRepository.java @@ -26,7 +26,6 @@ import org.eclipse.tractusx.traceability.common.model.SearchCriteria; import org.eclipse.tractusx.traceability.notification.domain.base.model.Notification; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationId; -import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSeverity; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSide; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationType; import org.springframework.data.domain.Pageable; @@ -46,7 +45,7 @@ public interface NotificationRepository { void updateNotification(Notification investigation); - void updateNotificationAndMessage(Notification notification, NotificationSeverity notificationSeverity); + void updateNotificationAndMessage(Notification notification); PageResult getNotifications(Pageable pageable, SearchCriteria searchCriteria); diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/edc/model/EDCNotificationFactory.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/edc/model/EDCNotificationFactory.java index a2a488201d..6b5884f269 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/edc/model/EDCNotificationFactory.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/edc/model/EDCNotificationFactory.java @@ -20,9 +20,9 @@ ********************************************************************************/ package org.eclipse.tractusx.traceability.notification.infrastructure.edc.model; +import org.eclipse.tractusx.traceability.notification.domain.base.model.Notification; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationAffectedPart; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationMessage; -import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSeverity; import java.util.List; @@ -33,28 +33,24 @@ public class EDCNotificationFactory { private EDCNotificationFactory() { } - public static EDCNotification createEdcNotification(String senderEDC, NotificationMessage notification) { - String targetDate = null; - if (notification.getTargetDate() != null) { - targetDate = notification.getTargetDate().toString(); - } + public static EDCNotification createEdcNotification(String senderEDC, NotificationMessage notificationMessage, Notification notification) { EDCNotificationHeader header = new EDCNotificationHeader( - notification.getEdcNotificationId(), - notification.getCreatedBy(), + notificationMessage.getEdcNotificationId(), + notificationMessage.getSentBy(), senderEDC, - notification.getSendTo(), - NotificationType.from(notification.getType()).getValue(), - notification.getSeverity() != null ? notification.getSeverity().getRealName() : NotificationSeverity.MINOR.getRealName(), - notification.getNotificationReferenceId(), - notification.getNotificationStatus().name(), - targetDate, - notification.getMessageId() + notificationMessage.getSentTo(), + NotificationType.from(notificationMessage.getType()).getValue(), + notification.getSeverity().getRealName(), + notificationMessage.getNotificationReferenceId(), + notificationMessage.getNotificationStatus().name(), + notification.getTargetDate(), + notificationMessage.getMessageId() ); EDCNotificationContent content = new EDCNotificationContent( - notification.getDescription(), - extractAssetIds(notification) + notificationMessage.getMessage(), + extractAssetIds(notificationMessage) ); return new EDCNotification(header, content); diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/model/NotificationBaseEntity.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/model/NotificationBaseEntity.java index daa225466f..25ba0f2492 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/model/NotificationBaseEntity.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/model/NotificationBaseEntity.java @@ -28,6 +28,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSeverity; import java.time.Instant; @@ -41,9 +42,6 @@ public class NotificationBaseEntity { private Long id; private String title; private String bpn; - private String closeReason; - private String acceptReason; - private String declineReason; private String description; @Column(name = "created") private Instant createdDate; @@ -52,5 +50,8 @@ public class NotificationBaseEntity { private NotificationSideBaseEntity side; @Enumerated(EnumType.STRING) private NotificationStatusBaseEntity status; + @Enumerated(EnumType.STRING) + private NotificationSeverityBaseEntity severity; + private Instant targetDate; } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/model/NotificationEntity.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/model/NotificationEntity.java index fd304dd815..e2af21c9fb 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/model/NotificationEntity.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/model/NotificationEntity.java @@ -37,13 +37,16 @@ import org.eclipse.tractusx.traceability.notification.domain.base.model.Notification; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationId; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationMessage; +import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSeverity; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSide; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationStatus; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationType; +import java.time.Instant; import java.util.List; import static org.apache.commons.collections4.ListUtils.emptyIfNull; +import static org.eclipse.tractusx.traceability.common.date.DateUtil.convertInstantToString; @NoArgsConstructor @Getter @@ -82,13 +85,12 @@ public static Notification toDomain(NotificationEntity notificationEntity) { .bpn(BPN.of(notificationEntity.getBpn())) .notificationStatus(NotificationStatus.fromStringValue(notificationEntity.getStatus().name())) .notificationSide(NotificationSide.valueOf(notificationEntity.getSide().name())) - .closeReason(notificationEntity.getCloseReason()) - .acceptReason(notificationEntity.getAcceptReason()) - .declineReason(notificationEntity.getDeclineReason()) .createdAt(notificationEntity.getCreatedDate()) .description(notificationEntity.getDescription()) .notificationType(NotificationType.valueOf(notificationEntity.getType().name())) .affectedPartIds(assetIds) + .targetDate(convertInstantToString(notificationEntity.getTargetDate())) + .severity(NotificationSeverity.fromString(notificationEntity.getSeverity() != null ? notificationEntity.getSeverity().getRealName() : null)) .notifications(messages) .build(); } @@ -98,10 +100,12 @@ public static NotificationEntity from(Notification notification, List new NotificationAffectedPart(asset.getId())) .toList()) - .targetDate(notificationMessageEntity.getTargetDate()) - .severity(notificationMessageEntity.getSeverity()) + + .message(notificationMessageEntity.getMessage()) .edcNotificationId(notificationMessageEntity.getEdcNotificationId()) .messageId(notificationMessageEntity.getMessageId()) .created(notificationMessageEntity.getCreated()) @@ -95,14 +95,13 @@ public static NotificationMessageEntity from(NotificationEntity notificationEnti .errorMessage(notificationMessage.getErrorMessage()) .contractAgreementId(notificationMessage.getContractAgreementId()) .created(notificationMessage.getCreated()) - .createdBy(notificationMessage.getCreatedBy()) - .createdByName(notificationMessage.getCreatedByName()) - .sendTo(notificationMessage.getSendTo()) + .createdBy(notificationMessage.getSentBy()) + .createdByName(notificationMessage.getSentByName()) + .sendTo(notificationMessage.getSentTo()) .sendToName(notificationMessage.getSendToName()) .assets(notificationAssets) .notificationReferenceId(notificationMessage.getNotificationReferenceId()) - .targetDate(notificationMessage.getTargetDate()) - .severity(notificationMessage.getSeverity()) + .message(notificationMessage.getMessage()) .edcNotificationId(notificationMessage.getEdcNotificationId()) .status(NotificationStatusBaseEntity.fromStringValue(notificationMessage.getNotificationStatus().name())) .messageId(notificationMessage.getMessageId()) diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/model/NotificationSeverityBaseEntity.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/model/NotificationSeverityBaseEntity.java new file mode 100644 index 0000000000..7c69063783 --- /dev/null +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/model/NotificationSeverityBaseEntity.java @@ -0,0 +1,54 @@ +/******************************************************************************** + * Copyright (c) 2023 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ + +package org.eclipse.tractusx.traceability.notification.infrastructure.notification.model; + +import io.swagger.annotations.ApiModel; +import notification.request.NotificationSeverityRequest; + + +public enum NotificationSeverityBaseEntity { + MINOR("MINOR"), + MAJOR("MAJOR"), + CRITICAL("CRITICAL"), + LIFE_THREATENING("LIFE-THREATENING"); + + private final String realName; + + public String getRealName() { + return realName; + } + + NotificationSeverityBaseEntity(String realName) { + this.realName = realName; + } + + public static NotificationSeverityBaseEntity fromString(String str) { + for (NotificationSeverityBaseEntity s : NotificationSeverityBaseEntity.values()) { + if (s.realName.equalsIgnoreCase(str)) { + return s; + } + } + return null; + } + + public static NotificationSeverityBaseEntity from(NotificationSeverityRequest notificationSeverityRequest) { + return NotificationSeverityBaseEntity.fromString(notificationSeverityRequest.getRealName()); + } +} diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/repository/NotificationRepositoryImpl.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/repository/NotificationRepositoryImpl.java index 1155d32c31..1a4fbad1b2 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/repository/NotificationRepositoryImpl.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/notification/repository/NotificationRepositoryImpl.java @@ -35,13 +35,13 @@ import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationAffectedPart; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationId; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationMessage; -import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSeverity; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSide; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationStatus; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationType; import org.eclipse.tractusx.traceability.notification.domain.notification.repository.NotificationRepository; import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationEntity; import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationMessageEntity; +import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationSeverityBaseEntity; import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationSideBaseEntity; import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationStatusBaseEntity; import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationTypeEntity; @@ -114,15 +114,12 @@ public void updateNotification(Notification notification) { .orElseThrow(() -> new IllegalArgumentException(String.format("Investigation with id %s not found!", notification.getNotificationId().value()))); notificationEntity.setStatus(NotificationStatusBaseEntity.fromStringValue(notification.getNotificationStatus().name())); notificationEntity.setUpdated(clock.instant()); - notificationEntity.setCloseReason(notification.getCloseReason()); - notificationEntity.setAcceptReason(notification.getAcceptReason()); - notificationEntity.setDeclineReason(notification.getDeclineReason()); - handleMessageUpdate(notificationEntity, notification, null); + handleMessageUpdate(notificationEntity, notification); jpaNotificationRepository.save(notificationEntity); } @Override - public void updateNotificationAndMessage(Notification notification, NotificationSeverity notificationSeverity) { + public void updateNotificationAndMessage(Notification notification) { NotificationEntity notificationEntity = jpaNotificationRepository.findById(notification.getNotificationId().value()) .orElseThrow(() -> new IllegalArgumentException(String.format("Investigation with id %s not found!", notification.getNotificationId().value()))); notificationEntity.setTitle(notification.getTitle()); @@ -131,10 +128,8 @@ public void updateNotificationAndMessage(Notification notification, Notification notificationEntity.setAssets(getAssetEntitiesByAssetIds(notification.getAffectedPartIds())); notificationEntity.setStatus(NotificationStatusBaseEntity.fromStringValue(notification.getNotificationStatus().name())); notificationEntity.setUpdated(clock.instant()); - notificationEntity.setCloseReason(notification.getCloseReason()); - notificationEntity.setAcceptReason(notification.getAcceptReason()); - notificationEntity.setDeclineReason(notification.getDeclineReason()); - handleMessageUpdate(notificationEntity, notification, notificationSeverity); + notificationEntity.setSeverity(NotificationSeverityBaseEntity.fromString(notification.getSeverity().getRealName())); + handleMessageUpdate(notificationEntity, notification); jpaNotificationRepository.save(notificationEntity); } @@ -232,11 +227,8 @@ private List filterNotificationAssets(NotificationMessage no return assets.stream().filter(it -> notificationAffectedAssetIds.contains(it.getId())).toList(); } - private void handleMessageUpdate(NotificationEntity notificationEntity, Notification notification, NotificationSeverity notificationSeverity) { + private void handleMessageUpdate(NotificationEntity notificationEntity, Notification notification) { for (NotificationMessage notificationMessage : notification.getNotifications()) { - if (notificationSeverity != null){ - notificationMessage.setSeverity(notificationSeverity); - } List assetEntitiesByNotification = getAssetEntitiesByNotification(notification); handleMessageCreate(notificationEntity, notificationMessage, assetEntitiesByNotification); } diff --git a/tx-backend/src/main/resources/db/migration/V23__change_notification_model.sql b/tx-backend/src/main/resources/db/migration/V23__change_notification_model.sql new file mode 100644 index 0000000000..34b2a72d97 --- /dev/null +++ b/tx-backend/src/main/resources/db/migration/V23__change_notification_model.sql @@ -0,0 +1,11 @@ +ALTER TABLE notification + DROP COLUMN IF EXISTS accept_reason, + DROP COLUMN IF EXISTS decline_reason, + DROP COLUMN IF EXISTS close_reason, + ADD COLUMN target_date timestamp NULL, + ADD COLUMN severity varchar(255) NULL; + +ALTER TABLE notification_message + DROP COLUMN IF EXISTS target_date, + DROP COLUMN IF EXISTS severity, + ADD COLUMN message varchar(1000) NULL; diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/common/mapper/NotificationMapperTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/common/mapper/NotificationMapperTest.java index ba43986cde..eb3be45d5b 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/common/mapper/NotificationMapperTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/common/mapper/NotificationMapperTest.java @@ -60,22 +60,21 @@ void testToReceiverNotification() { NotificationMessage expectedNotification = NotificationTestDataFactory.createNotificationTestData(); - when(bpnRepository.findManufacturerName(eq(expectedNotification.getCreatedBy()))).thenReturn(expectedNotification.getCreatedByName()); - when(bpnRepository.findManufacturerName(eq(expectedNotification.getSendTo()))).thenReturn(expectedNotification.getSendToName()); + when(bpnRepository.findManufacturerName(eq(expectedNotification.getSentBy()))).thenReturn(expectedNotification.getSentByName()); + when(bpnRepository.findManufacturerName(eq(expectedNotification.getSentTo()))).thenReturn(expectedNotification.getSendToName()); - NotificationMessage actualNotification = notificationMapper.toNotification(edcNotification, NotificationType.INVESTIGATION); + NotificationMessage actualNotification = notificationMapper.toNotificationMessage(edcNotification, NotificationType.INVESTIGATION); assertNotNull(actualNotification.getId()); assertEquals(expectedNotification.getNotificationReferenceId(), actualNotification.getNotificationReferenceId()); - assertEquals(expectedNotification.getCreatedBy(), actualNotification.getCreatedBy()); - assertEquals(expectedNotification.getCreatedByName(), actualNotification.getCreatedByName()); - assertEquals(expectedNotification.getSendTo(), actualNotification.getSendTo()); + assertEquals(expectedNotification.getSentBy(), actualNotification.getSentBy()); + assertEquals(expectedNotification.getSentByName(), actualNotification.getSentByName()); + assertEquals(expectedNotification.getSentTo(), actualNotification.getSentTo()); assertEquals(expectedNotification.getSendToName(), actualNotification.getSendToName()); assertNull(actualNotification.getContractAgreementId()); - assertEquals("information", actualNotification.getDescription()); + assertEquals("information", actualNotification.getMessage()); assertEquals(expectedNotification.getNotificationStatus(), actualNotification.getNotificationStatus()); assertEquals(expectedNotification.getAffectedParts(), actualNotification.getAffectedParts()); - assertEquals(expectedNotification.getSeverity(), actualNotification.getSeverity()); assertEquals(expectedNotification.getType(), actualNotification.getType()); } } diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/common/mapper/NotificationMessageMapperTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/common/mapper/NotificationMessageMapperTest.java index 9e7203b965..3781e5a3fb 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/common/mapper/NotificationMessageMapperTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/common/mapper/NotificationMessageMapperTest.java @@ -54,11 +54,10 @@ void testToReceiverInvestigation() { .notificationReferenceId("Test notification") .notificationStatus(NotificationStatus.RECEIVED) .affectedParts(List.of(new NotificationAffectedPart("123"))) - .createdByName("senderManufacturerName") - .createdBy(sender) - .sendTo(receiver) + .sentByName("senderManufacturerName") + .sentBy(sender) + .sentTo(receiver) .sendToName("receiverManufacturerName") - .severity(NotificationSeverity.MINOR) .messageId("1") .build(); NotificationType type = NotificationType.INVESTIGATION; diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/infrastructure/edc/blackbox/NotificationsEDCFacadeTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/infrastructure/edc/blackbox/NotificationsEDCFacadeTest.java index ce1a91d3e8..d078010bda 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/infrastructure/edc/blackbox/NotificationsEDCFacadeTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/infrastructure/edc/blackbox/NotificationsEDCFacadeTest.java @@ -30,10 +30,13 @@ import org.eclipse.tractusx.traceability.notification.domain.base.exception.ContractNegotiationException; import org.eclipse.tractusx.traceability.notification.domain.base.exception.NoCatalogItemException; import org.eclipse.tractusx.traceability.notification.domain.base.exception.SendNotificationException; +import org.eclipse.tractusx.traceability.notification.domain.base.model.Notification; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationMessage; +import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSeverity; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationStatus; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationType; import org.eclipse.tractusx.traceability.notification.domain.base.service.NotificationsEDCFacade; +import org.eclipse.tractusx.traceability.notification.domain.notification.repository.NotificationRepository; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; @@ -63,9 +66,14 @@ class NotificationsEDCFacadeTest { PolicyCheckerService policyCheckerService; @Mock EndpointDataReference endpointDataReference; + @Mock + NotificationRepository notificationRepository; + @Mock + Notification notification; @InjectMocks NotificationsEDCFacade notificationsEDCFacade; + @Test void givenCorrectInvestigationMessageButSendRequestThrowsException_whenStartEdcTransfer_thenThrowSendNotificationException() throws Exception { // given @@ -80,6 +88,9 @@ void givenCorrectInvestigationMessageButSendRequestThrowsException_whenStartEdcT final CatalogItem catalogItem = CatalogItem.builder() .build(); final String idsPath = "/api/v1/dsp"; + when(notification.getTargetDate()).thenReturn(null); + when(notification.getSeverity()).thenReturn(NotificationSeverity.MAJOR); + when(notificationRepository.findByEdcNotificationId(any())).thenReturn(Optional.of(notification)); when(edcProperties.getIdsPath()).thenReturn(idsPath); when(edcCatalogFacade.fetchCatalogItems(any())).thenReturn(List.of(catalogItem)); when(policyCheckerService.isValid(null, null)).thenReturn(true); diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/common/support/AlertNotificationsSupport.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/common/support/AlertNotificationsSupport.java index d563450cce..17da2f0954 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/common/support/AlertNotificationsSupport.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/common/support/AlertNotificationsSupport.java @@ -20,6 +20,7 @@ package org.eclipse.tractusx.traceability.integration.common.support; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSeverity; +import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationSeverityBaseEntity; import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationSideBaseEntity; import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationStatusBaseEntity; import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationTypeEntity; @@ -77,7 +78,9 @@ private void storeCreatedAlerts() { .status(NotificationStatusBaseEntity.CREATED) .side(NotificationSideBaseEntity.SENDER) .type(NotificationTypeEntity.ALERT) + .severity(NotificationSeverityBaseEntity.CRITICAL) .description("1") + .targetDate(monthFromNow) .createdDate(now.minus(3L, DAYS)) .build(); NotificationEntity alert2 = NotificationEntity.builder() @@ -85,6 +88,8 @@ private void storeCreatedAlerts() { .bpn(OWN_BPN) .status(NotificationStatusBaseEntity.SENT) .description("2") + .targetDate(monthFromNow) + .severity(NotificationSeverityBaseEntity.CRITICAL) .side(NotificationSideBaseEntity.SENDER) .type(NotificationTypeEntity.ALERT) .createdDate(now.minus(2L, DAYS)) @@ -114,7 +119,6 @@ private void storeCreatedAlerts() { .assets(Collections.emptyList()) .bpn(OWN_BPN) .status(NotificationStatusBaseEntity.ACCEPTED) - .acceptReason("Almighty demon king accepted this one") .description("5") .side(NotificationSideBaseEntity.SENDER) .type(NotificationTypeEntity.ALERT) @@ -125,7 +129,6 @@ private void storeCreatedAlerts() { .assets(Collections.emptyList()) .bpn(OWN_BPN) .status(NotificationStatusBaseEntity.DECLINED) - .declineReason("Almighty demon king has declined this one") .description("6") .side(NotificationSideBaseEntity.SENDER) .type(NotificationTypeEntity.ALERT) @@ -147,7 +150,6 @@ private void storeCreatedAlerts() { .bpn(OWN_BPN) .status(NotificationStatusBaseEntity.CLOSED) .description("8") - .closeReason("Almighty demon king has closed that one") .side(NotificationSideBaseEntity.SENDER) .type(NotificationTypeEntity.ALERT) .createdDate(now.plus(3L, DAYS)) @@ -162,8 +164,6 @@ private void storeCreatedAlerts() { .status(NotificationStatusBaseEntity.CREATED) .sendTo(OTHER_BPN) .createdBy(OWN_BPN) - .severity(NotificationSeverity.MINOR) - .targetDate(monthFromNow.minus(3L, DAYS)) .createdByName(OWN_BPN_COMPANY_NAME) .edcNotificationId("cda2d956-fa91-4a75-bb4a-8e5ba39b268a1") .build(), @@ -173,9 +173,7 @@ private void storeCreatedAlerts() { .createdBy(OWN_BPN) .createdByName(OWN_BPN_COMPANY_NAME) .status(NotificationStatusBaseEntity.SENT) - .severity(NotificationSeverity.MAJOR) .id("2") - .targetDate(monthFromNow.minus(2L, DAYS)) .notification(alert2) .edcNotificationId("cda2d956-fa91-4a75-bb4a-8e5ba39b268a2") .build(), @@ -185,8 +183,6 @@ private void storeCreatedAlerts() { .id("3") .sendTo(OWN_BPN) .createdBy(OTHER_BPN) - .severity(NotificationSeverity.CRITICAL) - .targetDate(monthFromNow.minus(1L, DAYS)) .createdByName(OTHER_BPN_COMPANY_NAME) .notification(alert3) .edcNotificationId("cda2d956-fa91-4a75-bb4a-8e5ba39b268a3") @@ -195,8 +191,6 @@ private void storeCreatedAlerts() { .builder() .status(NotificationStatusBaseEntity.ACKNOWLEDGED) .id("4") - .targetDate(monthFromNow) - .severity(NotificationSeverity.LIFE_THREATENING) .createdBy(OTHER_BPN) .createdByName(OTHER_BPN_COMPANY_NAME) .notification(alert4) @@ -206,8 +200,6 @@ private void storeCreatedAlerts() { .builder() .status(NotificationStatusBaseEntity.ACCEPTED) .id("5") - .targetDate(monthFromNow) - .severity(NotificationSeverity.MINOR) .createdBy(OTHER_BPN) .createdByName(OTHER_BPN_COMPANY_NAME) .notification(alert5) @@ -217,8 +209,6 @@ private void storeCreatedAlerts() { .builder() .status(NotificationStatusBaseEntity.DECLINED) .id("6") - .severity(NotificationSeverity.MAJOR) - .targetDate(monthFromNow.plus(1L, DAYS)) .createdBy(OTHER_BPN) .createdByName(OTHER_BPN_COMPANY_NAME) .notification(alert6) @@ -228,8 +218,6 @@ private void storeCreatedAlerts() { .builder() .status(NotificationStatusBaseEntity.CANCELED) .id("7") - .targetDate(monthFromNow.plus(2L, DAYS)) - .severity(NotificationSeverity.CRITICAL) .createdBy(OWN_BPN) .createdByName(OWN_BPN_COMPANY_NAME) .notification(alert7) @@ -239,8 +227,6 @@ private void storeCreatedAlerts() { .builder() .status(NotificationStatusBaseEntity.CLOSED) .id("8") - .severity(NotificationSeverity.LIFE_THREATENING) - .targetDate(monthFromNow.plus(3L, DAYS)) .createdBy(OWN_BPN) .createdByName(OWN_BPN_COMPANY_NAME) .notification(alert8) diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/common/support/InvestigationNotificationsSupport.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/common/support/InvestigationNotificationsSupport.java index 9d249205f1..8151e16de9 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/common/support/InvestigationNotificationsSupport.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/common/support/InvestigationNotificationsSupport.java @@ -21,16 +21,20 @@ import org.eclipse.tractusx.traceability.assets.infrastructure.asbuilt.repository.JpaAssetAsBuiltRepository; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSeverity; +import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationEntity; +import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationMessageEntity; +import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationSeverityBaseEntity; import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationSideBaseEntity; import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationStatusBaseEntity; import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationTypeEntity; -import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationEntity; -import org.eclipse.tractusx.traceability.notification.infrastructure.notification.model.NotificationMessageEntity; import org.eclipse.tractusx.traceability.notification.infrastructure.notification.repository.JpaNotificationMessageRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.time.Instant; +import java.time.LocalDate; +import java.time.ZoneId; +import java.time.ZonedDateTime; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -76,7 +80,9 @@ public void assertNotificationsSize(int size) { private void storeCreatedInvestigations() { Instant now = Instant.parse("2023-10-10T10:10:10.00Z"); Instant monthFromNow = Instant.parse("2023-11-10T10:10:10.00Z"); - + LocalDate specificDate = LocalDate.of(2023, 11, 11); + ZonedDateTime zonedDateTime = specificDate.atStartOfDay(ZoneId.systemDefault()); + Instant instant = zonedDateTime.toInstant(); NotificationEntity investigation1 = NotificationEntity.builder() .assets(Collections.emptyList()) .bpn(OWN_BPN) @@ -85,6 +91,8 @@ private void storeCreatedInvestigations() { .type(NotificationTypeEntity.INVESTIGATION) .description("1") .createdDate(now.minus(3L, DAYS)) + .targetDate(instant) + .severity(NotificationSeverityBaseEntity.CRITICAL) .build(); NotificationEntity investigation2 = NotificationEntity.builder() .assets(Collections.emptyList()) @@ -94,6 +102,8 @@ private void storeCreatedInvestigations() { .side(NotificationSideBaseEntity.SENDER) .type(NotificationTypeEntity.INVESTIGATION) .createdDate(now.minus(2L, DAYS)) + .targetDate(instant) + .severity(NotificationSeverityBaseEntity.CRITICAL) .updated(now.minus(2L, DAYS)) .build(); NotificationEntity investigation3 = NotificationEntity.builder() @@ -120,7 +130,6 @@ private void storeCreatedInvestigations() { .assets(Collections.emptyList()) .bpn(OWN_BPN) .status(NotificationStatusBaseEntity.ACCEPTED) - .acceptReason("Almighty demon king accepted this one") .description("5") .side(NotificationSideBaseEntity.SENDER) .type(NotificationTypeEntity.INVESTIGATION) @@ -131,7 +140,6 @@ private void storeCreatedInvestigations() { .assets(Collections.emptyList()) .bpn(OWN_BPN) .status(NotificationStatusBaseEntity.DECLINED) - .declineReason("Almighty demon king has declined this one") .description("6") .side(NotificationSideBaseEntity.SENDER) .type(NotificationTypeEntity.INVESTIGATION) @@ -153,7 +161,6 @@ private void storeCreatedInvestigations() { .bpn(OWN_BPN) .status(NotificationStatusBaseEntity.CLOSED) .description("8") - .closeReason("Almighty demon king has closed that one") .side(NotificationSideBaseEntity.SENDER) .type(NotificationTypeEntity.INVESTIGATION) .createdDate(now.plus(3L, DAYS)) @@ -166,10 +173,8 @@ private void storeCreatedInvestigations() { .id("1") .notification(investigation1) .status(NotificationStatusBaseEntity.CREATED) - .severity(NotificationSeverity.MINOR) .sendTo(OTHER_BPN) .createdBy(OWN_BPN) - .targetDate(monthFromNow.minus(3L, DAYS)) .createdByName(OWN_BPN_COMPANY_NAME) .edcNotificationId("cda2d956-fa91-4a75-bb4a-8e5ba39b268a1") .build(), @@ -179,9 +184,7 @@ private void storeCreatedInvestigations() { .createdBy(OWN_BPN) .createdByName(OWN_BPN_COMPANY_NAME) .status(NotificationStatusBaseEntity.SENT) - .severity(NotificationSeverity.MAJOR) .id("2") - .targetDate(monthFromNow.minus(2L, DAYS)) .notification(investigation2) .edcNotificationId("cda2d956-fa91-4a75-bb4a-8e5ba39b268a2") .build(), @@ -189,8 +192,6 @@ private void storeCreatedInvestigations() { .builder() .status(NotificationStatusBaseEntity.RECEIVED) .id("3") - .severity(NotificationSeverity.CRITICAL) - .targetDate(monthFromNow.minus(1L, DAYS)) .sendTo(OTHER_BPN) .createdBy(OTHER_BPN) .createdByName(OTHER_BPN_COMPANY_NAME) @@ -201,8 +202,6 @@ private void storeCreatedInvestigations() { .builder() .status(NotificationStatusBaseEntity.ACKNOWLEDGED) .id("4") - .targetDate(monthFromNow) - .severity(NotificationSeverity.LIFE_THREATENING) .sendTo(OTHER_BPN) .createdBy(OTHER_BPN) .createdByName(OTHER_BPN_COMPANY_NAME) @@ -212,9 +211,7 @@ private void storeCreatedInvestigations() { NotificationMessageEntity .builder() .status(NotificationStatusBaseEntity.ACCEPTED) - .severity(NotificationSeverity.MINOR) .id("5") - .targetDate(monthFromNow) .sendTo(OTHER_BPN) .createdBy(OTHER_BPN) .createdByName(OTHER_BPN_COMPANY_NAME) @@ -224,8 +221,6 @@ private void storeCreatedInvestigations() { NotificationMessageEntity .builder() .status(NotificationStatusBaseEntity.DECLINED) - .severity(NotificationSeverity.MAJOR) - .targetDate(monthFromNow.plus(1L, DAYS)) .id("6") .sendTo(OTHER_BPN) .createdBy(OTHER_BPN) @@ -239,8 +234,6 @@ private void storeCreatedInvestigations() { .id("7") .sendTo(OTHER_BPN) .createdBy(OWN_BPN) - .targetDate(monthFromNow.plus(2L, DAYS)) - .severity(NotificationSeverity.CRITICAL) .createdByName(OWN_BPN_COMPANY_NAME) .notification(investigation7) .edcNotificationId("cda2d956-fa91-4a75-bb4a-8e5ba39b268a7") @@ -248,8 +241,6 @@ private void storeCreatedInvestigations() { NotificationMessageEntity .builder() .status(NotificationStatusBaseEntity.CLOSED) - .severity(NotificationSeverity.LIFE_THREATENING) - .targetDate(monthFromNow.plus(3L, DAYS)) .id("8") .sendTo(OTHER_BPN) .createdBy(OWN_BPN) @@ -263,7 +254,9 @@ private void storeCreatedInvestigations() { private void storeReceivedInvestigations() { Instant now = Instant.parse("2023-10-10T10:10:10.00Z"); String otherBPN = "BPNL00000002OTHER"; - + LocalDate specificDate = LocalDate.of(2023, 11, 10); + ZonedDateTime zonedDateTime = specificDate.atStartOfDay(ZoneId.systemDefault()); + Instant instant = zonedDateTime.toInstant(); NotificationEntity investigation1 = NotificationEntity.builder() .assets(Collections.emptyList()) .bpn(otherBPN) @@ -271,6 +264,7 @@ private void storeReceivedInvestigations() { .side(NotificationSideBaseEntity.RECEIVER) .type(NotificationTypeEntity.INVESTIGATION) .description("11") + .targetDate(instant) .createdDate(now.minus(2L, DAYS)) .build(); NotificationEntity investigation2 = NotificationEntity.builder() diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/EditNotificationIT.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/EditNotificationIT.java index daf388dee0..792c7b9dbf 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/EditNotificationIT.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/EditNotificationIT.java @@ -196,8 +196,6 @@ void shouldUpdateInvestigationFields() throws JsonProcessingException, JoseExcep assertThat(notificationResponse.getAssetIds()).hasSize(editNotificationRequest.getAffectedPartIds().size()); assertThat(notificationResponse.getSeverity().getRealName()).isEqualTo(editNotificationRequest.getSeverity().getRealName()); assertThat(notificationResponsePageResult.content()).hasSize(1); - assertThat(notificationResponse.getMessages().get(0).getSeverity().getRealName()).isEqualTo(editNotificationRequest.getSeverity().getRealName()); - assertThat(notificationResponse.getMessages().get(0).getTargetDate()).isEqualTo(editNotificationRequest.getTargetDate()); } diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/alert/PublisherAlertsControllerIT.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/alert/PublisherAlertsControllerIT.java index e8cfd52da9..ebf147b73d 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/alert/PublisherAlertsControllerIT.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/alert/PublisherAlertsControllerIT.java @@ -46,6 +46,7 @@ import org.eclipse.tractusx.traceability.integration.common.support.IrsApiSupport; import org.eclipse.tractusx.traceability.integration.common.support.NotificationApiSupport; import org.eclipse.tractusx.traceability.integration.common.support.OAuth2ApiSupport; +import org.eclipse.tractusx.traceability.notification.domain.base.model.Notification; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationAffectedPart; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationMessage; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSeverity; @@ -110,26 +111,26 @@ void shouldReceiveAlert() { // given assetsSupport.defaultAssetsStored(); NotificationType notificationType = NotificationType.ALERT; - NotificationMessage notificationBuild = NotificationMessage.builder() + NotificationMessage message = NotificationMessage.builder() .id("some-id") .notificationStatus(NotificationStatus.SENT) .affectedParts(List.of(new NotificationAffectedPart("urn:uuid:d387fa8e-603c-42bd-98c3-4d87fef8d2bb"))) - .createdByName("bpn-a") - .createdBy("Sender Manufacturer name") - .sendTo("BPNL00000003AXS3") + .sentByName("bpn-a") + .sentBy("Sender Manufacturer name") + .sentTo("BPNL00000003AXS3") .sendToName("Receiver manufacturer name") - .severity(NotificationSeverity.MINOR) - .targetDate(Instant.parse("2018-11-30T18:35:24.00Z")) .type(notificationType) - .severity(NotificationSeverity.MINOR) .messageId("messageId") .build(); - EDCNotification notification = EDCNotificationFactory.createEdcNotification( - "it", notificationBuild); + Notification notification = Notification.builder().build(); + notification.setSeverity(NotificationSeverity.CRITICAL); + notification.setTargetDate(Instant.MAX.toString()); + EDCNotification edcNotification = EDCNotificationFactory.createEdcNotification( + "it", message, notification); // when - notificationReceiverService.handleReceive(notification, notificationType); + notificationReceiverService.handleReceive(edcNotification, notificationType); // then alertsSupport.assertAlertsSize(1); diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/investigation/InvestigationControllerFilterIT.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/investigation/InvestigationControllerFilterIT.java index 413fdbab24..df91966d5f 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/investigation/InvestigationControllerFilterIT.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/investigation/InvestigationControllerFilterIT.java @@ -20,8 +20,10 @@ package org.eclipse.tractusx.traceability.integration.notification.investigation; import io.restassured.http.ContentType; +import notification.response.NotificationResponse; import org.eclipse.tractusx.traceability.assets.infrastructure.asbuilt.model.AssetAsBuiltEntity; import org.eclipse.tractusx.traceability.assets.infrastructure.asbuilt.repository.JpaAssetAsBuiltRepository; +import org.eclipse.tractusx.traceability.common.model.PageResult; import org.eclipse.tractusx.traceability.common.request.OwnPageable; import org.eclipse.tractusx.traceability.common.request.PageableFilterRequest; import org.eclipse.tractusx.traceability.common.request.SearchCriteriaRequestParam; @@ -30,6 +32,7 @@ import org.eclipse.tractusx.traceability.integration.common.support.AssetsSupport; import org.eclipse.tractusx.traceability.integration.common.support.InvestigationNotificationsSupport; import org.eclipse.tractusx.traceability.integration.common.support.InvestigationsSupport; +import org.eclipse.tractusx.traceability.integration.common.support.NotificationApiSupport; import org.hamcrest.Matchers; import org.jose4j.lang.JoseException; import org.junit.jupiter.api.Test; @@ -61,6 +64,9 @@ class InvestigationControllerFilterIT extends IntegrationTestSpecification { @Autowired AssetsSupport assetsSupport; + @Autowired + NotificationApiSupport notificationApiSupport; + @Autowired JpaAssetAsBuiltRepository jpaAssetAsBuiltRepository; @@ -174,27 +180,6 @@ void givenInvestigations_whenInvalidLocalDate_thenReturnBadRequest() throws Jose .statusCode(400); } - @Test - void givenInvestigations_whenTargetDateAtLocalDate_thenExpectedResult() throws JoseException { - // given - investigationNotificationSupport.defaultInvestigationsStored(); - String filter = "targetDate,AT_LOCAL_DATE,2023-11-10,AND"; - - // when/then - given() - .header(oAuth2Support.jwtAuthorization(ADMIN)) - .body(new PageableFilterRequest(new OwnPageable(0, 10, Collections.emptyList()), new SearchCriteriaRequestParam(List.of(filter)))) - .contentType(ContentType.JSON) - .when() - .post("/api/notifications/filter") - .then() - .statusCode(200) - .body("page", Matchers.is(0)) - .body("pageSize", Matchers.is(10)) - .body("totalItems", Matchers.is(2)) - .body("content", Matchers.hasSize(2)); - } - @Test void givenInvestigations_whenSendToFilter_thenExpectedResult() throws JoseException { // given diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/investigation/PublisherInvestigationsControllerIT.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/investigation/PublisherInvestigationsControllerIT.java index 7dbad99cbb..0e6610adfc 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/investigation/PublisherInvestigationsControllerIT.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/notification/investigation/PublisherInvestigationsControllerIT.java @@ -46,6 +46,7 @@ import org.eclipse.tractusx.traceability.integration.common.support.NotificationMessageSupport; import org.eclipse.tractusx.traceability.integration.common.support.NotificationSupport; import org.eclipse.tractusx.traceability.integration.common.support.OAuth2ApiSupport; +import org.eclipse.tractusx.traceability.notification.domain.base.model.Notification; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationAffectedPart; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationMessage; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSeverity; @@ -110,25 +111,23 @@ void shouldReceiveNotification() { assetsSupport.defaultAssetsStored(); NotificationType notificationType = NotificationType.INVESTIGATION; + Notification notification = Notification.builder().targetDate(Instant.MAX.toString()).severity(NotificationSeverity.CRITICAL).build(); NotificationMessage notificationBuild = NotificationMessage.builder() .id("some-id") .notificationStatus(NotificationStatus.SENT) .affectedParts(List.of(new NotificationAffectedPart("urn:uuid:d387fa8e-603c-42bd-98c3-4d87fef8d2bb"))) - .createdByName("bpn-a") - .createdBy("Sender Manufacturer name") - .sendTo("BPNL00000003AXS3") + .sentByName("bpn-a") + .sentBy("Sender Manufacturer name") + .sentTo("BPNL00000003AXS3") .sendToName("Receiver manufacturer name") - .severity(NotificationSeverity.MINOR) - .targetDate(Instant.parse("2018-11-30T18:35:24.00Z")) .type(notificationType) - .severity(NotificationSeverity.MINOR) .messageId("messageId") .build(); - EDCNotification notification = EDCNotificationFactory.createEdcNotification( - "it", notificationBuild); + EDCNotification edcNotification = EDCNotificationFactory.createEdcNotification( + "it", notificationBuild, notification); // when - notificationReceiverService.handleReceive(notification, notificationType); + notificationReceiverService.handleReceive(edcNotification, notificationType); // then notificationSupport.assertInvestigationsSize(1); diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/application/alert/response/AlertResponseTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/application/alert/response/AlertResponseTest.java index e135ae3f9d..c48cd400ac 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/application/alert/response/AlertResponseTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/application/alert/response/AlertResponseTest.java @@ -26,7 +26,6 @@ import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationStatus; import org.eclipse.tractusx.traceability.testdata.InvestigationTestDataFactory; import org.junit.jupiter.api.Test; -import notification.response.NotificationReasonResponse; import notification.response.NotificationResponse; import notification.response.NotificationSeverityResponse; import notification.response.NotificationSideResponse; @@ -53,20 +52,15 @@ void givenNotification_whenFrom_thenConstructProperAlertResponse() { .hasFieldOrPropertyWithValue("description", notification.getDescription()) .hasFieldOrPropertyWithValue("createdBy", notification.getNotifications().stream() .findFirst() - .map(NotificationMessage::getCreatedBy) + .map(NotificationMessage::getSentBy) .orElse(null)) .hasFieldOrPropertyWithValue("createdByName", notification.getNotifications().stream() .findFirst() - .map(NotificationMessage::getCreatedByName) + .map(NotificationMessage::getSentByName) .orElse(null)) .hasFieldOrPropertyWithValue("createdDate", notification.getCreatedAt().toString()) .hasFieldOrPropertyWithValue("assetIds", notification.getAffectedPartIds()) .hasFieldOrPropertyWithValue("channel", NotificationSideResponse.SENDER) - .hasFieldOrPropertyWithValue("reason", new NotificationReasonResponse( - notification.getCloseReason(), - notification.getAcceptReason(), - notification.getDeclineReason() - )) .hasFieldOrPropertyWithValue("sendTo", "recipientBPN") .hasFieldOrPropertyWithValue("sendToName", "receiverManufacturerName") .hasFieldOrPropertyWithValue("severity", NotificationSeverityResponse.MINOR) @@ -95,6 +89,7 @@ void givenNotificationPaged_whenFromAsPageResult_thenConstructProperAlertRespons assertThat(result.content()).hasSize(1) .first() .usingRecursiveComparison() + .ignoringFields("updatedDate") .isEqualTo(NotificationResponseMapper.from(notification)); } diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/application/alert/rest/NotificationControllerTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/application/alert/rest/NotificationControllerTest.java index e9bb49929a..2a78fb5eab 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/application/alert/rest/NotificationControllerTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/application/alert/rest/NotificationControllerTest.java @@ -39,7 +39,7 @@ import notification.request.UpdateNotificationStatusTransitionRequest; import notification.request.UpdateNotificationStatusRequest; import notification.response.NotificationIdResponse; -import notification.response.NotificationReasonResponse; + import notification.response.NotificationResponse; import notification.response.NotificationSeverityResponse; import notification.response.NotificationSideResponse; @@ -107,20 +107,15 @@ void givenRequest_whenGetAlert_thenProperResponse() { .hasFieldOrPropertyWithValue("description", notification.getDescription()) .hasFieldOrPropertyWithValue("createdBy", notification.getNotifications().stream() .findFirst() - .map(NotificationMessage::getCreatedBy) + .map(NotificationMessage::getSentBy) .orElse(null)) .hasFieldOrPropertyWithValue("createdByName", notification.getNotifications().stream() .findFirst() - .map(NotificationMessage::getCreatedByName) + .map(NotificationMessage::getSentByName) .orElse(null)) .hasFieldOrPropertyWithValue("createdDate", notification.getCreatedAt().toString()) .hasFieldOrPropertyWithValue("assetIds", notification.getAffectedPartIds()) .hasFieldOrPropertyWithValue("channel", NotificationSideResponse.SENDER) - .hasFieldOrPropertyWithValue("reason", new NotificationReasonResponse( - notification.getCloseReason(), - notification.getAcceptReason(), - notification.getDeclineReason() - )) .hasFieldOrPropertyWithValue("sendTo", "recipientBPN") .hasFieldOrPropertyWithValue("sendToName", "receiverManufacturerName") .hasFieldOrPropertyWithValue("severity", NotificationSeverityResponse.MINOR); diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/model/NotificationTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/model/NotificationTest.java index a384c42503..d40123f30c 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/model/NotificationTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/model/NotificationTest.java @@ -41,8 +41,8 @@ void testCopyAndSwitchSenderAndReceiverIsAppBpn() { NotificationMessage switchedNotification = notificationTestData.copyAndSwitchSenderAndReceiver(applicationBPN); // Then - assertThat(switchedNotification.getSendTo()).isEqualTo(senderBPN); - assertThat(switchedNotification.getCreatedBy()).isEqualTo(receiverBPN); + assertThat(switchedNotification.getSentTo()).isEqualTo(senderBPN); + assertThat(switchedNotification.getSentBy()).isEqualTo(receiverBPN); } @Test @@ -58,7 +58,7 @@ void testCopyAndSwitchSenderAndReceiverIsNotAppBpn() { NotificationMessage switchedNotification = notificationTestData.copyAndSwitchSenderAndReceiver(applicationBPN); // Then - assertThat(switchedNotification.getSendTo()).isEqualTo(receiverBPN); - assertThat(switchedNotification.getCreatedBy()).isEqualTo(senderBPN); + assertThat(switchedNotification.getSentTo()).isEqualTo(receiverBPN); + assertThat(switchedNotification.getSentBy()).isEqualTo(senderBPN); } } diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/model/investigation/InvestigationTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/model/investigation/InvestigationTest.java index 339ea3e398..907f131cc0 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/model/investigation/InvestigationTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/model/investigation/InvestigationTest.java @@ -24,6 +24,7 @@ import org.eclipse.tractusx.traceability.common.model.BPN; import org.eclipse.tractusx.traceability.notification.domain.base.model.Notification; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationId; +import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationMessage; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationSide; import org.eclipse.tractusx.traceability.notification.domain.base.model.NotificationStatus; import org.eclipse.tractusx.traceability.notification.domain.notification.exception.InvestigationIllegalUpdate; @@ -34,6 +35,7 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; +import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import java.time.Instant; @@ -54,6 +56,8 @@ class InvestigationTest { Notification investigation; + @Mock + NotificationMessage notificationMessage; @Test @DisplayName("Forbid Cancel Investigation with disallowed status") @@ -82,7 +86,7 @@ void forbidCloseInvestigationWithDisallowedStatus() { BPN bpn = new BPN("BPNL000000000001"); BPN bpnOther = new BPN("BPNL12321321321"); investigation = senderInvestigationWithStatus(bpnOther, status); - assertThrows(InvestigationIllegalUpdate.class, () -> investigation.close(bpn, "some-reason")); + assertThrows(InvestigationIllegalUpdate.class, () -> investigation.close(bpn, "some-reason", notificationMessage)); assertEquals(status, investigation.getNotificationStatus()); } @@ -115,7 +119,7 @@ void forbidCloseInvestigationForDifferentBpn() { BPN bpn = new BPN("BPNL000000000001"); investigation = senderInvestigationWithStatus(bpn, status); BPN bpn2 = new BPN("BPNL000000000002"); - assertThrows(InvestigationIllegalUpdate.class, () -> investigation.close(bpn2, "some reason")); + assertThrows(InvestigationIllegalUpdate.class, () -> investigation.close(bpn2, "some reason", notificationMessage)); assertEquals(status, investigation.getNotificationStatus()); } @@ -142,7 +146,7 @@ void cancelInvestigationSuccessfully() { void closeInvestigationWithAllowedStatusSuccessfully() { BPN bpn = new BPN("BPNL000000000001"); investigation = senderInvestigationWithStatus(bpn, SENT); - investigation.close(bpn, "some-reason"); + investigation.close(bpn, "some-reason", notificationMessage); assertEquals(CLOSED, investigation.getNotificationStatus()); } @@ -248,7 +252,7 @@ void forbidAcknowledgeInvestigationWithStatusClosed(NotificationStatus status) { @MethodSource("provideInvalidStatusForAcceptInvestigation") void forbidAcceptInvestigationWithDisallowedStatus(NotificationStatus status) { investigation = receiverInvestigationWithStatus(status); - assertThrows(InvestigationStatusTransitionNotAllowed.class, () -> investigation.accept("some reason")); + assertThrows(InvestigationStatusTransitionNotAllowed.class, () -> investigation.accept("some reason", notificationMessage)); assertEquals(status, investigation.getNotificationStatus()); } @@ -258,7 +262,7 @@ void forbidAcceptInvestigationWithDisallowedStatus(NotificationStatus status) { @MethodSource("provideInvalidStatusForDeclineInvestigation") void forbidDeclineInvestigationWithInvalidStatus(NotificationStatus status) { investigation = receiverInvestigationWithStatus(status); - assertThrows(InvestigationStatusTransitionNotAllowed.class, () -> investigation.decline("some-reason")); + assertThrows(InvestigationStatusTransitionNotAllowed.class, () -> investigation.decline("some-reason", notificationMessage)); assertEquals(status, investigation.getNotificationStatus()); } @@ -268,7 +272,7 @@ void forbidDeclineInvestigationWithInvalidStatus(NotificationStatus status) { void forbidCloseInvestigationWithInvalidStatus(NotificationStatus status) { investigation = receiverInvestigationWithStatus(status); BPN bpn = new BPN("BPNL000000000001"); - assertThrows(InvestigationStatusTransitionNotAllowed.class, () -> investigation.close(bpn, "some-reason")); + assertThrows(InvestigationStatusTransitionNotAllowed.class, () -> investigation.close(bpn, "some-reason", notificationMessage)); assertEquals(status, investigation.getNotificationStatus()); @@ -312,7 +316,7 @@ void acknowledgeInvestigationSuccessfully() { @DisplayName("Accept Investigation successfully") void acceptInvestigationSuccessfully() { investigation = receiverInvestigationWithStatus(ACKNOWLEDGED); - investigation.accept("some reason"); + investigation.accept("some reason", notificationMessage); assertEquals(ACCEPTED, investigation.getNotificationStatus()); } @@ -320,7 +324,7 @@ void acceptInvestigationSuccessfully() { @DisplayName("Decline Investigation successfully") void declineInvestigationSuccessfully() { investigation = receiverInvestigationWithStatus(ACKNOWLEDGED); - investigation.decline("some reason"); + investigation.decline("some reason", notificationMessage); assertEquals(DECLINED, investigation.getNotificationStatus()); } diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/service/EdcNotificationServiceImplTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/service/EdcNotificationServiceImplTest.java index c6d7bfd9fb..6b8980d764 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/service/EdcNotificationServiceImplTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/service/EdcNotificationServiceImplTest.java @@ -74,10 +74,8 @@ void testNotificationsServiceUpdateAsync() { when(discoveryService.getDiscoveryByBPN(bpn)).thenReturn(discovery); // and NotificationMessage notification = NotificationMessage.builder() - .sendTo(bpn) + .sentTo(bpn) .type(NotificationType.INVESTIGATION) - .targetDate(Instant.now()) - .severity(NotificationSeverity.MINOR) .build(); // when @@ -99,10 +97,8 @@ void testNotificationsServiceAlertNotificationUpdateAsync() { when(discoveryService.getDiscoveryByBPN(bpn)).thenReturn(discovery); // and NotificationMessage notification = NotificationMessage.builder() - .sendTo(bpn) + .sentTo(bpn) .type(NotificationType.ALERT) - .targetDate(Instant.now()) - .severity(NotificationSeverity.MINOR) .build(); // when @@ -122,10 +118,8 @@ void givenNoCatalogItemException_whenHandleSendingInvestigation_thenHandleIt() { Discovery discovery = Discovery.builder().senderUrl(edcSenderUrl).receiverUrls(List.of(edcReceiverUrl)).build(); when(discoveryService.getDiscoveryByBPN(bpn)).thenReturn(discovery); NotificationMessage notification = NotificationMessage.builder() - .sendTo(bpn) + .sentTo(bpn) .type(NotificationType.INVESTIGATION) - .targetDate(Instant.now()) - .severity(NotificationSeverity.MINOR) .build(); doThrow(new NoCatalogItemException()).when(edcFacade).startEdcTransfer(notification, edcReceiverUrl, edcSenderUrl); // when @@ -145,10 +139,8 @@ void givenSendNotificationException_whenHandleSendingInvestigation_thenHandleIt( Discovery discovery = Discovery.builder().senderUrl(edcSenderUrl).receiverUrls(List.of(edcReceiverUrl)).build(); when(discoveryService.getDiscoveryByBPN(bpn)).thenReturn(discovery); NotificationMessage notification = NotificationMessage.builder() - .sendTo(bpn) + .sentTo(bpn) .type(NotificationType.INVESTIGATION) - .targetDate(Instant.now()) - .severity(NotificationSeverity.MINOR) .build(); doThrow(new SendNotificationException("message", new RuntimeException())).when(edcFacade).startEdcTransfer(notification, edcReceiverUrl, edcSenderUrl); // when @@ -168,10 +160,8 @@ void givenSendNoEndpointDataReferenceException_whenHandleSendingInvestigation_th Discovery discovery = Discovery.builder().senderUrl(edcSenderUrl).receiverUrls(List.of(edcReceiverUrl)).build(); when(discoveryService.getDiscoveryByBPN(bpn)).thenReturn(discovery); NotificationMessage notification = NotificationMessage.builder() - .sendTo(bpn) + .sentTo(bpn) .type(NotificationType.INVESTIGATION) - .targetDate(Instant.now()) - .severity(NotificationSeverity.MINOR) .build(); doThrow(new NoEndpointDataReferenceException("message")).when(edcFacade).startEdcTransfer(notification, edcReceiverUrl, edcSenderUrl); @@ -192,10 +182,8 @@ void givenContractNegotiationException_whenHandleSendingInvestigation_thenHandle Discovery discovery = Discovery.builder().senderUrl(edcSenderUrl).receiverUrls(List.of(edcReceiverUrl)).build(); when(discoveryService.getDiscoveryByBPN(bpn)).thenReturn(discovery); NotificationMessage notification = NotificationMessage.builder() - .sendTo(bpn) + .sentTo(bpn) .type(NotificationType.INVESTIGATION) - .targetDate(Instant.now()) - .severity(NotificationSeverity.MINOR) .build(); doThrow(new ContractNegotiationException("message")).when(edcFacade).startEdcTransfer(notification, edcReceiverUrl, edcSenderUrl); @@ -217,10 +205,8 @@ void givenNoCatalogItemException_whenHandleSendingAlert_thenHandleIt() { Discovery discovery = Discovery.builder().senderUrl(edcSenderUrl).receiverUrls(List.of(edcReceiverUrl)).build(); when(discoveryService.getDiscoveryByBPN(bpn)).thenReturn(discovery); NotificationMessage notification = NotificationMessage.builder() - .sendTo(bpn) + .sentTo(bpn) .type(NotificationType.ALERT) - .targetDate(Instant.now()) - .severity(NotificationSeverity.MINOR) .build(); doThrow(new NoCatalogItemException()).when(edcFacade).startEdcTransfer(notification, edcReceiverUrl, edcSenderUrl); @@ -242,10 +228,8 @@ void givenSendNotificationException_whenHandleSendingAlert_thenHandleIt() { when(discoveryService.getDiscoveryByBPN(bpn)).thenReturn(discovery); NotificationMessage notification = NotificationMessage.builder() - .sendTo(bpn) + .sentTo(bpn) .type(NotificationType.ALERT) - .targetDate(Instant.now()) - .severity(NotificationSeverity.MINOR) .build(); doThrow(new SendNotificationException("message", new RuntimeException())).when(edcFacade).startEdcTransfer(notification, edcReceiverUrl, edcSenderUrl); @@ -267,10 +251,8 @@ void givenSendNoEndpointDataReferenceException_whenHandleSendingAlert_thenHandle Discovery discovery = Discovery.builder().senderUrl(edcSenderUrl).receiverUrls(List.of(edcReceiverUrl)).build(); when(discoveryService.getDiscoveryByBPN(bpn)).thenReturn(discovery); NotificationMessage notification = NotificationMessage.builder() - .sendTo(bpn) + .sentTo(bpn) .type(NotificationType.ALERT) - .targetDate(Instant.now()) - .severity(NotificationSeverity.MINOR) .build(); doThrow(new NoEndpointDataReferenceException("message")).when(edcFacade).startEdcTransfer(notification, edcReceiverUrl, edcSenderUrl); @@ -291,10 +273,8 @@ void givenContractNegotiationException_whenHandleSendingAlert_thenHandleIt() { Discovery discovery = Discovery.builder().senderUrl(edcSenderUrl).receiverUrls(List.of(edcReceiverUrl)).build(); when(discoveryService.getDiscoveryByBPN(bpn)).thenReturn(discovery); NotificationMessage notification = NotificationMessage.builder() - .sendTo(bpn) + .sentTo(bpn) .type(NotificationType.ALERT) - .targetDate(Instant.now()) - .severity(NotificationSeverity.MINOR) .build(); doThrow(new ContractNegotiationException("message")).when(edcFacade).startEdcTransfer(notification, edcReceiverUrl, edcSenderUrl); diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/service/InvestigationsReceiverServiceTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/service/InvestigationsReceiverServiceTest.java index 849414d7ea..dbc0c917e7 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/service/InvestigationsReceiverServiceTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/service/InvestigationsReceiverServiceTest.java @@ -78,28 +78,27 @@ void testhandleReceiveValidSentNotification() { NotificationMessage notification = NotificationMessage.builder() .id("123") .notificationReferenceId("id123") - .createdBy("senderBPN") - .createdByName("senderManufacturerName") - .sendTo("recipientBPN") + .sentBy("senderBPN") + .sentByName("senderManufacturerName") + .sentTo("recipientBPN") .sendToName("receiverManufacturerName") .contractAgreementId("agreement") - .description("123") + .message("123") .notificationStatus(NotificationStatus.SENT) .affectedParts(affectedParts) - .severity(NotificationSeverity.MINOR) .edcNotificationId("123") .type(notificationType) - .targetDate(Instant.now()) .messageId("messageId") .build(); + Notification investigationTestData = InvestigationTestDataFactory.createInvestigationTestData(NotificationStatus.RECEIVED, "recipientBPN"); NotificationMessage notificationTestData = NotificationTestDataFactory.createNotificationTestData(); EDCNotification edcNotification = EDCNotificationFactory.createEdcNotification( - "it", notification); + "it", notification, investigationTestData); - when(mockNotificationMessageMapper.toNotification(edcNotification, notificationType)).thenReturn(notificationTestData); + when(mockNotificationMessageMapper.toNotificationMessage(edcNotification, notificationType)).thenReturn(notificationTestData); when(mockNotificationMapper.toNotification(any(BPN.class), anyString(), any(NotificationMessage.class), any(NotificationType.class))).thenReturn(investigationTestData); // When @@ -119,18 +118,16 @@ void testHandleNotificationUpdateValidAcknowledgeNotificationTransition() { NotificationMessage notification = NotificationMessage.builder() .id("123") .notificationReferenceId("id123") - .createdBy("senderBPN") - .createdByName("senderManufacturerName") - .sendTo("recipientBPN") + .sentBy("senderBPN") + .sentByName("senderManufacturerName") + .sentTo("recipientBPN") .sendToName("receiverManufacturerName") .contractAgreementId("agreement") - .description("123") + .message("123") .notificationStatus(NotificationStatus.ACKNOWLEDGED) .affectedParts(affectedParts) .type(notificationType) - .severity(NotificationSeverity.MINOR) .edcNotificationId("123") - .targetDate(Instant.now()) .messageId("messageId") .build(); @@ -138,9 +135,9 @@ void testHandleNotificationUpdateValidAcknowledgeNotificationTransition() { Notification investigationTestData = InvestigationTestDataFactory.createInvestigationTestData(NotificationStatus.RECEIVED, "recipientBPN"); NotificationMessage notificationTestData = NotificationTestDataFactory.createNotificationTestData(); EDCNotification edcNotification = EDCNotificationFactory.createEdcNotification( - "it", notification); + "it", notification, investigationTestData); - when(mockNotificationMessageMapper.toNotification(edcNotification, notificationType)).thenReturn(notificationTestData); + when(mockNotificationMessageMapper.toNotificationMessage(edcNotification, notificationType)).thenReturn(notificationTestData); when(notificationRepository.findByEdcNotificationId(edcNotification.getNotificationId())).thenReturn(Optional.of(investigationTestData)); // When @@ -159,27 +156,25 @@ void testhandleUpdateValidDeclineNotificationTransition() { NotificationMessage notification = NotificationMessage.builder() .id("123") .notificationReferenceId("id123") - .createdBy("senderBPN") - .createdByName("senderManufacturerName") - .sendTo("recipientBPN") + .sentBy("senderBPN") + .sentByName("senderManufacturerName") + .sentTo("recipientBPN") .sendToName("receiverManufacturerName") .contractAgreementId("agreement") - .description("123") + .message("123") .notificationStatus(NotificationStatus.DECLINED) .affectedParts(affectedParts) - .severity(NotificationSeverity.MINOR) .edcNotificationId("123") .type(notificationType) - .targetDate(Instant.now()) .messageId("messageId") .build(); Notification investigationTestData = InvestigationTestDataFactory.createInvestigationTestData(NotificationStatus.ACKNOWLEDGED, "recipientBPN"); NotificationMessage notificationTestData = NotificationTestDataFactory.createNotificationTestData(); EDCNotification edcNotification = EDCNotificationFactory.createEdcNotification( - "it", notification); + "it", notification, investigationTestData); - when(mockNotificationMessageMapper.toNotification(edcNotification, notificationType)).thenReturn(notificationTestData); + when(mockNotificationMessageMapper.toNotificationMessage(edcNotification, notificationType)).thenReturn(notificationTestData); when(notificationRepository.findByEdcNotificationId(edcNotification.getNotificationId())).thenReturn(Optional.of(investigationTestData)); // When @@ -198,27 +193,25 @@ void testhandleUpdateValidAcceptedNotificationTransition() { NotificationMessage notification = NotificationMessage.builder() .id("123") .notificationReferenceId("id123") - .createdBy("senderBPN") - .createdByName("senderManufacturerName") - .sendTo("recipientBPN") + .sentBy("senderBPN") + .sentByName("senderManufacturerName") + .sentTo("recipientBPN") .sendToName("receiverManufacturerName") .contractAgreementId("agreement") - .description("123") + .message("123") .notificationStatus(NotificationStatus.ACCEPTED) .affectedParts(affectedParts) - .severity(NotificationSeverity.MINOR) .edcNotificationId("123") .type(notificationType) - .targetDate(Instant.now()) .messageId("messageId") .build(); Notification investigationTestData = InvestigationTestDataFactory.createInvestigationTestData(NotificationStatus.ACKNOWLEDGED, "recipientBPN"); NotificationMessage notificationTestData = NotificationTestDataFactory.createNotificationTestData(); EDCNotification edcNotification = EDCNotificationFactory.createEdcNotification( - "it", notification); + "it", notification, investigationTestData); - when(mockNotificationMessageMapper.toNotification(edcNotification, notificationType)).thenReturn(notificationTestData); + when(mockNotificationMessageMapper.toNotificationMessage(edcNotification, notificationType)).thenReturn(notificationTestData); when(notificationRepository.findByEdcNotificationId(edcNotification.getNotificationId())).thenReturn(Optional.of(investigationTestData)); // When @@ -237,27 +230,25 @@ void testhandleUpdateValidCloseNotificationTransition() { NotificationMessage notification = NotificationMessage.builder() .id("123") .notificationReferenceId("id123") - .createdBy("senderBPN") - .createdByName("senderManufacturerName") - .sendTo("recipientBPN") + .sentBy("senderBPN") + .sentByName("senderManufacturerName") + .sentTo("recipientBPN") .sendToName("receiverManufacturerName") .contractAgreementId("agreement") - .description("123") + .message("123") .notificationStatus(NotificationStatus.CLOSED) .affectedParts(affectedParts) - .severity(NotificationSeverity.MINOR) .edcNotificationId("123") .type(notificationType) - .targetDate(Instant.now()) .messageId("messageId") .build(); Notification investigationTestData = InvestigationTestDataFactory.createInvestigationTestData(NotificationStatus.ACKNOWLEDGED, "senderBPN"); NotificationMessage notificationTestData = NotificationTestDataFactory.createNotificationTestData(); EDCNotification edcNotification = EDCNotificationFactory.createEdcNotification( - "it", notification); + "it", notification, investigationTestData); - when(mockNotificationMessageMapper.toNotification(edcNotification, notificationType)).thenReturn(notificationTestData); + when(mockNotificationMessageMapper.toNotificationMessage(edcNotification, notificationType)).thenReturn(notificationTestData); when(notificationRepository.findByEdcNotificationId(edcNotification.getNotificationId())).thenReturn(Optional.of(investigationTestData)); // When diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/service/NotificationPublisherServiceTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/service/NotificationPublisherServiceTest.java index 4919be1bba..7429a043ea 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/service/NotificationPublisherServiceTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/notification/domain/service/NotificationPublisherServiceTest.java @@ -111,8 +111,6 @@ void testStartInvestigationSuccessful() { assertThat(result.getNotificationStatus()).isEqualTo(NotificationStatus.CREATED); assertThat(result.getDescription()).isEqualTo(description); assertThat(result.getNotificationSide()).isEqualTo(NotificationSide.SENDER); - assertThat(result.getNotifications()).extracting("severity") - .containsExactly(NotificationSeverity.MINOR); verify(assetRepository).getAssetsById(Arrays.asList("asset-1", "asset-2")); } @@ -142,11 +140,9 @@ void testStartAlertSuccessful() { assertThat(result.getNotificationStatus()).isEqualTo(NotificationStatus.CREATED); assertThat(result.getDescription()).isEqualTo(description); assertThat(result.getNotificationSide()).isEqualTo(NotificationSide.SENDER); - assertThat(result.getNotifications()).extracting("severity") - .containsExactly(NotificationSeverity.MINOR); assertThat(result.getNotifications()).hasSize(1) .first() - .hasFieldOrPropertyWithValue("sendTo", receiverBpn); + .hasFieldOrPropertyWithValue("sentTo", receiverBpn); verify(assetRepository).getAssetsById(Arrays.asList("asset-1", "asset-2")); } @@ -208,7 +204,6 @@ void testUpdateInvestigation() { .id("123") .notificationReferenceId("id123") .created(LocalDateTime.now()) - .targetDate(Instant.now()) .notificationStatus(NotificationStatus.CREATED) .affectedParts(affectedParts) .build(); @@ -217,7 +212,6 @@ void testUpdateInvestigation() { .id("456") .notificationReferenceId("id123") .created(LocalDateTime.now().plusSeconds(10)) - .targetDate(Instant.now()) .notificationStatus(NotificationStatus.ACKNOWLEDGED) .build(); @@ -234,9 +228,7 @@ void testUpdateInvestigation() { // Then assertThat(result.getNotificationStatus()).isEqualTo(NotificationStatus.ACKNOWLEDGED); - assertThat(result.getDeclineReason()).isNull(); - assertThat(result.getCloseReason()).isNull(); - assertThat(result.getDeclineReason()).isNull(); + Mockito.verify(notificationsService, times(1)).asyncNotificationMessageExecutor(any(NotificationMessage.class)); } @@ -254,7 +246,6 @@ void testUpdateInvestigationAccepted() { .id("123") .notificationReferenceId("id123") .created(LocalDateTime.now()) - .targetDate(Instant.now()) .notificationStatus(NotificationStatus.CREATED) .affectedParts(affectedParts) .build(); @@ -263,7 +254,6 @@ void testUpdateInvestigationAccepted() { .id("456") .notificationReferenceId("id123") .created(LocalDateTime.now().plusSeconds(10)) - .targetDate(Instant.now()) .notificationStatus(NotificationStatus.ACCEPTED) .affectedParts(affectedParts) .build(); @@ -281,7 +271,6 @@ void testUpdateInvestigationAccepted() { // Then assertThat(result.getNotificationStatus()).isEqualTo(NotificationStatus.ACCEPTED); - assertThat(result.getAcceptReason()).isEqualTo(reason); Mockito.verify(notificationsService, times(1)).asyncNotificationMessageExecutor(any(NotificationMessage.class)); } @@ -299,7 +288,6 @@ void testUpdateInvestigationDeclined() { .id("123") .notificationReferenceId("id123") .created(LocalDateTime.now()) - .targetDate(Instant.now()) .notificationStatus(NotificationStatus.ACKNOWLEDGED) .affectedParts(affectedParts) .build(); @@ -310,7 +298,6 @@ void testUpdateInvestigationDeclined() { .notificationStatus(NotificationStatus.DECLINED) .affectedParts(affectedParts) .created(LocalDateTime.now().plusSeconds(10)) - .targetDate(Instant.now()) .build(); List notifications = new ArrayList<>(); @@ -326,7 +313,6 @@ void testUpdateInvestigationDeclined() { // Then assertThat(result.getNotificationStatus()).isEqualTo(NotificationStatus.DECLINED); - assertThat(result.getDeclineReason()).isEqualTo(reason); Mockito.verify(notificationsService, times(1)).asyncNotificationMessageExecutor(any(NotificationMessage.class)); } @@ -369,7 +355,6 @@ void testUpdateInvestigationClose() { // Then assertThat(result.getNotificationStatus()).isEqualTo(NotificationStatus.CLOSED); - assertThat(result.getCloseReason()).isEqualTo(reason); Mockito.verify(notificationsService, times(1)).asyncNotificationMessageExecutor(any(NotificationMessage.class)); } diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/testdata/InvestigationTestDataFactory.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/testdata/InvestigationTestDataFactory.java index 6e4e8b6c8e..d3233de82e 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/testdata/InvestigationTestDataFactory.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/testdata/InvestigationTestDataFactory.java @@ -45,16 +45,14 @@ public static Notification createInvestigationTestData(NotificationStatus invest NotificationMessage notification = NotificationMessage.builder() .id("1") .notificationReferenceId("notificationId") - .createdBy("senderBPN") - .createdByName("senderManufacturerName") - .sendTo("recipientBPN") + .sentBy("senderBPN") + .sentByName("senderManufacturerName") + .sentTo("recipientBPN") .sendToName("receiverManufacturerName") .contractAgreementId("agreement") - .description(description) + .message(description) .notificationStatus(investigationStatus) .affectedParts(List.of(new NotificationAffectedPart("part123"))) - .targetDate(Instant.now()) - .severity(NotificationSeverity.MINOR) .edcNotificationId("1") .messageId("messageId") .build(); @@ -67,6 +65,7 @@ public static Notification createInvestigationTestData(NotificationStatus invest .notificationSide(investigationSide) .description(description) .notificationType(NotificationType.INVESTIGATION) + .severity(NotificationSeverity.MINOR) .createdAt(createdAt) .affectedPartIds(assetIds) .notifications(notifications) @@ -105,16 +104,15 @@ public static Notification createInvestigationTestData(NotificationStatus invest NotificationMessage notification = NotificationMessage.builder() .id("1") .notificationReferenceId("notificationId") - .createdBy("senderBPN") - .createdByName("senderManufacturerName") - .sendTo("recipientBPN") + .sentBy("senderBPN") + .sentByName("senderManufacturerName") + .sentTo("recipientBPN") .sendToName("receiverManufacturerName") .contractAgreementId("agreement") - .description(description) + .message(description) .notificationStatus(notificationInvestigationStatus) .type(NotificationType.INVESTIGATION) .affectedParts(List.of(new NotificationAffectedPart("part123"))) - .severity(NotificationSeverity.MINOR) .edcNotificationId("123") .messageId("messageId") .build(); @@ -122,16 +120,15 @@ public static Notification createInvestigationTestData(NotificationStatus invest NotificationMessage notification2 = NotificationMessage.builder() .id("1") .notificationReferenceId("notificationId") - .createdBy("senderBPN") - .createdByName("senderManufacturerName") - .sendTo("recipientBPN") + .sentBy("senderBPN") + .sentByName("senderManufacturerName") + .sentTo("recipientBPN") .sendToName("receiverManufacturerName") .contractAgreementId("agreement") - .description(description) + .message(description) .notificationStatus(NotificationStatus.SENT) .type(NotificationType.INVESTIGATION) .affectedParts(List.of(new NotificationAffectedPart("part123"))) - .severity(NotificationSeverity.MINOR) .edcNotificationId("123") .messageId("messageId") .build(); @@ -146,6 +143,7 @@ public static Notification createInvestigationTestData(NotificationStatus invest .notificationSide(investigationSide) .description(description) .createdAt(createdAt) + .severity(NotificationSeverity.MINOR) .notificationType(NotificationType.INVESTIGATION) .affectedPartIds(assetIds) .notifications(notifications) @@ -163,15 +161,14 @@ public static Notification createInvestigationTestData(NotificationSide investig NotificationMessage notification = NotificationMessage.builder() .id("1") .notificationReferenceId("notificationId") - .createdBy("senderBPN") - .createdByName("senderManufacturerName") - .sendTo("recipientBPN") + .sentBy("senderBPN") + .sentByName("senderManufacturerName") + .sentTo("recipientBPN") .sendToName("receiverManufacturerName") .contractAgreementId("agreement") - .description(description) + .message(description) .notificationStatus(NotificationStatus.ACKNOWLEDGED) .affectedParts(List.of(new NotificationAffectedPart("part123"))) - .severity(NotificationSeverity.MINOR) .edcNotificationId("123") .messageId("messageId") .build(); diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/testdata/NotificationTestDataFactory.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/testdata/NotificationTestDataFactory.java index 9c5c9c6085..5c288727b4 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/testdata/NotificationTestDataFactory.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/testdata/NotificationTestDataFactory.java @@ -36,18 +36,16 @@ public static NotificationMessage createNotificationTestData() { return NotificationMessage.builder() .id("123") .notificationReferenceId("id123") - .createdBy("senderBPN") - .createdByName("senderManufacturerName") - .sendTo("recipientBPN") + .sentBy("senderBPN") + .sentByName("senderManufacturerName") + .sentTo("recipientBPN") .sendToName("receiverManufacturerName") .contractAgreementId("agreement") - .description("123") + .message("123") .notificationStatus(NotificationStatus.ACKNOWLEDGED) .affectedParts(affectedParts) .type(NotificationType.INVESTIGATION) - .severity(NotificationSeverity.MINOR) .edcNotificationId("123") - .targetDate(Instant.parse("2022-03-01T12:00:00Z")) .messageId("messageId") .build(); } @@ -58,17 +56,15 @@ public static NotificationMessage createNotificationTestData(NotificationType no return NotificationMessage.builder() .id("123") .notificationReferenceId("id123") - .createdBy("senderBPN") - .createdByName("senderManufacturerName") - .sendTo("recipientBPN") + .sentBy("senderBPN") + .sentByName("senderManufacturerName") + .sentTo("recipientBPN") .sendToName("receiverManufacturerName") .contractAgreementId("agreement") - .description("123") + .message("123") .notificationStatus(NotificationStatus.ACKNOWLEDGED) .affectedParts(affectedParts) - .severity(NotificationSeverity.MINOR) .edcNotificationId("123") - .targetDate(Instant.parse("2022-03-01T12:00:00Z")) .messageId("messageId") .type(notificationType) .build(); diff --git a/tx-models/src/main/java/notification/response/NotificationMessageResponse.java b/tx-models/src/main/java/notification/response/NotificationMessageResponse.java index 8d0349e7e7..4137d57cec 100644 --- a/tx-models/src/main/java/notification/response/NotificationMessageResponse.java +++ b/tx-models/src/main/java/notification/response/NotificationMessageResponse.java @@ -27,8 +27,9 @@ import lombok.Data; import lombok.RequiredArgsConstructor; -import java.time.Instant; import java.time.LocalDateTime; +import java.time.OffsetDateTime; + @Data @Builder @AllArgsConstructor @@ -36,22 +37,20 @@ public class NotificationMessageResponse { private String id; - private String createdBy; - private String createdByName; + private String sentBy; + private String sentByName; private String sendTo; private String sendToName; private String contractAgreementId; private String notificationReferenceId; - private Instant targetDate; - @Enumerated(EnumType.STRING) - private NotificationSeverityResponse severity; + private String edcNotificationId; - private LocalDateTime created; - private LocalDateTime updated; + private OffsetDateTime messageDate; private String messageId; @Enumerated(EnumType.STRING) private NotificationStatusResponse status; @Schema(example = "EDC not reachable", maxLength = 255) @Size(max = 255) private String errorMessage; + private String message; } diff --git a/tx-models/src/main/java/notification/response/NotificationReasonResponse.java b/tx-models/src/main/java/notification/response/NotificationReasonResponse.java deleted file mode 100644 index c1fc2a6e3b..0000000000 --- a/tx-models/src/main/java/notification/response/NotificationReasonResponse.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2022, 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - * Copyright (c) 2022, 2023 ZF Friedrichshafen AG - * Copyright (c) 2022, 2023 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -package notification.response; - - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; - - -public record NotificationReasonResponse( - @Schema(example = "description of closing reason", maxLength = 1000) - @Size(max = 1000) - String close, - - @Schema(example = "description of accepting reason", maxLength = 1000) - @Size(max = 1000) - String accept, - - @Schema(example = "description of declining reason", maxLength = 1000) - @Size(max = 1000) - String decline) { -} diff --git a/tx-models/src/main/java/notification/response/NotificationResponse.java b/tx-models/src/main/java/notification/response/NotificationResponse.java index e4a3ceab87..1be18a684b 100644 --- a/tx-models/src/main/java/notification/response/NotificationResponse.java +++ b/tx-models/src/main/java/notification/response/NotificationResponse.java @@ -65,6 +65,9 @@ public class NotificationResponse { @Size(max = 50) private String createdDate; + @Schema(example = "2023-02-21T21:27:10.734950Z", maxLength = 50) + @Size(max = 50) + private String updatedDate; @Size(max = 1000) @Schema(name = "assetIds", type = "array", example = "[\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70528fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70529fcbd\",\"urn:uuid:ceb6b964-5779-49c1-b5e9-0ee70530fcbd\"]") @@ -74,8 +77,6 @@ public class NotificationResponse { @Size(max = 255) private NotificationSideResponse channel; - private NotificationReasonResponse reason; - @Schema(example = "BPNL00000003AYRE", maxLength = 255) @Size(max = 255) private String sendTo; @@ -100,7 +101,7 @@ public class NotificationResponse { public Optional latestNotification() { - return messages.stream().max(Comparator.comparing(NotificationMessageResponse::getCreated)).stream().findFirst(); + return messages.stream().max(Comparator.comparing(NotificationMessageResponse::getMessageDate)).stream().findFirst(); } } diff --git a/tx-models/src/main/java/notification/response/NotificationSeverityResponse.java b/tx-models/src/main/java/notification/response/NotificationSeverityResponse.java index aadcf28801..2798f017e8 100644 --- a/tx-models/src/main/java/notification/response/NotificationSeverityResponse.java +++ b/tx-models/src/main/java/notification/response/NotificationSeverityResponse.java @@ -42,7 +42,7 @@ public static NotificationSeverityResponse fromString(String str) { return s; } } - throw new IllegalArgumentException("No enum constant " + NotificationSeverityResponse.class.getCanonicalName() + "." + str); + return null; } @JsonValue